]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-6
fixed a bunch of notifications, added reference counts around emissions
[~andy/gtk] / ChangeLog.pre-2-6
1 Sun Apr  1 03:28:14 2001  Tim Janik  <timj@gtk.org>
2
3         * gtk/gtkwidget.c: fixed a bunch of notifications, added
4         reference counts around emissions where the widget is used afterwards.
5         added freeze/thaws around multiple properties being notified.
6         (_gtk_widget_get_aux_info): cleanups.
7         
8         * gtk/gtksettings.c (gtk_settings_install_property): provide
9         default parsing functions for gdkcolor, enums and flags.
10
11         * gtk/gtkwindow.[hc]: partially reverted patch from havoc,
12         applied by owen.
13         kept a flag in GtkWindowGeometryInfo to handle user
14         resetting default sizes.
15         cleaned up ZVT comments.
16         bunch of assorted bug fixes, notification fixes.
17         (_gtk_window_reposition): make this a really internal function.
18         
19         * gtk/testgtk.c: fixups.
20         
21 2001-03-31  Hans Breuer  <hans@breuer.org>
22
23         * config.h.win32.in : disable USE_MMX for msvc build cause
24         the assembler doesn't fit and is out of my scope. Disable
25         USE_GMODULE for msvc build as wel. The right way to share
26         binaries on win32 would be to use libtiff.dll etc. To reduce
27         installation hassles IMO it's better to include all fileformats
28         builtin to gdk-pixbuf
29
30         * gdk-pixbuf/makefile.msc : new file
31
32         * gdk/gdk.def : updated
33
34         * gdk/win32/gdkevents-win32.c : don't erase the background if
35         .no_bg is set. It improves the scrolling (e.g. of testgtk main
36         buttons
37         * gdk/win32/gdkgeometry-win32.c : added comment about the above
38
39         * gdk/win32/gdkwindow-win32.c : added three new functions like
40         the X version. Only one is implemented, because the other two
41         "gdk_window_begin_(resize|move)_drag" got no docs and appear to
42         be default behaviour on win32 anyway ...
43
44         * gtk/gtk.def : updated
45
46         * gtk/makefile.msc.in : update for new files, use glib-genmarshal
47         from where it was built and add an additional rule to automagically
48         build gtkmarshal.[hc]
49
50         * gtk/gtkfilesel.c (open_new_dir) : don't increase n_entries
51         before array access for the current entry isn't finished
52
53         * gtk/gtktreeitem.c (gtk_tree_item_subtree_button_click) :
54         use g_return_val_if_fail
55
56         * gtk/testgtk.c (window_controls) : don't use the *wrong* size
57         for the static array, but let the compiler calculate it. It
58         makes me wonder if gcc isn't capable to catch bugs like this ...
59
60 2001-03-31  James Henstridge  <james@daa.com.au>
61
62         * gtk/gtkwidget.c (gtk_widget_size_adjust): fix use of magic
63         constant "-1" in the aux info structure.
64
65 2001-03-30  Alexander Larsson  <alexl@redhat.com>
66
67         * gtk/gtkbutton.c (gtk_button_get_property):
68         * gtk/gtklabel.c:
69         Remove leaks.
70         
71         * gtk/gtkcontainer.c:
72         * gtk/gtkhscale.c:
73         * gtk/gtkhscrollbar.c:
74         * gtk/gtklayout.c:
75         * gtk/gtkmisc.c:
76         * gtk/gtkprogress.c:
77         * gtk/gtkprogressbar.c:
78         * gtk/gtkrange.c:
79         * gtk/gtktable.c:
80         * gtk/gtkviewport.c:
81         * gtk/gtkvscale.c:
82         * gtk/gtkvscrollbar.c:
83         * gtk/gtkwidget.c:
84         Property patches, based on patches from John Margaglione and Lee Mallabone.
85
86 Thu Mar 29 21:20:38 2001  Mike Kestner  <mkestner@ameritech.net>
87
88         * gtk/gtkspinbutton.c : added value_changed signal which proxies for the
89         adjustment. Cleaned redundant preconditions (spin != NULL). Added
90         inline API function docs.
91         (gtk_spin_button_new_with_range): New convenience constructor.
92         (gtk_spin_button_set_increments): New adjustment helper.
93         (gtk_spin_button_set_range): New adjustment helper.
94
95         * gtk/testgtk.c : added test of the new convenince constructor and
96         value_changed signals.
97
98 Thu Mar 29 20:20:38 2001  Jonathan Blandford  <jrb@redhat.com>
99
100         * gtk/gtktreemodel.c (gtk_tree_row_ref_reordered_callback): Now we
101         listen to the reorder signal.
102
103 Wed Mar 28 20:30:26 2001  Owen Taylor  <otaylor@redhat.com>
104
105         * gtk/gtkwidget.[ch] (_gtk_widget_get_aux_info): Add private function
106         to get the aux info structure fo the widget.
107
108         * gtk/gtklabel.c gtk/gtkscrolledwindow.c gtk/gtkwindow.c: Use
109         above function.
110
111         [ Patch from  Havoc Pennington  <hp@redhat.com> ]
112
113         * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): function
114         to get the size of the window manager frame, basically the same
115         code that gdk_window_get_root_origin() had
116         (gdk_window_get_root_origin): use gdk_window_get_frame_extents()
117
118         * gtk/gtkwindow.c (gtk_window_set_default_size): use
119         gdk_window_resize() if the window is realized and resizeable
120
121         * gdk/x11/gdkwindow-x11.c (gdk_window_set_geometry_hints): fix
122         typo so that setting gravity works
123
124         * gtk/gtkwindow.c (gtk_window_move_resize): don't ever use
125         allocation if auto_shrink is on, even if the default size
126         has not changed.
127
128         * gtk/gtkwidget.c (gtk_widget_render_icon): remove bogus
129         g_return_if_fail
130
131 Thu Mar 29 16:29:12 2001  Jonathan Blandford  <jrb@webwynk.net>
132
133         * gtk/gtkliststore.c (gtk_list_store_iter_changed): Massive
134         reordering/sorting work.  Now pretty much works.
135
136         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): Lots of work to make
137         reorder mostly work.  Still need to get the parity correct.
138
139         * gtk/gtktreeviewcolumn.c: Listen for "model" property changed
140         signal, so I can listen for the sort_column_changed signal so I
141         can change my "sort_indicator" property.  Cool.
142
143 Wed Mar 28 00:03:10 2001  Owen Taylor  <otaylor@redhat.com>
144
145         [ Patch from Havoc Pennington, hp@redhat.com ]
146
147         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c:
148         Add functions gdk_window_begin_resize_drag/begin_move_drag
149         to start resizing or moving a toplevel window. This
150         is done either using the _NET_WM_MOVERESIZE protocol,
151         or, if that isn't present, by emulation.
152
153         * gtk/gtkwindow.[ch]: Add functions gtk_begin_move/resize_drag
154         to export the above to GTK+-land.
155
156         * gtk/gtkstyle.[ch]: Add ->draw_resize_grip() paint func.
157         
158         * gtk/gtkwindow.c gdk/gdkwindow.[ch] (gdk_window_constrain_size):
159         Move this function into gdkwindow, since we need it
160         when implementing fallback resizing.
161
162         * gdk/x11/gdkwindow-x11.c: gdk_window_set_geometry_hints.
163         Fix typo when setting gravity.
164
165         * gtk/gtkstatusbar.[ch] (gtk_statusbar_set_has_resize_grip):
166         Add an optional (but on by default) resize grip for resizing 
167         the parent window.
168
169 01-03-29  Alexander Larsson  <alexl@redhat.com>
170
171         * gtk/gtktooltips.c (gtk_tooltips_event_handler):
172         Don't return TRUE from the event handler, that blocks all
173         event signals on the tooltip widget. Now you can press buttons
174         in toolbars again.
175
176 Wed Mar 28 19:20:43 2001  Owen Taylor  <otaylor@redhat.com>
177
178         * gtk/testtext.c (create_buffer): Add missing NULL on
179         valist.
180
181         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Fix
182         c-n-p problem with INCONSISTENT property.
183
184         [ Patch from Havoc Pennington  <hp@redhat.com> ]
185
186         * gtk/gtkentry.h (struct _GtkEntryClass): add same populate_popup
187         hook.
188
189         * gtk/gtktextview.h (struct _GtkTextViewClass): add populate_popup
190         signal as a hook for extending the default popup menu
191
192         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
193         use radio menu items for the input method menuitems
194
195         * gtk/gtkimcontextsimple.c (check_hex): do better validation of 
196         inserted unicode from Ctrl-Shift-hex input method
197
198         * gtk/gtktextbtree.c (_gtk_text_btree_insert): remove utf8
199         validatation here, already done at GtkTextBuffer level.
200
201         * gtk/gtkwidget.c (gtk_widget_class_init): add binding set, add
202         popup_menu run action signal and Shift+F10 and Menu keybindings.
203
204         * gtk/gtkentry.c: implement a default handler for popup_menu
205
206         * gtk/gtktextview.c: implement a default handler for popup_menu
207
208         * gtk/gtkmenu.c (gtk_menu_popup): select first item if popup is
209         from a key event
210         
211         * gtk/gtklabel.c: remove "trailer" cruft
212
213 Wed Mar 28 17:27:12 2001  Jonathan Blandford  <jrb@redhat.com>
214
215         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): new function to
216         handle reordering of trees.  Seems to mostly work w/ the exception
217         of the parity flag.
218
219         * gtk/gtktreeview.c (gtk_tree_view_reordered): handle "reordered"
220         signal.
221
222 Wed Mar 28 21:12:37 2001  Tim Janik  <timj@gtk.org>
223
224         * gtk/gtkwidget.h: c++ fixes.
225
226 Sun Mar 25 15:51:28 2001  Owen Taylor  <otaylor@redhat.com>
227
228         * gtk/gtksettings.c (gtk_settings_init): Fix use of uninitialized
229         memory.
230
231 Tue Mar 27 22:36:07 2001  Owen Taylor  <otaylor@redhat.com>
232
233         * gtk/gtkwidget.h gtk/gtkrange.h: Apply patch from 
234         Nils Barth fixing event return values. (#51041)
235
236         * gtk/gtkwidget.c: Fix some return values for default
237         functions.
238
239         * gtk/gtk[vh]scrollbar.c gtk/gtk[vh]range.c: Fix
240         return values for trough_keys functions.
241
242         * gtk/gtkwidget.h (struct _GtkWidgetClass): Fix return
243         value for add_accelerator (shoudl have been a void
244         return.)
245
246         * gtk/gtkcellrenderer.[ch]: gtkcellrenderertoggle.h:
247         Fix return type of EVENT.
248
249         * gtk/gtkmarshal.list gtk/gtktexttag.c: Make EVENT
250         signal return a boolean.
251
252 Tue Mar 27 22:07:44 2001  Jonathan Blandford  <jrb@webwynk.net>
253
254         * gtk/gtkliststore.c (gtk_list_store_sort): Fix arguments to
255         reordered signal.
256
257         * tests/testtreesort.c (main): fix spelling.
258
259 Tue Mar 27 20:55:29 2001  Jonathan Blandford  <jrb@redhat.com>
260
261         * gtk/gtkliststore.c: More work on implementing sortable
262         interface.
263
264 Mon Mar 26 15:48:45 2001  Owen Taylor  <otaylor@redhat.com>
265
266         * gtk/gtkwindow.c (gtk_window_list_toplevels): Don't
267         reference the widgets in the resulting list. (#11821)
268         This makes this consistent with gtk_container_children.
269
270         * gtk/gtkwindow.c gtk/gtkwidget.c: Fix up the two
271         uses of gtk_window_list_toplevels.
272
273 Mon Mar 26 15:26:17 2001  Owen Taylor  <otaylor@redhat.com>
274
275         * gtk/gtkimcontext.c (gtk_im_context_set_use_preedit): Add
276         a virtual function to set whether the IM context should use 
277         the preedit string. (#51922)
278         
279 Mon Mar 26 14:42:59 2001  Owen Taylor  <otaylor@redhat.com>
280
281         * gdk/gdkpango.h: Remove stale FIXME comment.
282
283 2001-03-26  Alexander Larsson  <alla@lysator.liu.se>
284
285         * gtk/gtkfilesel.c (gtk_file_selection_get_filename):
286         Fixed bug that returned NULL if a filename was selected.
287
288 2001-03-24  Havoc Pennington  <hp@pobox.com>
289
290         * gtk/gtkthemes.c (gtk_theme_engine_load): improve error message
291         to contain the word "theme"
292
293 2001-03-24  Havoc Pennington  <hp@pobox.com>
294
295         * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much
296         slower but finer-grained
297         (gtk_hsv_focus): get initial focus on the ring or triangle 
298         according to tab direction
299
300         * gtk/testgtk.c (main): get rid of weird sleep(1) on exit
301
302 2001-03-23  Havoc Pennington  <hp@pobox.com>
303
304         * gtk/gtkhsv.c: make this somewhat key-navigable
305
306         * gtk/gtkfontsel.c: mnemonics
307
308         * gtk/gtkgamma.c: mnemonics
309
310         * gtk/gtkcolorsel.c: add mnemonics to labels
311
312 2001-03-22  Havoc Pennington  <hp@pobox.com>
313
314         Applied big patch from Seth Lytle to fix event handler return
315         values, slightly modified.
316
317         * gtk/gtkcalendar.c (gtk_calendar_button_press): return TRUE if
318         handled.
319         (gtk_calendar_key_press): return TRUE for GDK_space triggers
320         select_day
321
322         * gtk/gtkclist.c (gtk_clist_button_press): return TRUE if handled
323         (gtk_clist_button_release): return TRUE if handled
324
325         * gtk/gtkcolorsel.c (mouse_release):
326         (palette_activate): 
327         (palette_press): 
328         (palette_new): 
329         (mouse_press): 
330         (get_screen_color): 
331         fixed return type (void to gboolean), return TRUE,
332         added GTK_SIGNAL_FUNC cast
333
334         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fixed return type
335         (void to gboolean), and return TRUE
336         (gtk_combo_button_release): changed return value to TRUE after
337         gtk_grab_add on combo->popwin
338
339         * gtk/gtkctree.c (gtk_ctree_button_press): return TRUE if triggers a
340         collapse or expand
341
342         * gtk/gtkcurve.c (gtk_curve_graph_events): return TRUE for
343         button/motion
344
345         * gtk/gtkdnd.c (gtk_drag_source_event_cb): return TRUE for button
346         press/release and motion that trigger act
347
348         * gtk/gtkentry.c (gtk_entry_button_release): return TRUE
349
350         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): return TRUE
351         for GDK_Return
352         
353         * gtk/gtklist.c (gtk_list_button_press): return TRUE mostly
354         (gtk_list_button_release): return TRUE if selection
355
356         * gtk/gtklistitem.c (gtk_list_item_button_press): return TRUE on
357         press
358
359         * gtk/gtkmenushell.c (gtk_menu_shell_button_press):
360         (gtk_menu_shell_button_release): chain parent_menu_shell retval
361
362         * gtk/gtknotebook.c (gtk_notebook_button_press): return FALSE if
363         nothing triggered
364         (gtk_notebook_button_release): return TRUE if we do anything
365
366         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): 
367         (gtk_spin_button_button_release): return TRUE or chained retval
368
369         * gtk/gtktext.c (gtk_text_button_press): 
370         (gtk_text_button_release): return TRUE
371         (gtk_text_key_press): remove redundant retval code
372         
373         * gtk/gtktreeitem.c (gtk_tree_item_button_press): return TRUE if button
374         and sensitive
375         (gtk_tree_item_subtree_button_click): changed type to gint, and return
376         TRUE if sensitive
377
378         * gtk/gtktooltips.c (gtk_tooltips_event_handler): deactivate implies 
379         return TRUE
380
381 2001-03-23  Havoc Pennington  <hp@redhat.com>
382
383         * gtk/testgtk.c: fix warnings
384
385         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): fix return value
386
387         * gtk/gtktextview.c: fix warnings
388
389         * gtk/gtktext.c (find_cursor_at_line): fix warning
390
391         * gtk/gtkselection.c (gtk_selection_notify): fix warning 
392
393         * gtk/gtkitemfactory.c (gtk_item_factory_menu_pos): fix signature
394         of this function
395
396         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
397         fix warning
398
399         * gtk/gtkhandlebox.c (gtk_handle_box_style_set): fix warning
400
401         * gtk/gtkfontsel.c: fix warning
402
403         * gtk/gtkcolorsel.c: fix warnings
404
405 2001-03-23  Havoc Pennington  <hp@redhat.com>
406
407         * gtk/gtkhandlebox.c: Apply property patch from Lee Mallabone
408
409         * gtk/gtkbox.c: Apply property patch from Lee Mallabone
410
411         * gtk/gtkcheckmenuitem.c: Apply property patch from Lee Mallabone,
412         and deprecated gtk_check_menu_item_set_show_toggle().
413         
414         * gtk/gtkbutton.c: Apply property patch from Lee Mallabone
415
416         * gtk/gtkfilesel.c: Apply property patch from Lee Mallabone
417
418         * gtk/gtkframe.c: Apply property patch from Lee Mallabone
419
420 2001-03-23  Havoc Pennington  <hp@redhat.com>
421
422         * gtk/gtktoolbar.c, gtk/gtkimcontext.c, gtk/gtklabel.c: fix up
423         some docs
424
425 Fri Mar 23 16:13:43 2001  Jonathan Blandford  <jrb@redhat.com>
426
427         * gtk/gtktreeviewcolumn.h (GtkCellDataFunc): Forgot to namespace
428         this.
429
430         * gtk/gtktreestore.c (gtk_tree_store_set_value): change from
431         set_cell to set_value
432
433         * gtk/gtkliststore.c (gtk_list_store_set_value): change from
434         set_cell to set_value
435
436 Thu Mar 22 19:27:34 2001  Jonathan Blandford  <jrb@redhat.com>
437
438         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
439         fix braino.
440         * gtk/gtktreesortable.[ch]: New interface to add cleanup sortable
441         support.
442
443         * gtk/gtktreeview.c: Addition of initial sortable support.
444
445         * gtk/gtktreestore.c: Addition of initial sortable support.
446
447         * gtk/gtkliststore.c: Addition of initial sortable support.
448
449         * gtk/gtkmarshal.list: yet another marshaller.
450
451         * gtk/gtktreedatallist.[ch]: shared code between the store models
452         for handling sorting headers.
453
454 2001-03-22  Havoc Pennington  <hp@redhat.com>
455
456         * gtk/gtkcontainer.c (gtk_container_set_focus_chain): 
457         (gtk_container_unset_focus_chain): Add ability to override the 
458         focus chain for a container explicitly
459
460 Thu Mar 22 13:01:44 2001  Tim Janik  <timj@gtk.org>
461
462         * gtk/gtklabel.[hc]: some cleanups, fixed mnemonic_widget handling,
463         added PROP_MNEMONIC_WIDGET.
464
465         * gtk/gtkwindow.c (gtk_window_activate_mnemonic): 
466         (gtk_window_remove_mnemonic): 
467         (gtk_window_add_mnemonic): fixed assertions.
468         (gtk_window_activate_mnemonic): constrain modifier checks to those
469         permitted by gtk_accelerator_get_default_mod_mask().
470         got rid of gtk_window_get_default_accel_group().
471
472         * gtk/gtkwidget.c (gtk_widget_real_activate_mnemonic): handle non
473         activatable widgets either by focussing or a warning.
474         added a signal accumulator to ::activate_mnemonic which stops the
475         emission once a handler returned TRUE.
476
477 2001-03-22  Havoc Pennington  <hp@pobox.com>
478
479         * gtk/gtktoolbar.c (gtk_toolbar_insert_stock): handle mnemonics in
480         the stock item label
481
482         * gtk/gtklabel.c: s/@gtk_func/gtk_func()/ in docs
483
484         * gtk/gtkstock.c (builtin_items): add mnemonics where missing
485
486         * demos/gtk-demo/*.c: Add mnemonics all over the place
487
488         * gtk/gtklabel.h: mark parse_uline deprecated
489
490 2001-03-21  Alexander Larsson  <alexl@redhat.com>
491
492         * gtk/gtkitemfactory.[ch]:
493         Add support for stock and normal imagemenuitems.
494         
495         * gtk/testgtk.c:
496         Add some tests for mnemonics, stock toolbars, stock
497         and image menuitems in itemfactory and gdk_window_scroll.
498
499 2001-03-21  Alexander Larsson  <alexl@redhat.com>
500
501         * gtk/gtkbutton.[ch]:
502         * gtk/gtkdialog.c:
503         Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and
504         removed accel_group argument. Renamed gtk_button_new_accel() to
505         gtk_button_new_with_mnemonic() and removed accel_group argument.
506
507         * gtk/gtkcheckbutton.[ch]:
508         New function gtk_check_button_new_with_mnemonic().
509
510         * gtk/gtkentry.c:
511         Override activate_mnemonic and just grab focus.
512
513         * gtk/gtkitemfactory.c:
514         Don't add menu uline accel group, instead use mnemonics support.
515
516         * gtk/gtklabel.[ch]:
517         New support for mnemonics.
518
519         * gtk/gtkmarshal.list:
520         Needed BOOLEAN:BOOLEAN for activate_mnemonic.
521
522         * gtk/gtkmenu.[c]:
523         * gtkmenushell.c:
524         Use mnemonics instead of accel groups for uline
525         support in menu items.
526         Removed gtk_menu_get_uline_accel_group() and
527         gtk_menu_ensure_uline_accel_group().
528
529         * gtk/gtkmenuitem.c:
530         Override activate_mnemonic to handle switching between
531         menu items if there are collisions.
532         
533         * gtk/gtknotebook.c:
534         Connect to activate_mnemonic on the tab_label, so that
535         activating it switches to that notebook page.
536
537         * gtk/gtkwidget.[ch]:
538         Add activate_mnemonic signal. New function
539         gtk_widget_activate_mnemonic() to emit it.
540         Default implementation does activate/grab_focus.
541
542         * gtk/gtkwindow.[ch]:
543         Add support for mnemonics in windows.
544         New functions:
545         gtk_window_add_mnemonic, gtk_window_remove_mnemonic,
546         gtk_window_activate_mnemonic, gtk_window_set_mnemonic_modifier
547
548         * gtk/testgtk.c:
549         Update to function name changes.
550         
551 2001-03-21  Alexander Larsson  <alexl@redhat.com>
552
553         * gtk/gtkimagemenuitem.[c]:
554         Add gtk_image_menu_item_new_from_stock()
555
556 Tue Mar 20 15:00:43 2001  Jonathan Blandford  <jrb@webwynk.net>
557
558         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
559         Fix buglet in meeting.
560
561 2001-03-19  Havoc Pennington  <hp@redhat.com>
562
563         * gtk/gtkiconfactory.c: Make GtkIconSource an opaque datatype, and
564         add a bunch of accessor functions. This is because we have
565         reasonable expectations of extending what fields it contains in
566         the future.
567
568         * gtk/gtkstyle.c (gtk_default_render_icon): adapt to icon source
569         changes
570
571         * gtk/gtkrc.c (gtk_rc_parse_icon_source): fix to use new
572         GtkIconSource   
573
574 Mon Mar 19 15:53:36 2001  Owen Taylor  <otaylor@redhat.com>
575
576         * gtk/gtkitemfactory.c gtk/testgtk.c: Handle quoting of / with \; properly
577         handle __ in paths, quote " and \n in gtk_item_factory_dump_items().
578
579         * gtk/gtkadjustment.[ch] gtk/gtkclist.c gtk/gtkhruler.c gtk/gtklayout.c 
580           gtk/gtklist.c gtk/gtkprogress.[ch] gtk/gtkprogressbar.[ch] gtk/gtkrange.[ch]
581           gtk/gtkruler.[ch] gtk/gtkscale.c gtk/gtkscrolledwindow.c gtk/gtkspinbutton.[ch]
582           gtk/gtktext.c gtk/gtktextview.c gtk/gtkvruler.c gtk/testgtk.c:
583         Change float to double everywhere with the exception of 0<->1.0 alignment
584         and GtkCurve.
585
586 2001-03-19  Tor Lillqvist  <tml@iki.fi>
587
588         * gdk/win32/gdkdrawable-win32.c
589         * gdk/win32/gdkimage-win32.c: Use correct casts in debugging
590         output.
591
592         * demos/testpixbuf-drawable.c: If GDK_WINDOWING_WIN32, include
593         gdkwin32.h.
594
595 2001-03-18  Tor Lillqvist  <tml@iki.fi>
596
597         * gdk/win32/gdkevents-win32.c (print_window_state): New function.
598         print_event_state, print_event): Use preprocessor macro to make
599         code more compact. Print also GDK_WINDOW_STATE events.
600         (synthesize_crossing_events): Remove the old #ifdeffed-out code.
601         
602         * gtk/gtk.def
603         * gtk/makefile.mingw.in: Update.
604
605         * gtk/gtkmain.h: Check for G_PLATFORM_WIN32, not only G_OS_WIN32,
606         to catch also Cygwin.
607
608 Sun Mar 18 01:15:30 2001  Tim Janik  <timj@gtk.org>
609
610         * gtk/gtkspinbutton.[hc]: added rc-style argument
611         GtkSpinButton::shadow_type.
612         removed spin_button->shadow_type, gtk_spin_button_set_shadow_type()
613         and ARG_SHADOW_TYPE as it doesn' make much sense to try to override
614         rc-style settings.
615
616         * gtk/gtkfixed.c: removed gtk_fixed_paint() (was unused).
617
618         * gtk/gtkwidget.c: quark cleanups.
619
620         * gtk/gtkrc.[hc]: added gtk_rc_scanner_new() to create an rc-file
621         scanner with appropriate configuration, renamed GtkRcStyleClass.clone
622         to create_rc_style() (we don't do cloning in standard OO sense).
623         added per rc style properties.
624         
625         * gtk/gtkstyle.[hc]: added code to retrive pspec conformant rc-style
626         property values and for caching those. some cleanups.
627         
628         * gtk/Makefile.am: -DG_DISABLE_CONST_RETURNS.
629         
630         * gtk/gtksettings.[hc]: new file for global rc-file properties
631         (at least currently, should get extended to support X properties
632         and other communication mechanisms).
633         
634         * gtk/gtkwidget.[hc]: added style property support:
635         (gtk_widget_class_install_style_property_parser): install style
636         property pspec with parser function for rc-file values other
637         than LONG, DOUBLE or STRING.
638         (gtk_widget_class_install_style_property): same as above without
639         parser (parsers are going to be needed quite infrequently).
640         (gtk_widget_style_get_property): retrive style property value.
641         (gtk_widget_style_get_valist): same as above with varargs support,
642         has NOCOPY semantics.
643         (gtk_widget_style_get): wrapper around gtk_widget_style_get_valist().
644
645 Fri Mar 16 18:24:53 2001  Jonathan Blandford  <jrb@redhat.com>
646
647         * demos/gtk-demo/main.c (row_activated_cb): modified to use
648         "row_activated" signal.
649
650         * gtk/gtktreeview.c (gtk_tree_view_row_activated): oh, the
651         stupidity.  Lets actually pass in the row with this signal...
652
653 Fri Mar 16 18:01:17 2001  Jonathan Blandford  <jrb@redhat.com>
654
655         * gtk/gtktreeviewcolumn.[ch]: s/GTK_TREE_COLUMN/GTK_TREE_VIEW_COLUMN
656
657         * gtk/gtktreeview.c (gtk_tree_view_row_activated): New signal.
658
659         * gtk/gtktreeview.c (gtk_tree_view_destroy): moved pretty much
660         everything into the ::destroy function, and freed a lot more.
661
662 2001-03-16  Havoc Pennington  <hp@redhat.com>
663
664         * gtk/gtkwidget.h (struct _GtkWidgetAuxInfo): change to use gint
665         instead of gint16, to avoid overflow issues, since sizes > 16-bit
666         are now allowed.
667
668 2001-03-16  Havoc Pennington  <hp@redhat.com>
669
670         * Applied patch from Nils Barth (bug # 51041) to 
671         replace "gint" with "gboolean" and 0/1 with TRUE/FALSE
672         in various places.
673
674 2001-03-15  Havoc Pennington  <hp@redhat.com>
675         
676         * gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): add varargs 
677         for properties to set on the tag.
678
679         * gtk/testtext.c: fixups to reflect create_tag change
680         
681         * gtk/gtktexttag.c (gtk_text_tag_set_property):
682         background/foreground stipple are objects, not boxed.
683
684         * demos/gtk-demo/textview.c: intellihancing
685
686 Fri Mar 16 11:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
687
688         * gtk/gtktreeview.c (gtk_tree_view_set_model): Fixed some
689         braindeadness spotted by Jamie Strachan <frostfreek@yahoo.com>.
690
691 2001-03-16  Alexander Larsson  <alexl@redhat.com>
692
693         * gdk/x11/gdkgeometry-x11.c (_gdk_window_process_expose):
694         Fix sign error with queued region translations.
695
696 2001-03-15  HideToshi Tajima  <tajima@happy>
697
698         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_set_cursor_location): 
699         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_location):
700         * gtk/gtkentry.c (update_im_cursor_location): 
701         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_location):
702         * gtk/gtkimcontext.h (struct _GtkIMContextClass): rename
703         set_cursor_pos to set_cursor_location in GtkInputContext class
704
705 Thu Mar 15 18:22:44 2001  Jonathan Blandford  <jrb@redhat.com>
706
707         * gtk/gtkcellrenderer.h: Changed prototype to allow for getting
708         the location of the cell relative to its area.
709         * gtk/gtkcell*: modified for above change
710         * gtk/gtktreeview.c: modified for above change.
711
712 Wed Mar 14 13:58:32 2001  Jonathan Blandford  <jrb@redhat.com>
713
714         * gtk/gtktreeview.c (gtk_tree_view_set_model): Ref the model.
715          (gtk_tree_view_finalize): actually unref the model.  Thanks to
716         Jamie Strachan <frostfreek@yahoo.com> for noticing this error.
717
718 2001-03-14  Havoc Pennington  <hp@redhat.com>
719
720         * gtk/gtkdata.h, gtk/gtkdata.c: Delete.
721         
722         * gtk/gtk.h: remove gtkdata.h
723
724         * gtk/Makefile.am: remove gtkdata
725         
726         * gtk/gtktext.c (gtk_text_set_adjustments): connect to "destroy"
727         not "disconnect" on the adjustments.
728         
729         * gtk/gtktooltips.h, gtk/gtktooltips.c: derive from GtkObject not
730         GtkData
731
732         * gtk/gtkadjustment.h, gtk/gtkadjustment.c: derive from GtkObject
733         not GtkData
734
735         * configure.in: handle case where X render exists, but Pango lacks
736         Xft support.
737
738 2001-03-15 Alexander Larsson  <alexl@redhat.com>
739
740         * gtk/gtktoolbar.[ch]:
741         New functions gtk_toolbar_set_icon_size and gtk_toolbar_insert_stock
742         to add stock items to toolbars.
743
744         * gtk/Makefile.am:
745         Remove ../gdk/gdkim.h from gdk_headers.
746
747 2001-03-15  Sven Neumann  <sven@gimp.org>
748
749         * gdk/gdkim.h: removed
750         
751         * gdk/gdkprivate.h
752         * gdk/x11/gdkim-x11.c: do not include gdkim.h 
753
754 2001-03-14  HideToshi Tajima  <tajima@happy.sunsoft.eng.sun.com>
755
756         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos):
757         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos):
758         * gtk/gtkimcontext.h (struct _GtkIMContextClass): add
759         set_cursor_pos() virtual method
760
761         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init):
762         (gtk_im_context_xim_set_cursor_pos): add implementation for
763         set_cursor_pos() method
764
765         * gtk/gtkentry.c (recompute_idle_func): set current cursor
766         position to input methods
767
768 Mon Mar 12 21:02:08 2001  Jonathan Blandford  <jrb@redhat.com>
769
770         * gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus
771         code a lot.
772
773         * gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use
774         g_mem_chunk.
775         (_gtk_tree_data_list_alloc): use g_mem_chunk.
776         (_gtk_tree_data_list_node_to_value): Fix to switch on
777         G_TYPE_FUNDAMENTAL.
778         (_gtk_tree_data_list_value_to_node): Fix to switch on
779         G_TYPE_FUNDAMENTAL.
780         (_gtk_tree_data_list_node_copy): Fix to switch on
781         G_TYPE_FUNDAMENTAL.
782
783 2001-03-12  Havoc Pennington  <hp@redhat.com>
784
785         * gtk/gtkwindow.c (gtk_window_class_init): Patch from John Margaglione 
786         to convert to new property API. Also, change default_width and
787         default_height get_property to return 0 as the flag value for
788         "unset"; -1 is not a valid value for these fields.
789
790 2001-03-12  Havoc Pennington  <hp@redhat.com>
791
792         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an
793         enum with registration for icon sizes, instead of strings.
794
795         * gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, 
796         gtkwidget.c: Fix to reflect GtkIconSize
797         
798 2001-03-12  Alexander Larsson  <alexl@redhat.com>
799
800         Make GtkFB compile and link.
801         
802         * gdk/linux-fb/gdkdrawable-fb2.c:
803         window->mapped to GDK_WINDOW_IS_MAPPED(). 
804         
805         * gdk/linux-fb/gdkwindow-fb.c:
806         window->mapped to GDK_WINDOW_IS_MAPPED(). 
807         Added gdk_window_shape_combine_region.
808         Added assorted placeholders for unimplemented new GdkWindow API calls.
809
810 2001-03-12  Alexander Larsson  <alexl@redhat.com>
811
812         * gtk/gtkfilesel.c:
813         Add more test when converting filenames from/to utf-8.
814         Don't allow entering text in the filename entry which isn't allowed in
815         a filename. Just beep instead.
816
817 2001-03-12  Alexander Larsson  <alexl@redhat.com>
818
819         * gtk/gtkclist.c:
820         Scroll using gdk_window_scroll(). Don't wait for exposes.
821         Move the column headers in an order that makes them flash less.
822
823 2001-03-10  Hans Breuer  <hans@breuer.org>
824
825         * gdk/gdk.def : updated
826
827         * gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
828         to offseting the clip_mask at the right place
829
830         * gdk/win32/gdkwindow-win32.c : don't create background brushes
831         for all the gdkClasses, especially not for the input_only case.
832         Otherwise flickering wont be avoidable, because we don't get
833         WM_ERASEBKGND message for these windows.
834
835         * gdk/win32/gdkevents-win32.c : initialize event->expose.region
836         and fixed massive redraw problems apparently triggered by Alexanders 
837         recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
838         but it seems to work quite well :-)
839
840         * gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose
841         prototype
842
843 Sat Mar 10 12:15:31 2001  Jonathan Blandford  <jrb@redhat.com>
844
845         * gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
846         (gtk_list_store_set_cell): Fix a stupid typo.
847
848 Fri Mar  9 20:36:21 2001  Jonathan Blandford  <jrb@redhat.com>
849
850         * gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
851         select_all not work if you're in SINGLE mode (it doesn't make that
852         much sense, anyway.)
853
854         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
855         handle types more sanely.
856         (_gtk_tree_data_list_value_to_node): handle types more sanely.
857         (_gtk_tree_data_list_node_copy): handle types more sanely.
858
859         * gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
860         GValue better. Converts the type as well.
861
862         * gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
863         GValue better. Converts the type as well.
864
865 Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
866
867         * gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
868         gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c 
869         gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
870         gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
871
872         * gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
873         gdk_im/gdk_ic.
874
875 2001-03-09  Hans Breuer  <hans@breuer.org>
876
877         * gdk/gdk.def : updated
878
879         * gdk/win32/gdkevents-win32.c : don't ask input_only windows
880         for their palette
881
882         * gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
883         removing
884
885         * gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
886         removing and implemented Havoc's GdkWindow state functions; 
887         stick/unstick only as no-op, cause I don't know how to emulate 
888         on win32 ...
889
890         * gtk/gtk.def : updated
891
892         * gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
893
894         * gtk/gtktypeutils.c : #include <string.h>
895
896         * gtk/gtkwindow.h : declare gtk_window_set_decorated ()
897
898 Fri Mar  9 09:31:55 2001  Tim Janik  <timj@gtk.org>
899
900         * gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with
901         GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object,
902         not a boxed.
903
904 2001-03-09  Alexander Larsson  <alexl@redhat.com>
905
906         * docs/Changes-2.0.txt:
907         Document expose event->region change and that gtk_widget_event
908         doesn't allow passing expose events.
909
910         * gdk/gdkevents.h:
911         Add region to expose event.
912         
913         * gdk/gdkevents.c:
914         Handle event->region in gdk_event_copy() and gdk_event_free().
915
916         * gdk/gdkwindow.c (gdk_window_process_updates_internal):
917         Generate expose_event->region when creating expose events.
918
919         * gdk/x11/gdkevents-x11.c:
920         Generate expose events with regions when translating X events.
921
922         * gtk/gtkcontainer.[ch]:
923         Default expose handler that propagates expose events to NO_WINDOW
924         children. New function gtk_container_propagate_expose()
925
926         * gtk/gtkwidget.[ch]:
927         Moved gtk_widget_event implementation to gtk_widget_event_internal.
928         gtk_widget_event calls gtk_widget_event_internal but doesn't allow
929         expose events. New function gtk_widget_send_expose() to send expose
930         events. New function gtk_widget_region_intersect() to calculate
931         window/region intersections.
932         
933         * gtk/gtkmain.c (gtk_main_do_event):
934         Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
935         Use gtk_widget_send_expose() to send expose events.
936         
937         * gtk/gtkbin.c:
938         * gtk/gtkbox.c:
939         * gtk/gtkfixed.c:
940         * gtk/gtkimagemenuitem.c:
941         * gtk/gtklist.c:
942         * gtk/gtkpacker.c:
943         * gtk/gtktable.c:
944         * gtk/gtktree.c:
945         Remove expose handler, using the default container implementation
946         instead.
947         
948         * gtk/gtkbutton.c:
949         * gtk/gtkcheckbutton.c:
950         * gtk/gtkeventbox.c:
951         * gtk/gtkfixed.c:
952         * gtk/gtkhandlebox.c:
953         * gtk/gtklayout.c:
954         * gtk/gtklistitem.c:
955         * gtk/gtkmenu.c:
956         * gtk/gtkmenubar.c:
957         * gtk/gtkmenuitem.c:
958         * gtk/gtknotebook.c:
959         * gtk/gtkoptionmenu.c:
960         * gtk/gtkpaned.c:
961         * gtk/gtkscrolledwindow.c:
962         * gtk/gtktogglebutton.c:
963         * gtk/gtktoolbar.c:
964         * gtk/gtktreeitem.c:
965         * gtk/gtkviewport.c:
966         Chain expose handler to parent class handler. Use
967         gtk_container_propagate_expose() to propagate exposes.
968
969         * gtk/gtkclist.c (check_exposures):
970         * gtk/gtktext.c (process_exposes):
971         Use gtk_widget_send_expose instead of gtk_widget_event.
972
973 Thu Mar  8 19:40:28 2001  Jonathan Blandford  <jrb@redhat.com>
974
975         * gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function.
976
977 Thu Mar  8 19:18:27 2001  Jonathan Blandford  <jrb@redhat.com>
978
979         * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually
980         unref the nodes.   Fixes bug #50058.
981
982         * gtk/gtktreemodel.c (gtk_tree_model_ref_node): change
983         "::ref_iter" to "::ref_node".
984         (gtk_tree_model_unref_node): change "::unref_iter" to
985         "::unref_node". Fixes bug #50064.
986
987 Thu Mar  8 17:40:09 2001  Jonathan Blandford  <jrb@redhat.com>
988
989         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add
990         support for invisible cells.
991          (gtk_tree_view_bin_expose): ditto
992
993 Thu Mar  8 16:36:00 2001  Jonathan Blandford  <jrb@redhat.com>
994
995         * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
996         on gobjects.
997
998         * tests/testtreefocus.c (main): New test file.
999
1000         * tests/testtreeview.c: update to latest glib changes.
1001
1002         * tests/testtreecolumns.c: update to latest glib changes.
1003
1004 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
1005
1006         * gtk/testgtk.c: re-enabled event watcher emission hooks.
1007
1008 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
1009
1010         * *.c: added accumulator data argument to g_signal_newc()
1011         functions.
1012
1013         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
1014         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
1015         * gtk/treestoretest.c (make_window):
1016         s/g_signal_connect/g_signal_connectc/.
1017
1018         * gtk/gtktextbuffer.c: completed signal arg fixups,
1019         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
1020
1021 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
1022
1023         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
1024         G_CONST_RETURN.
1025
1026         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
1027         ::hierarchy-changed signal when a widget changes
1028         from anchored to unanchored or vice versa.
1029         (anchored means 
1030          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
1031         Use a private flag to keep track of this efficiently.
1032
1033 2001-03-07  Havoc Pennington  <hp@redhat.com>
1034
1035         * gtk/testgtk.c (create_spins): uglify so that size request gets
1036         tested.
1037
1038         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
1039         request on values for upper/lower, completes #6152
1040
1041 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
1042
1043         * Makefile.am: Remove gtk-config-2.0 again.
1044         (Grrrr, pkg-config. And stops make loops.)
1045
1046 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
1047
1048         * gtk/gtksignal.[hc]: removed old emission hook API.
1049         
1050         * docs/Changes-2.0.txt: fixed sections.
1051         
1052         * gtk/gtktextbuffer.c: signal arg fixups.
1053
1054 2001-03-07  Havoc Pennington  <hp@redhat.com>
1055
1056         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
1057
1058         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
1059         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
1060         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
1061         validation and the redraw which is higher priority than the
1062         validation.
1063
1064 2001-03-07  Havoc Pennington  <hp@redhat.com>
1065
1066         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
1067         (gtk_entry_set_property): remove trailer
1068
1069         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
1070         (gtk_entry_get_width_chars): new functions, to set size request to 
1071         a given number of characters
1072
1073         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
1074
1075         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
1076         (gtk_dialog_get_has_separator): new function
1077         (run_delete_handler): fix to not emit "response" signal
1078         because we already did in the delete event handler installed
1079         at dialog creation time.
1080         
1081         * gtk/gtkdialog.h: add a has_separator property,
1082         add GTK_DIALOG_NO_SEPARATOR flag
1083
1084 2001-03-07  Havoc Pennington  <hp@redhat.com>
1085
1086         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
1087         off decorations for a window.
1088
1089         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
1090         changes
1091
1092         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
1093         to get location of PangoLayout inside the label, closes #51198
1094
1095         * gtk/testgtk.c (create_bbox): fix up button box usage
1096
1097         * gtk/testcalendar.c (create_calendar): fix up button box usage
1098
1099         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
1100
1101         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
1102
1103         * gtk/gtkhbbox.h: deprecations
1104
1105         * gtk/gtkvbbox.h: deprecations
1106
1107         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
1108         emulate deprecated gtk_button_box_get_spacing
1109
1110         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
1111         the "set global default" functions
1112         (struct _GtkButtonBox): remove "spacing" field, use the one from 
1113         GtkBox base class
1114
1115         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
1116
1117         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
1118         render the icon, return the missing image icon.
1119
1120         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
1121         image icon if the load fails.   
1122
1123         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
1124         when no image is found; should be the Netscape "missing image"
1125         icon eventually but for now is a random image
1126
1127         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
1128         role for the session manager
1129
1130         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
1131
1132         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
1133         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
1134
1135         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
1136
1137 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
1138
1139         * gtk/*.c: marshaller fixes.
1140         
1141         * gtk/gtkmarshal.list: extreme cleanup.
1142
1143         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
1144         param spec for now.
1145
1146         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
1147         where appliable.
1148
1149         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
1150         special cased autogenerated boxed types from gtktypebuiltins_ids.c
1151         which are not reference counted:
1152         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
1153         PangoFontDescription, GtkTreeIter and GtkTreePath.
1154
1155 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
1156
1157         * gtk/gtktreeselection.h: 
1158         * gtk/gtktreemodel.c:
1159         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
1160         file should be included directly, and gobject/gmarshal.h
1161         as well as gtk/gtkmarshal.h even can't be included directly.
1162
1163         * Makefile.am: grr, install gtk-config-2.0.
1164
1165         * gtk/testgtk.c:
1166         * gtk/simple.c:
1167         * gtk/gtkmenu.c:
1168         * gtk/gtkitemfactory.c: use g_object_connect() instead of
1169         passing "*signal*::*" args to gtk_widget_set().
1170         
1171         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
1172         
1173         * gtk/*.c: removed trailer arg from property setters and getters.
1174         macro fixups.
1175
1176 2001-03-07  Alexander Larsson  <alexl@redhat.com>
1177
1178         * gtk/gtklabel.c (set_markup): Removed warning
1179
1180 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
1181
1182         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
1183         field to allow you to hide cell renderers.
1184
1185         * gtk/gtkcellrenderer.c: Add support for invisible cells.
1186
1187         * gtk/gtktreeview.c: Add support for invisible cells.
1188
1189 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
1190
1191         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
1192         Add "clicked" signal back to columns.
1193
1194         * ChangeLog: remove conflict markers.
1195
1196 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
1197
1198         * gtk/gtkbutton.c: Add animation of activation by, on 
1199         activate, pressing the button, and adding a timeout that 
1200         releases the button after 250ms or on key release and
1201         emits ::clicked. (#51501)
1202
1203         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
1204         action area, we connect to ::clicked instead of ::activate
1205         so the dialog stays up through the animation.
1206
1207 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
1208
1209         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
1210         check the ignore_enter flag for the menu shell that
1211         the item is actually a child of, not for attached
1212         submenus. (#51536)
1213
1214 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
1215
1216         * gtk/gtkmain.c (gtk_propagate_event): Only do special
1217         special key-press grab handling for widgets within
1218         GtkWindows. Otherwise, fall through to normal case.
1219
1220         This prevents key events being sent twice to GtkInvisible
1221         widgets, which can cause all sorts of mischief.
1222
1223 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
1224
1225         * gtk/gtkmain.c (gtk_propagate_event): When a grab
1226         widget is in effect, give the grab widget a first
1227         crack at KEY_PRESS/RELEASE events. (#424)
1228
1229 2001-03-06  James Henstridge  <james@daa.com.au>
1230
1231         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
1232         offset for the window_state_event to point at window_state_event
1233         rather than no_expose_event.
1234
1235 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
1236
1237         * gtk/gtkimmodule.h: fix busted /* comment */
1238
1239 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
1240
1241         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
1242         object properties.
1243
1244 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
1245
1246         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
1247         add object properties.
1248
1249         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
1250         to add object properties.
1251
1252         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
1253         object properties.
1254
1255         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
1256         add object properties.
1257
1258         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
1259         object properties.
1260
1261 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
1262
1263         * gtk/gtktreemodel.c: renamed "child_toggled" to
1264         "has_child_toggled".
1265
1266         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
1267         handle new signal name.
1268
1269         * gtk/gtktreestore.c: Updated to handle new signal name.
1270         * gtk/gtklisttore.c: Updated to handle new signal name.
1271         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
1272
1273 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1274
1275         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
1276         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
1277
1278 2001-03-05  Michael Natterer  <mitch@gimp.org>
1279
1280         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
1281         pixbuf-engine coincidentially also failed to make one of it's
1282         parent_class pointers static, causing overwriting of GtkLabel's
1283         parent_class pointer in pixbuf_style_class_init().
1284         (Will commit the fix to the pixbuf-engine too).
1285
1286 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1287
1288         * gdk/gdkwindow.h:
1289         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
1290         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
1291         gdk_window_set_icon_list for net wmspec functionality.
1292
1293         * gdk/x11/gdkwindow-x11.c:
1294         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
1295         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
1296         gdk_window_set_icon_list.
1297         Added gdk_wmspec_change_state helper function and used it in the code.
1298         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
1299
1300         * gtk/gtkdialog.c (gtk_dialog_init):
1301         Set GDK_WINDOW_TYPE_HINT_DIALOG.
1302
1303         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
1304         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
1305
1306         * gtk/gtkwindow.c:
1307         new function gtk_window_set_type_hint.
1308         On realize, set type hint and modal hint.
1309
1310         * gtk/gtkwindow.h:
1311         Added type_hint field and gtk_window_set_type_hint.
1312
1313 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1314
1315         * gtk/gtklabel.[ch]:
1316         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
1317         New function gtk_label_get_accel_keyval () to get the underline accelerator
1318         of the label. Setting the label pattern overrides other attributes.
1319
1320 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
1321
1322         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
1323         Added missing initializers to gtk_rc_style_init().
1324
1325 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
1326
1327         * gtk/gtktextview.c: fixed bug #51097 about setting 
1328         gtk_text_view_set_border_window_size() if the widget is 
1329         already realized.
1330
1331 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
1332
1333         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
1334
1335         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
1336         comment. Won't do to have duplicated doc comments between
1337         the platform subdirs.
1338
1339 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
1340
1341         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
1342           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
1343
1344         Detectable auto-repeat - make a repeating key generate
1345         press/press/press/release instead of press/release pairs.
1346
1347         If we have Xkb and XkbSetDectableAutoRepeat supports
1348         that, we do it that way. Otherwise, when we get
1349         a release event, we check ahead with XPending to see
1350         if the next key is a KeyPress with the same keycode
1351         and timestamp. (Not 100% reliable, but pretty close.)
1352           
1353 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
1354         
1355         * gtk/gtkmain.c (gtk_propagate_event): Only do special
1356         special key-press grab handling for widgets within
1357         GtkWindows. Otherwise, fall through to normal case.
1358  
1359         This prevents key events being sent twice to GtkInvisible
1360         widgets, which can cause all sorts of mischief.
1361  
1362 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
1363  
1364         * gtk/gtkmain.c (gtk_propagate_event): When a grab
1365         widget is in effect, give the grab widget a first
1366         crack at KEY_PRESS/RELEASE events. (#424)
1367  
1368 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
1369
1370         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
1371         to extend the selection. (Roughly based on patch
1372         from Jay Cox, #50939)
1373
1374         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
1375         to properly handle previous GDK_BUTTON_PRESS. 
1376         (Patch from Jay Cox, #50938)
1377
1378         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
1379         '\0' back along with the deleted text. (#51148)
1380
1381 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
1382
1383         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
1384         the group when extracting it from the X keyboard event.
1385
1386         * modules/input/Makefile.am modules/input/imipa.c: 
1387         Simple module for entering IPA. (Do we need a 
1388         gtk-stupid-input-tricks CVS module?)
1389
1390 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
1391
1392         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
1393         const.
1394
1395         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
1396
1397         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
1398         is no focus widget for the dialog currently, grab the focus as well
1399         as the default.
1400
1401         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
1402         the action area's children to iterate through, not the
1403         dialog's children.
1404
1405 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
1406
1407         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
1408         Add plug-socket tests. (Won't work worth a darn until I commit
1409         the rest of the plug-socket changes, but no reason these
1410         can't go into CVS now.)
1411
1412 2001-03-02  Havoc Pennington  <hp@redhat.com>
1413
1414         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
1415         _gdk_region_get_xrectangles()
1416
1417         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
1418
1419         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
1420
1421         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
1422         function, contributed by Ron Steinke    
1423
1424         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
1425         gdk_net_wm_supports
1426
1427         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
1428         New function, contributed by Ron Steinke
1429
1430         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
1431         used to line up the text in the entry when using the entry for
1432         editable sheet cell hacks
1433
1434         * gtk/testgtk.c (create_entry): test the activate_default setting
1435         on GtkEntry
1436
1437         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
1438         cause the entry to activate the default button for a dialog when 
1439         activated
1440         (gtk_entry_get_activates_default): new function
1441
1442 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
1443
1444         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
1445         Hwang to move call to sync_selection() up a few lines
1446         to before the row list is modified, to fix crash when
1447         removing rows in the undo_selection list.
1448
1449         (Test case provided by Daniel Elstner:
1450
1451         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
1452
1453 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
1454
1455         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
1456         of tree->root_tree in parent_set rather than _map(), 
1457         fixing #50892 in a bit better manner.
1458
1459 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
1460
1461         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
1462
1463 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
1464
1465         * gtk/gtkstyle.c : Remove duplicate fwd decl for
1466         gtk_default_draw_shadow.
1467
1468 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
1469
1470         * gdk/gdkimage.c (gdk_image_new): Remove excess 
1471         warning, make warnings more verbose, treat a error
1472         in shmat as permanent, and don't try again.
1473         (#51163, Ed Randall.)
1474
1475 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
1476
1477         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
1478         delay for the first click before starting to scroll.
1479         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
1480
1481         * gtk/gtktext.c: GtkText should have I-beam cursor. 
1482         (based on gtk-enf-990513-1.patch, Eric Fisher.)
1483
1484 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
1485
1486         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
1487         cleanup to remove some references to unused
1488         ->xoffset, ->yoffset.
1489
1490 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
1491
1492         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
1493         mask. (#51039, fix from Martin Maierhofer)
1494
1495 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
1496
1497         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
1498         for unshifted + and shifted = for non-us keyboards.
1499         Make <Control>+ and <Control>- work as well as 
1500         <Control>KP_Plus, <Control>KP_Minus for recursive
1501         open/close.  (#2682, René Seindal)
1502
1503 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
1504
1505         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
1506         the active menu item before deactivating the menu,
1507         so gtk_menu_popdown doesn't change the history. (#50964)
1508         
1509 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
1510
1511         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
1512         draw lines with text_gc rather than black_gc.
1513         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
1514
1515 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
1516
1517         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
1518         Move handling of buttons fully in gtktreeviewcolumn.  This code is
1519         less interrelated then it was, but it still requires the
1520         GtkTreeView to map it.
1521
1522         * test/testtreecolumn.c: Now I can add a column to one view,
1523         remove it, add it to the another view, remove it, then re-add it
1524         to the first.  Nifty.
1525
1526 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
1527
1528         * docs/tutorial/gtk-tut.sgml: Minor corrections
1529
1530 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
1531
1532         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
1533         GtkRowReference.
1534
1535 2001-02-28  Havoc Pennington  <hp@redhat.com>
1536
1537         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
1538         draw_default
1539         (gtk_widget_draw_focus): remove this function; we could instead
1540         make it just gtk_widget_draw(), but in most cases I think the
1541         result would be broken user code, so think it's better to have
1542         that code not compile and get fixed
1543         (gtk_widget_draw_default): ditto
1544
1545         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
1546         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
1547         
1548         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
1549         widgets lose/get the default, instead of calling draw_default
1550         
1551         * docs/Changes-2.0.txt: note about all this
1552
1553         Then fixed every widget in GTK, I won't list all the filenames.
1554
1555 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
1556
1557         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
1558         _gtk_tree_row_reference_deleted.
1559         (inserted_callback): Proxy out to
1560         _gtk_tree_row_reference_inserted.
1561         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
1562         get around signal emission ordering problem.
1563
1564         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
1565         fix to work with SINGLE 
1566         (_gtk_tree_selection_internal_select_node): Major sanitization on
1567         selections.  SINGLE now seems to work.
1568
1569         * tests/Makefile.am: add testtreecolumn.c:
1570
1571         * tests/testtreecolumn.c: New test.  Mostly points out selection
1572         bugs currently, but will test columns later.
1573
1574         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
1575         selection bug.  I hate touching this code -- it's scary.
1576
1577 2001-02-26  Havoc Pennington  <hp@redhat.com>
1578
1579         * gtk/testgtk.c: test the window state stuff
1580
1581         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
1582         window come to the user's attention as if it were just created
1583         (gtk_window_iconify): new function
1584         (gtk_window_deiconify): new function
1585         (gtk_window_stick): new function
1586         (gtk_window_unstick): new function
1587         (gtk_window_maximize): new function
1588         (gtk_window_unmaximize): new function
1589
1590         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
1591
1592         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
1593
1594         * gdk/x11/gdkevents-x11.c: create window state events when
1595         appropriate
1596         (gdk_wmspec_supported): new function
1597
1598         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
1599         iconification before showing the window
1600         (gdk_window_deiconify): new function
1601         (gdk_window_stick): new function
1602         (gdk_window_unstick): new function
1603         (gdk_window_maximize): new function
1604         (gdk_window_unmaximize): new function
1605
1606         * gdk/gdkwindow.c: store the window state in the window; 
1607         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
1608         window->mapped.
1609         (gdk_window_get_state): return the current window state
1610
1611         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
1612         (gdk_event_get_state): handle GDK_WINDOW_STATE
1613         (gdk_synthesize_window_state): function to create the window state
1614         events
1615
1616         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
1617         event, for changes to "window state" such as maximized, sticky, 
1618         etc.
1619         
1620         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
1621         focuses a window
1622
1623         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
1624         finds out if we support a given WM spec hint
1625
1626 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
1627
1628         * docs/faq/gtk-faq.sgml: New question re memory leaks.
1629
1630 2001-02-25  Hans Breuer  <hans@breuer.org>
1631
1632         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
1633         cause we want to loose those prototypes only in the latter case
1634
1635         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
1636         GdkPixmapImplWin32 because it itsn't derived from it. Use the
1637         impl member variable instead
1638
1639         * gtk/gtk.def : updated
1640
1641         * gtk/gtklist.c : 
1642         * gtk/gtkmenus.c : include <string.h> for memset ()
1643
1644         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
1645         for everthing built here, but for gtk-x.x.dll only. This solves
1646         problem of indifferent gtk type definitions
1647
1648 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@webwynk.net>
1649
1650         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
1651
1652 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
1653
1654         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
1655         column that is exposed.
1656
1657         (_gtk_tree_view_update_size): Changed name from set_size, and
1658         changed function to do more work, and not force people calling it
1659         to figure out the size.  Simplifies a lot of code elsewhere.
1660
1661 2001-02-23  Alexander Larsson  <alexl@redhat.com>
1662
1663         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
1664         return solid masks for xpms that have no transparent color.
1665         This makes the ..._create_from_xpm... API backwards
1666         compatible.
1667
1668 2001-02-23  Tor Lillqvist  <tml@iki.fi>
1669
1670         * README.win32: Update. Mention the gtk-1-3-win32-production
1671         branch.
1672
1673         * gdk/win32/bdfcursor.c: New file. A program that generates
1674         xcursors.h. Thanks to Stefan Ondrejicka.
1675
1676         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
1677         compact format.
1678
1679         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
1680
1681         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
1682         function, uses xcursors.h.
1683         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
1684         cursor from inline data instead of using LoadCursor() to generate
1685         it from a resource.
1686
1687         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
1688         event, must check the Windows message for mouse button state, as
1689         the GDK event state might not have been built if it is
1690         undelivered. Remove one goto.
1691
1692         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
1693         SetCursor() if the current cursor as returned by GetCursor() is
1694         the window's previous cursor. The ChildWindowFromPoint() test
1695         apparently didn't work correctly.
1696
1697         * gdk/win32/rc/*.cur: Remove.
1698
1699         * gdk/win32/rc/gdk.rc.in: Remove cursors.
1700
1701         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
1702
1703         * gtk/makefile.{mingw,msc}.in: Updates.
1704
1705 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
1706
1707         * gtk/gtktreemodel.h: add functions for signal emission.
1708
1709         * gtk/gtktreestore.c: move to use above functions instead of
1710         g_signal_emit.
1711
1712         * gtk/gtkliststore.c: ditto
1713
1714 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
1715
1716         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
1717         GObject instead of GtkObject.
1718
1719         * gtk/gtkliststore.c: ditto.
1720
1721         * gtk/gtktreemodelsort.c: ditto.
1722
1723         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
1724         GtkTreeModelIface, instead of in each model.
1725
1726 2001-02-21  Havoc Pennington  <hp@redhat.com>
1727
1728         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
1729         unbreak this function
1730
1731         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
1732         properties
1733
1734         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
1735         properties
1736
1737         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
1738         properties
1739
1740         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
1741         mean unset the max length
1742
1743 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
1744
1745         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
1746         Changed name to be set_cell_data_func to make it clear what
1747         the functino does.  Close bug #51069.
1748
1749 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
1750
1751         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
1752         have memory actually freed.  Keeps box running longer.
1753
1754 2001-02-21  Alexander Larsson  <alexl@redhat.com>
1755         
1756         * gtk/gtkseparatormenuitem.[ch]:
1757         Added new menu separator item. The drawing and size handling
1758         is still done in GtkMenuItem, but the API is a bit more sane.
1759         
1760         * gtk/Makefile.am:
1761         Add gtkseparatormenuitem.[ch].
1762
1763         * gtk/gtk.h:
1764         Add gtkseparatormenuitem.h.
1765         
1766         * gtk/gtkentry.c:
1767         * gtk/gtkmenufactory.c:
1768         * gtk/gtktextview.c:
1769         Use the new API for menu separators.
1770         
1771         * demos/gtk-demo/menus.c (create_menu):
1772         Add some GtkSeparatorMenuItem demo code.
1773
1774 2001-02-20  Havoc Pennington  <hp@redhat.com>
1775
1776         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
1777         Lee Mallabone
1778
1779         * gtk/gtkarrow.c: Convert to new property API, patch from 
1780         Lee Mallabone
1781
1782 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
1783
1784         * tests/testtreeview.c (toggled_callback): fix to reflect change
1785         in GtkTreeModelStore.
1786
1787 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
1788
1789         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
1790         function to create an icon set from a pixbuf.
1791
1792 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1793
1794         * gtk/gtkcellrenderertext.[ch]:
1795         Add a "markup" property.
1796
1797         * gtk/treestoretest.c:
1798         Use the markup property, remove some leftover stuff from
1799         GtkTreeModelMapping.
1800
1801 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1802
1803         * gtk/gtklabel.c (gtk_label_set_selectable):
1804         Queue a redraw if the selectable setting was changed.
1805
1806 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1807
1808         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
1809         Actually copy the whole gc, not just the public parts.
1810         
1811         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
1812         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
1813         labels.
1814
1815 2001-02-19  Havoc Pennington  <hp@pobox.com>
1816
1817         * gdk/gdkwindow.c: docs
1818
1819         * gdk/gdkrgb.c: docs
1820
1821         * gdk/gdkregion-generic.c: docs
1822
1823         * gdk/gdkgc.c (gdk_gc_set_values): docs
1824
1825         * gdk/gdkdraw.c: docs
1826
1827         * gdk/gdkdrawable.h: deprecate drawable get/set data
1828
1829 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
1830
1831         * demos/gtk-demo/dialog.c: Add simple new demo.
1832
1833 2001-02-19  Havoc Pennington  <hp@redhat.com>
1834
1835         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
1836         insert_child_anchor signal, bug #50245
1837
1838         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
1839         from create_child_anchor, so the anchor is passed in
1840
1841         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
1842         (_gtk_widget_segment_new): have the child anchor object passed in, 
1843         instead of creating it.
1844
1845         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
1846         to gtk_text_buffer_get_modified
1847
1848 2001-02-19  Havoc Pennington  <hp@redhat.com>
1849
1850         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
1851         changed GLib without fixing GTK
1852
1853         * gtk/gtkrange.h: Rename all the stupid implementation detail 
1854         functions to have an underscore in front. Most of them should 
1855         probably just go away, but for starters don't export them.
1856         Bug #50482
1857
1858 2001-02-19  Havoc Pennington  <hp@redhat.com>
1859
1860         * gdk/gdkcolor.h: test was backward, so deprecated functions were
1861         excluded by default
1862
1863         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
1864         clean up the old code a bit
1865
1866         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
1867         inconsistent state
1868
1869         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
1870         draw inconsistent state
1871
1872         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
1873         (create_menu): add inconsistent test
1874
1875         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
1876         new function
1877         (gtk_check_menu_item_get_inconsistent): new function
1878         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
1879         state (using etched in for now)
1880
1881         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
1882         draw inconsistent state
1883
1884         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
1885         function, used when the user has selected a range of stuff in
1886         different states
1887         (gtk_toggle_button_get_inconsistent): accessor for that
1888         (gtk_toggle_button_paint): draw inconsistent state (etched in?
1889         don't know what else to do)
1890
1891 2001-02-19  Hans Breuer <hans@breuer.org>
1892
1893         * gtk/gtk.def : updated exported symbols
1894
1895         * gtk/makefile.msc.in : updated
1896
1897         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
1898         a colormap, when invoked from testgtk::entry. I'm not sure where
1899         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
1900         avoids immediate crashing ...
1901
1902         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
1903         any objections ?
1904
1905         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
1906         0 parameter. At least msvc doesn't like macros with var args. 
1907         I simply removed the extra 0, was it a feature or a typo ?
1908
1909         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
1910         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
1911         because the value assignment to the internal struct wasn't working.
1912         I'm not absolutely sure. The problem could have been resolved by
1913         changing the "func" declartion in the struct, but was the pointer
1914         to the function pointer intended ?
1915
1916         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
1917
1918         * gdk/gdk.def : updated exported symbols
1919
1920         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
1921         only use SetDIBitsToDevice if there is a palette at the drawable
1922         and the image is GDK_VISUAL_PSEUDO_COLOR
1923
1924         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
1925
1926         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
1927
1928         * gdk/*/makefile.msc : updated
1929
1930 2001-02-19  Havoc Pennington  <hp@redhat.com>
1931
1932         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
1933         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
1934
1935         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
1936         (gdk_key_repeat_restore): nuke
1937
1938         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
1939         (gdk_init_check): no atexit func
1940
1941         * gdk/gdkrgb.h: mark some stuff deprecated
1942
1943         * gdk/gdkcolor.h: mark some stuff deprecated
1944         
1945         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
1946
1947         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
1948
1949 2001-02-16  Havoc Pennington  <hp@redhat.com>
1950
1951         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
1952         scroll steps.
1953
1954         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
1955         steps, and add Ctrl-arrow shortcuts for paging visually as with
1956         HScale, since Page Up and Page Down move logically.
1957
1958         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
1959         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
1960         
1961         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
1962         steps
1963         (gtk_range_scroll): handle the visual steps
1964
1965         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
1966         scroll steps
1967
1968         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
1969         steps, not the logical ones.
1970
1971         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
1972         (scroll_vertical): handle up/down steps
1973
1974 2001-02-19 Alexander Larsson  <alexl@redhat.com>
1975
1976         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
1977         Copy data and free data with free().
1978
1979         * gdk-pixbuf/gdk-pixbuf.c:
1980         * gdk-pixbuf/io-jpeg.c:
1981         * gdk-pixbuf/io-png.c:
1982         Use g_try_malloc/g_free instead malloc/free.
1983         
1984         * gdk-pixbuf/test-gdk-pixbuf.c:
1985         Must... initialize... gobject...
1986         
1987         * gdk-pixbuf/pixops/timescale.c:
1988         * gtk/gtkcalendar.c:
1989         Use g_malloc instead of malloc.
1990         
1991 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
1992
1993         * gtk/testgtkrc:
1994         Comment out property assignments, these don't work yet.
1995
1996 2001-02-17  Havoc Pennington  <hp@pobox.com>
1997
1998         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
1999         bit.
2000
2001 2001-02-17  Havoc Pennington  <hp@pobox.com>
2002
2003         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
2004         shadowed variables that had broken size request in some cases,
2005         leading to bogus tooltips (#50996)
2006
2007 2001-02-06  Jon K Hellan  <hellan@acm.org>
2008
2009         Implement fast browsing of tooltips, bug #50619
2010         
2011         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
2012         and last_popdown
2013         
2014         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
2015         use_sticky_delay and last_popdown.
2016         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
2017         time of popdown.
2018         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
2019         is NULL.
2020         (gtk_tooltips_recently_shown): New static function.  Return true
2021         if < sticky_delay has elapsed since last popdown.
2022         (gtk_tooltips_event_handler): Display window after sticky_delay
2023         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
2024         since last popdown.
2025         
2026 2001-02-17  Havoc Pennington  <hp@pobox.com>
2027
2028         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
2029         instead of (). #6394
2030
2031         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
2032         G_CONST_RETURN, make it return by reference, #50473
2033         
2034 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
2035
2036         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
2037         generated ENTER_NOTIFY event with 0, otherwise not explicitely
2038         setup fields contain garbage (e.g. subwindow, breaking
2039         gdk_drawable_ref() upon event copy).
2040         (gtk_menu_stop_navigating_submenu_cb): same here.
2041
2042         * gtk/gtklist.c (gtk_list_vertical_timeout): 
2043         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
2044         * gtk/gtkclist.c (vertical_timeout): 
2045         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
2046         default-zero-intialization for unions to memset(,0,), as unions are
2047         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
2048         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
2049
2050         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
2051         g_closure_sink() warning.
2052
2053         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
2054         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
2055         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
2056         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
2057         
2058 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
2059
2060         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
2061         gtk_*_store_get, and moved to GtkTreeModel.
2062
2063         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
2064
2065         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
2066
2067         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
2068
2069         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
2070         set the func.
2071
2072         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
2073         freeze/thaw notify between setting all the properties for a cell.
2074
2075         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
2076
2077 2001-02-15  Havoc Pennington  <hp@redhat.com>
2078
2079         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
2080         the X coordinates so they're with respect to the line, rather than 
2081         with respect to the layout.
2082
2083         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
2084         Mallabone
2085
2086         * gtk/testgtk.c (create_range_controls): add vscale tests, 
2087         and inverted test
2088
2089         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
2090         #50806
2091
2092         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
2093
2094         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
2095         gtk_text_iter_is_end
2096
2097         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
2098         rename gtk_text_buffer_get_end_iter
2099
2100         * gtk/testgtk.c (create_labels): Add test for selectable
2101
2102         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
2103         the selection stuff. This code is kind of broken since it doesn't 
2104         use the theme engine.
2105
2106         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
2107         fix infinite loop and y offset problem
2108         (gdk_draw_layout_line_with_colors): fix foreground color handling
2109
2110         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
2111         that makes the label selectable.
2112         
2113         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
2114         layout when the style is set, since fonts etc. could have changed.      
2115
2116 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
2117
2118         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
2119
2120         * gtk/gtktreemodelsimple.[ch]: removed.
2121
2122 2001-02-16  Alexander Larsson  <alexl@redhat.com>
2123
2124         * gtk/gtktreemodelmapping.[ch]:
2125         New files. Implement GtkTreeModelMapping.
2126         
2127         * gtk/Makefile.am:
2128         Add gtktreemodelmapping.[ch].
2129         
2130         * gtk/gtk.h:
2131         Add gtktreemodelmapping.h
2132
2133         * gtk/treestoretest.c:
2134         Test the GtkTreeModelMapping
2135
2136 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
2137
2138         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
2139         have a demo, we might as well pass in real values.  Thanks to
2140         clahey for pointing this out.
2141
2142 2001-02-14  Havoc Pennington  <hp@pobox.com>
2143
2144         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
2145         "static" to a private function
2146         (gtk_image_menu_item_class_init): remove destroy handler,
2147         add "image" object property
2148
2149 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
2150
2151         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
2152         Add a shortcut if the window and the current clip_region doesn't
2153         overlap. This is needed when there are a lot of windows in a
2154         window. The layout test in testgtk is a good test.
2155
2156         * gdk/linux-fb/gdkwindow-fb.c:
2157         Whitespace fix.
2158
2159 2001-02-13  Sven Neumann  <sven@convergence.de>
2160
2161         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
2162
2163 2001-02-13  Alexander Larsson  <alexl@redhat.com>
2164
2165         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
2166         Don't reference last_cursor if it is null. Fixes crash when rotating
2167         the screen before having moved the mouse.
2168
2169         * gdk/linux-fb/gdkcc-fb.c: Zapp!
2170
2171         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
2172
2173         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
2174         when using 90 or 270 degrees rotation.
2175
2176 2001-02-12  Havoc Pennington  <hp@pobox.com>
2177
2178         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
2179         it always set the foreground, even if we were only using
2180         a stipple.
2181         (gdk_draw_layout_line_with_colors): new function, allow
2182         override colors
2183         (gdk_draw_layout_with_colors): new function, allow override
2184         colors
2185         (gdk_pango_layout_line_get_clip_region): function to get the clip
2186         region for a logical text range
2187         (gdk_pango_layout_get_clip_region): get the clip region for a
2188         logical text range
2189
2190         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
2191         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
2192         the right number of arguments.
2193
2194         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
2195         enhance the function to check that node data corresponds to a 
2196         view still belonging to the tree.
2197
2198         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
2199         GtkTreePath
2200         (gtk_tree_view_inserted): ditto
2201         (gtk_tree_view_child_toggled): ditto
2202
2203         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
2204         simplify this code.
2205
2206         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
2207         a PangoAttrList
2208
2209         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
2210
2211         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
2212
2213         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
2214         size in the size request 
2215         (gtk_menu_bar_size_allocate): consider toggle size here
2216
2217         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
2218         that displays a widget in the toggle slot
2219
2220         * gtk/testgtk.c: test GtkImageMenuItem
2221
2222         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
2223         
2224         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
2225         request and allocation
2226
2227         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
2228
2229         * gtk/gtkcheckmenuitem.c
2230         (gtk_check_menu_item_toggle_size_request): ditto
2231         
2232 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
2233
2234         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
2235         reference.
2236
2237         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
2238         and refuse to initialize GTK+ if they fail.
2239
2240 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
2241
2242         * configure.in: Add check for gtk-doc version.
2243
2244 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
2245
2246         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
2247         where the xpad/ypad was only being used on one side!
2248
2249 2001-02-11  Tor Lillqvist  <tml@iki.fi>
2250
2251         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
2252         function, copied from X11 version.
2253
2254         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
2255         DestroyCursor failures. The reason for the problem (despite the
2256         inconsistent messages from GetLastError()) was that
2257         DestroyCursor() cannot be called while a cursor is set in a
2258         window. Set the new cursor first and then destroy the old one.
2259         Thanks to jpe@archaeopteryx.com.
2260
2261         * gdk/win32/gdkcc-win32.c: Remove.
2262
2263         * gdk/win32/Makefile.am: Remove from here, too.
2264         
2265         * gdk/gdk.def
2266         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
2267
2268         * gtk/gtk.def
2269         * gtk/makefile.mingw.in: Updates.
2270
2271 2001-02-08  Havoc Pennington  <hp@redhat.com>
2272
2273         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
2274         add a widget to a bin that already has a child.
2275
2276         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
2277
2278         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
2279         
2280         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
2281
2282         * gdk/gdk.h: remove gdkcc.h
2283
2284         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
2285
2286         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
2287         GdkPixbuf, since the previous implementation was GdkColorContext
2288         dependent.
2289
2290         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
2291         
2292 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
2293
2294         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
2295         a sane value!
2296
2297 2001-02-08  Havoc Pennington  <hp@redhat.com>
2298
2299         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
2300         lighten them.
2301
2302 2001-02-08  Havoc Pennington  <hp@redhat.com>
2303
2304         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
2305         validation idle
2306
2307         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
2308         cell renderer
2309
2310         * demos/pixbuf-demo.c (timeout): remove deprecated
2311         gtk_widget_draw
2312
2313         * demos/testpixbuf-save.c (main): remove deprecated
2314         gtk_drawing_area_size
2315
2316         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
2317         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
2318         at the start of the allocation.
2319         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
2320         unsetup or NULL model.
2321
2322         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
2323         even/odd/sorted cells in the tree view.
2324
2325         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
2326         bugfixes
2327
2328         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
2329         backgrounds with draw_flat_box using different detail for even/odd
2330         rows.
2331
2332         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
2333         row, so we can draw the alternating colors thing
2334
2335         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
2336         property from a synonym property, notify for the synonym.
2337         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
2338         (gtk_text_tag_get_property): Always return the font, even if
2339         all its fields aren't set
2340
2341         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
2342         store the attr list; it leaves us with no way to change attributes
2343         in _render according to the render flags, and no way to implement
2344         get_property. Instead store all the specific text attributes. 
2345         Separate whether an attribute is enabled from its value. Sync all
2346         properties with GtkTextTag, make them all consistent, etc.
2347
2348         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
2349         renderers can highlight the sort row/column     
2350
2351         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
2352         accessor functions to get values; this has the side effect of
2353         showing up which accessor functions were missing. Added those.
2354
2355         * gtk/gtktreeviewcolumn.h: Replace set_justification with
2356         set_alignment, to be consistent with GtkLabel, GtkMisc
2357
2358         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
2359         arrow.
2360
2361         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
2362
2363         * gtk/gtktreesortable.h: updates in here
2364
2365 2001-02-07  Sven Neumann  <sven@convergence.de>
2366
2367         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
2368         pango dimensions after painting the background. We used to draw
2369         gigantic flat boxes here.
2370
2371 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
2372
2373         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
2374         error introduced with earlier commit) (pointed out by
2375         Ollie Lho)
2376
2377 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
2378
2379         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
2380         which are no longer necessary.
2381
2382 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
2383
2384         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
2385
2386 2001-02-04  Tor Lillqvist  <tml@iki.fi>
2387
2388         * gdk/gdk.def
2389         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
2390         Provide dummy implementations.
2391
2392 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
2393
2394         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
2395
2396         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
2397         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
2398         deprecated this function.
2399
2400         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
2401         argument.
2402
2403 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
2404
2405         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
2406
2407 2001-02-03  Havoc Pennington  <hp@pobox.com>
2408
2409         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
2410         Mikael Hermansson with patch from Mikael (if there was a toggle
2411         start one after the first character in the range, this function
2412         was broken). Bug #50380
2413
2414 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
2415
2416         * configure.in: Remove confusing comment about X11.
2417
2418 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
2419
2420         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
2421         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
2422         
2423 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
2424
2425         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
2426         it breaks things on BSD. If you want to compile GTK+ with
2427         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
2428         when configuring, since GTK+ simply can't be "pure ANSI" 
2429         in the header files it uses. (#8170, Greg Hudson)
2430
2431 2001-02-02  Havoc Pennington  <hp@redhat.com>
2432
2433         * gtk/gtkwindow.c: docs
2434
2435         * gtk/gtkwidget.c: docs
2436         (gtk_widget_set_colormap): add a reference to the colormap
2437         (gtk_widget_get_default_colormap): add a reference to the colormap
2438
2439         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
2440
2441         * gtk/gtktextiter.c: docs
2442
2443         * gtk/gtkmain.c (gtk_propagate_event): docs
2444
2445         * gtk/gtkpaned.c (gtk_paned_get_position): docs
2446         (gtk_paned_set_position): docs
2447
2448         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
2449         sort interface, no implementation yet.
2450
2451         * demos/testpixbuf.c (new_testrgb_window): replace
2452         gtk_drawing_area_size() with gtk_widget_set_usize()
2453
2454         * demos/testpixbuf-drawable.c (main): ditto
2455         
2456         * gtk/testgtk.c: remove use of GtkStatusbarMsg
2457
2458         * gtk/gtktextbuffer.c: docs
2459
2460         * gtk/gtkstock.c: docs
2461
2462         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
2463
2464         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
2465
2466         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
2467         
2468         * gtk/gtkimage.c: add some docs in here
2469         (gtk_image_size_request): change name of
2470         gtk_widget_render_stock_icon
2471         (gtk_image_get_icon_set): don't dup returned string
2472         (gtk_image_get_icon_set): don't dup returned string
2473
2474         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
2475         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
2476         and gtkiconfactory.h functions
2477
2478         * gtk/gtkiconfactory.c: add some docs in here
2479
2480         * gtk/gtkmain.c (gtk_get_default_language): document
2481         (gtk_get_current_event): document
2482         (gtk_get_current_event_state): document
2483         (gtk_get_event_widget): document
2484
2485         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
2486
2487         * gtk/gtkcontainer.c: Add some documentation
2488         (gtk_container_add): give a more explanatory warning on adding an
2489         already-parented widget, this is kind of a FAQ and also a common
2490         typo that's easier to debug with a nice warning 
2491
2492         * gtk/gtkcellrenderertoggle.c
2493         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
2494         adding this, it's useless
2495         (gtk_cell_renderer_toggle_set_active): remove
2496         (gtk_cell_renderer_toggle_get_radio): add
2497
2498         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
2499         the NULL cell renderer, that doesn't make any sense to me. 
2500
2501         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
2502         demo code should never use deprecated features.
2503
2504         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
2505         code should never use deprecated features.
2506
2507         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
2508         gtk_widget_queue_clear_area deprecated
2509
2510         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
2511         deprecated
2512
2513         * gtk/gtklabel.h: mark gtk_label_get() deprecated
2514
2515         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
2516         a GdkImage deprecated, replaced by new consistently-named
2517         functions       
2518
2519         * gtk/gtkmain.h: Mark gtk_exit() deprecated
2520
2521         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
2522
2523         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
2524         deprecated
2525
2526         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
2527         so it won't appear in docs and confuse people.
2528
2529         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
2530
2531         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
2532         macros deprecated. (can't mark the type itself deprecated, since
2533         GtkProgressBar is not deprecated and we need the type decl to use
2534         GtkProgressBar)
2535
2536         * gtk/gtkpixmap.h: Mark deprecated
2537
2538         * gtk/gtkoldeditable.h: Mark deprecated
2539
2540         * gtk/gtklist.h: Mark deprecated
2541
2542         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
2543         for anything anymore.
2544
2545         * gtk/gtkctree.h: Mark deprecated
2546
2547         * gtk/gtkclist.h: Mark deprecated
2548
2549         * gtk/gtkpreview.h: Mark deprecated
2550
2551         * gtk/gtkpacker.h: Mark deprecated
2552
2553         * gtk/gtktipsquery.h: Mark deprecated
2554
2555         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
2556
2557         * gtk/gtkvruler.h: Add comment that it will move out of GTK
2558
2559         * gtk/gtkhruler.h: Add comment that it will move out of GTK
2560
2561         * gtk/gtkruler.h: Add comment that it will move out of GTK
2562
2563         * gtk/gtkgamma.h: Add comment that it will move out of GTK
2564
2565         * gtk/gtkcurve.h: Add comment that it will move out of GTK
2566
2567 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
2568
2569         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
2570         gdk_colormap_sync private since it was never exported
2571         in a header file.
2572
2573         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
2574         colormap->colors[] for StaticGray, StaticColor colormaps.
2575
2576         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
2577         was being used as if it was image->bits_per_pixel.
2578
2579         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
2580         for the image in the GdkImage structure since it isn't
2581         reconstructable, and we need it to handle packed types
2582
2583         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
2584         the assumption that on Win32 image->bits_per_pixel == image->depth,
2585         always.
2586
2587         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
2588
2589         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
2590         warning message if no converter can be found. 
2591
2592 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
2593
2594         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
2595         chars to isupper() / tolower(). (#567)
2596
2597         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
2598         to clear up 64-bit warnings. (#567)
2599
2600 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
2601
2602         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
2603         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
2604
2605         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
2606         since some people set $(libdir) separately. (#1290, David Kaelbling)
2607
2608 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
2609
2610         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
2611         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
2612         MAXPATHLEN, but the code here depends on a fixed value.)
2613         (#4524)
2614
2615 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
2616
2617         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
2618         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
2619
2620 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
2621
2622         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
2623         viewable there is no way that moving the node will cause the 
2624         focus row to become not viewable, so omit check on the visibility
2625         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
2626
2627 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
2628
2629         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
2630         selection before inserting new text.
2631
2632 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
2633
2634         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
2635         Make the sensitivity of the reparented child track that of
2636         the original parent menu item. (#34218, David Hodson)
2637
2638         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
2639         the case where the current item is destroyed properly.
2640
2641         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
2642         some edge cases with child-less menuitems.
2643         
2644 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
2645
2646         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
2647         key pop down window. (#12074, Jon K Hellan)
2648
2649 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
2650
2651         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
2652         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
2653         The solution here isn't perfect - you get an extraneous
2654         emission of "toggle", which could conceivably confuse an app,
2655         but better than the current situation. LXR search seems to
2656         indicate that no apps in GNOME CVS connect to "toggle".
2657
2658 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
2659
2660         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
2661         gtk_public_h_sources to directly here to avoid warning when
2662         building srcdir != builddir. (#9656)
2663
2664 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
2665
2666         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
2667         handlers in gtkrange.c return the proper values (TRUE == handled)
2668         (#10316).
2669
2670         This is just the tip of the iceberg, but gtkrange.c is the
2671         most common place where the propagation is problematical,
2672         and also a place where it is almost certainly safe to change
2673         this in the stable branch.
2674
2675         (You don't want right click popups on a range control or anything...)
2676
2677 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
2678
2679         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
2680         area on focus out, even if a background pixmap isn't set.
2681         (#13941)
2682         
2683 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
2684
2685         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
2686         to deal with setting the shape properly when scrolling arrows are
2687         turned on, but not visible because there is sufficient space.
2688         (#13432)
2689
2690 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
2691
2692         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
2693         items with submenus, destroy the item along with the submenu.
2694         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
2695         properly.
2696
2697         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
2698         later.
2699
2700 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
2701
2702         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
2703         the focus widget sometimes wasn't drawn with the default if there
2704         was no default widget.
2705
2706         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
2707         unreference pixmaps. 
2708
2709         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
2710         for some extra safety.
2711
2712 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
2713
2714         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
2715         the text of a cell to the old pointer value better, by
2716         copying the new text before freeing the old text. Some code
2717         cleanup. (#8079, Karl Nelson)
2718
2719 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
2720
2721         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
2722         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
2723
2724 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
2725
2726         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
2727         item from a menu, check to see if it matches 
2728         menu->old_active_menu_item, and if so, unref and clear
2729         old_active_menu_item (Patch from Pavel Cisler)
2730
2731         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
2732         menu_shell->active_menu_item, if it is the child being
2733         removed. (Patch based on that of Gene Ragan, #50337)
2734
2735 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
2736
2737         * gdk/linux-fb/gdkselection-fb.c: 
2738         * gdk/linux-fb/gdkcolor-fb.c: 
2739         * gdk/linux-fb/gdkdrawable-fb2.c: 
2740         * gdk/linux-fb/gdkfont-fb.c: 
2741         * gdk/linux-fb/gdkim-fb.c: 
2742         * gdk/linux-fb/gdkinput.c: 
2743         * gdk/linux-fb/gdkkeyboard-fb.c: 
2744         * gdk/linux-fb/gdkmain-fb.c: 
2745         * gdk/linux-fb/gdkrender-fb.c: 
2746         A bunch of whitespace cleanup.
2747         
2748 2001-01-30  Havoc Pennington  <hp@pobox.com>
2749
2750         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
2751         #ifdef GTK_ENABLE_BROKEN.
2752
2753         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
2754         GTK_ENABLE_BROKEN just before including the broken headers.
2755         
2756         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
2757         deprecated types registered.
2758
2759         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
2760         we have to test the broken stuff.
2761
2762         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
2763         
2764 2001-01-30  Havoc Pennington  <hp@redhat.com>
2765
2766         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
2767         here where prev pointer was set to the wrong thing
2768
2769         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
2770         (gtk_tree_path_is_descendant): new function
2771
2772         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
2773         cached length
2774         (gtk_list_store_get_iter): don't modify iter if we can't get the
2775         path.
2776
2777         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
2778         
2779         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
2780         GtkTreeDragDest
2781
2782         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
2783         was causing segfault
2784
2785         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
2786         pointer to NULL
2787
2788         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
2789
2790         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
2791         on returning FALSE
2792         (gtk_list_store_iter_children): ditto
2793         (gtk_list_store_iter_nth_child): ditto
2794         (gtk_list_store_iter_nth_child): ditto
2795         (gtk_list_store_iter_parent): ditto
2796
2797         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
2798         on iter->user_data != NULL instead of silently accepting it.
2799         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
2800         we are returning TRUE.
2801         (gtk_tree_store_iter_children): ditto
2802         (gtk_tree_store_iter_nth_child): ditto
2803         (gtk_tree_store_iter_parent): ditto
2804         (gtk_tree_store_insert): remove handling of parent->user_data ==
2805         NULL, replace with parent == NULL       
2806
2807         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
2808         and a comment explaining things
2809
2810         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
2811         interface support to GtkTreeStore.
2812
2813         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
2814         FALSE if no prev, fix
2815
2816         * gtk/gtktreeview.c (set_source_row): use a row reference
2817         (set_dest_row): use a row reference
2818
2819 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
2820
2821         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
2822         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
2823         (gtk_tree_selection_select_iter): The same as above.
2824
2825 2001-01-26  Havoc Pennington  <hp@redhat.com>
2826
2827         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
2828         which holds a handle to a specific row (particular set of values
2829         in the model, i.e. pointer-identity row).
2830
2831         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
2832         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
2833         Still need to use it for the src/dest row saved on the drag context.
2834
2835 2001-01-26  Havoc Pennington  <hp@redhat.com>
2836
2837         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
2838
2839         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
2840         not offset by TREE_VIEW_HEADER_HEIGHT
2841         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
2842         TREE_VIEW_HEADER_HEIGHT
2843
2844         * configure.in (included_loaders): for me, --with-included-loaders
2845         generates the error "the specified loader yes does not exist",
2846         i.e. the arg defaults to "yes", so change test for value ""
2847         to test for value "yes", and include all loaders in that case.
2848
2849         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
2850
2851         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
2852         handle TREE_VIEW_VERTICAL_SEPARATOR
2853         (gtk_tree_view_bin_expose): fix to consider the row offset as
2854         pointing halfway into vertical separator.       
2855         (gtk_tree_view_draw_node_focus_rect): ditto
2856
2857         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
2858         --gtk-debug=updates, which causes gdk_window_set_debug_updates
2859         (TRUE) to be called.
2860
2861         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
2862         debug mode where the invalid region is colored in on invalidate,
2863         so you can see the flicker and know whether your redraw code is 
2864         doing a good job.
2865
2866         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
2867         tree window coordinates (clip rect is in tree window coords)
2868
2869         * gtk/Makefile.am: add gtktreednd.[hc]
2870
2871         * gtk/gtkliststore.c: implement gtktreednd interfaces.
2872
2873         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
2874         drag-and-drop data operations on a model (so we can set up tree
2875         drag-and-drop automatically)
2876
2877         * gtk/testgtk.c: Add a window to change sensitivity in the
2878         GtkLabel test; add a way to change the entry frame in GtkEntry
2879         test
2880
2881         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
2882         (gtk_entry_get_has_frame): new functions to remove the frame
2883         around an entry
2884         (gtk_entry_size_request): shrink requisition if no frame
2885         (gtk_entry_draw_focus): don't draw frame if no frame
2886
2887         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
2888         checks inside a cell renderer
2889         (gtk_default_draw_option): ditto for options
2890
2891         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
2892         children from the alignment, not the button
2893         (gtk_tree_view_column_init): ref/sink the column, to emulate
2894         GObject refcounting.
2895
2896         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
2897         
2898         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
2899         Use theme functions to draw the toggles 
2900
2901         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
2902
2903         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
2904         GdkPangoAttrEmbossed to use in rendering insensitive text
2905
2906         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
2907
2908         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
2909         using new GDK features
2910         
2911 2001-01-24  Alexander Larsson  <alexl@redhat.com>
2912
2913         * gtk/gtkimage.c:
2914         Splitted gtk_image_clear into gtk_image_clear() and
2915         gtk_image_reset(). Call gtk_image_clear() in ::destroy
2916         to avoid leaks.
2917
2918         * gtk/gtklabel.c (set_markup):
2919         Don't leak text.
2920
2921         * gtk/gtktextlayout.c:
2922         Always free display->shaped_objects.
2923
2924         * gtk/testgtk.c (create_clist):
2925         Don't leak custom style.
2926
2927 2001-01-23  Alexander Larsson  <alexl@redhat.com>
2928
2929         * gtk/gtkcolorsel.c (grab_color_at_mouse):
2930         Don't leak image. Simplify using gdk_colormap_query_color().
2931         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
2932
2933         * linux-fb/gdkcolor-fb.c:
2934         Implemented gdk_colormap_query_color.
2935
2936 2001-01-23  Alexander Larsson  <alexl@redhat.com>
2937
2938         * linux-fb/gdkcursor-fb.c:
2939         Don't leak built-in cursors.
2940
2941         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
2942         Don't leak tmp_points.
2943
2944         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
2945         Don't modify desc. Don't leak font if the PangoFont
2946         isn't found.
2947         
2948         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
2949         Free dash_list.
2950
2951         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
2952         Don't leak string.
2953         
2954 2001-01-20  Havoc Pennington  <hp@pobox.com>
2955
2956         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
2957         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
2958         me, matches Pango
2959
2960 2001-01-22  Havoc Pennington  <hp@redhat.com>
2961
2962         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
2963
2964         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
2965
2966         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
2967         Remove, move back to gdk-pixbuf
2968
2969         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
2970         to all the word functions
2971
2972         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
2973         before doing anything on NULL layout or if we don't have the focus
2974
2975         * gtk/testtext.c (fill_example_buffer): "justification"
2976
2977         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
2978         to be called "justification" not "justify"
2979
2980         * demos/gtk-demo/textview.c (create_tags): "justification"
2981         
2982         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
2983
2984 2001-01-22  Alexander Larsson  <alexl@redhat.com>
2985
2986         * gdk/gdkwindow.c (gdk_window_invalidate_region):
2987         Don't leak visible_region. Use visible_region instead of region.
2988         
2989         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
2990         Don't do extra gdk_drawable_ref(). This is not X.
2991         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
2992         gdk_fb_focused_window is ref:ed.
2993         (gdk_fb_window_send_crossing_events): Watch out for destroyed
2994         windows.
2995
2996 2001-01-22  Alexander Larsson  <alexl@redhat.com>
2997
2998         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
2999         Don't leak the PangoFontDescriptor.
3000
3001 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
3002
3003         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
3004         when not realized.
3005         (gtk_tree_view_scroll_to_cell): Make work when not realized.
3006         (gtk_tree_view_realize): add scroll_to support
3007         (gtk_tree_view_finalize): add a finalize method.  Populate.
3008         (gtk_tree_view_insert_column): ref and sink the column.
3009         (gtk_tree_view_append_column): ref and sink the column.
3010         (gtk_tree_view_queue_draw_node): New function to handle redrawing
3011         individual nodes.  Should make the code much more efficient, if
3012         actually used.
3013
3014 2001-01-19  Havoc Pennington  <hp@redhat.com>
3015
3016         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
3017         byte_offset variable was being used to mean both "offset into
3018         layout" and "offset into buffer line" which was no longer true
3019         with addition of preedit string; fix
3020
3021 2001-01-19  Havoc Pennington  <hp@redhat.com>
3022
3023         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
3024
3025         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
3026         function
3027
3028         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
3029         implement
3030
3031         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
3032         scroll_to_cell, matches TextView scroll functions better
3033         (gtk_tree_view_tree_to_widget_coords): new function
3034         (gtk_tree_view_widget_to_tree_coords): new function
3035         (gtk_tree_view_get_visible_rect): new function
3036         (gtk_tree_view_get_path_at_pos): accept negative coordinates
3037         (gtk_tree_view_draw_node_focus_rect): new function moved from
3038         draw_focus, also, use width of bin_window as width of the focus
3039         rect
3040         (gtk_tree_view_expand_row): fix bug where it didn't recognize
3041         already-expanded rows
3042         (gtk_tree_view_get_cell_rect): new function
3043         (gtk_tree_view_get_path_at_pos): return the click position
3044         relative to the passed-in cell
3045         (gtk_tree_view_set_expander_column): new function
3046
3047         * configure.in: remove gtk-config-2.0 chmod
3048
3049         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
3050         and properly handle drags with targets we don't understand
3051         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
3052         scrolling anyway
3053         (gtk_text_view_drag_drop): stop scrolling here though, and set the
3054         mark invisible
3055
3056         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
3057         function
3058         (gtk_drag_dest_get_target_list): new function
3059         (gtk_drag_dest_set_target_list): new function
3060         
3061         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
3062
3063         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
3064         related to drag-and-drop
3065
3066 2001-01-19  Alexander Larsson  <alexl@redhat.com>
3067
3068         * gdk/linux-fb/gdkprivate-fb.h:
3069         Define EMULATE_GDKFONT.
3070         Add extra pango_font stuff to GfkFontPrivate.
3071         
3072         * gdk/linux-fb/gdkdrawable-fb2.c:
3073         * gdk/linux-fb/gdkfont-fb.c:
3074         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
3075         emulation using PangoFont.
3076
3077 2001-01-17  Havoc Pennington  <hp@pobox.com>
3078
3079         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
3080         all the non-deprecated set_foo functions. Added missing object
3081         properties, and added g_object_notify() to setters. 
3082         Wrote docs.
3083         
3084 2001-01-18  Tor Lillqvist  <tml@iki.fi>
3085
3086         * gtk/gtkmain.c
3087         * gtk/gtkrc.c: (Win32) Use the new
3088         g_win32_get_package_installation_(sub)directory() functions.
3089
3090         * config.h.win32.in: New file.
3091         
3092         * config.h.win32: Removed.
3093
3094         * configure.in: Output config.h.win32.
3095
3096         * Makefile.am: Add it to EXTRA_DIST.
3097
3098         * gtk/gtk.def: Update.
3099
3100 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
3101
3102         * gtk/gtklabel.c (gtk_label_size_request): Set the
3103         attributes onto the PangoLayout even if they are newly
3104         created from label->pattern.
3105
3106 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
3107
3108         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
3109
3110         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
3111         structures in functions. Fixes bug where gtk_dataset_*
3112         was accidentally still being used in one place, causing
3113         every dest side event to be treated independently.
3114
3115         * gtk/gtkdnd.c: Remove last vestages of handling
3116         ::draw (fixes warning)
3117         
3118         * gtk/gtkentry.[ch]: Add drag and drop support.
3119
3120         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
3121         new function gtk_check_drag_threshhold() for checking
3122         to check if (dx,dy) has exceeded the threshhold for starting
3123         a drag and use it everywhere.
3124
3125 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
3126
3127         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
3128         add -I{includedir}/gtk-2.0.
3129
3130         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
3131         gdk/gdk-pixbuf.h: Doc fixups.
3132         
3133         * gtk/gtkobject.h: Remove trailing , from enum
3134
3135 2001-01-17 Alexander Larsson <alexl@redhat.com> 
3136
3137         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
3138         Doh! Mixed up x and y.
3139
3140         * gdk/linux-fb/gdkglobals-fb.c:
3141         Removed gdk_fb_pointer_grab_window_events,
3142         added _gdk_fb_pointer_grab_owner_events and
3143         _gdk_fb_keyboard_grab_owner_events.
3144
3145         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
3146         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
3147         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
3148         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
3149         Send crossing events after ungrab finished.
3150         (gdk_keyboard_grab): Set ..._owner_events
3151         (type_masks): Move out of function.
3152         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
3153         gdk_fb_keyboard_event_window): New functions, return the
3154         window an event should be targeted at. Handles grabs and
3155         event propagation. Can return NULL.
3156         (gdk_event_make): Remove event_mask checking. Now always
3157         returns an event.
3158                 
3159         * gdk/linux-fb/gdkkeyboard-fb.c:
3160         * gdk/linux-fb/gdkproperty-fb.c:
3161         * gdk/linux-fb/gdkselection-fb.c:
3162         Use new event_window/gdk_event_make() behaviour.
3163         
3164         * gdk/linux-fb/gdkmouse-fb.c:
3165         Use new event_window/gdk_event_make() behaviour.
3166         Only send motion events if in the same window.
3167         If grabbed, use cursor from window if sibling of grabbed
3168         window, and cursor from grabbed window otherwise.
3169
3170         * gdk/linux-fb/gdkprivate-fb.h:
3171         Update gdk_fb_window_send_crossing_events, gdk_event_make
3172         and grab varaible declarations. Add gdk_fb_*_event_window().
3173
3174         * gdk/linux-fb/gdkwindow-fb.c:
3175         Use new event_window/gdk_event_make() behaviour.
3176         Keep correct track of focus window.
3177         (gdk_window_set_events): Set all specific button motion masks
3178         if GDK_BUTTON_MOTION_MASK set.
3179
3180         * gtk/gtkdnd.c (gtk_drag_update):
3181         Free info->last_event if gdk_drag_motion returned FALSE.
3182
3183 2001-01-16  Tor Lillqvist  <tml@iki.fi>
3184
3185         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
3186         Eliminate redraws when input-only windows are shown or
3187         hidden. Thanks to jpe@archaeopteryx.com.
3188
3189 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
3190
3191         * docs/faq/gtk-faq.sgml: FAQ update:
3192           - Update to bugzilla
3193           - Add GTK+ and security/SUID/SGID
3194           - Add DnD question
3195
3196 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
3197
3198         * gdk/linux-fb/gdkdnd-fb.c:
3199         Some cleanups.
3200         
3201 2001-01-15  Havoc Pennington  <hp@pobox.com>
3202
3203         * tests/testtreeview.c: add test stuff for CellRendererToggle
3204
3205         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
3206         accessor
3207
3208         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
3209         only toggle on button press (would do release like GtkButton, but
3210         we'd need implicit grab code for treeview cells)
3211
3212 2001-01-16  Tor Lillqvist  <tml@iki.fi>
3213
3214         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
3215
3216         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
3217         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
3218
3219         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
3220         to g_{locale,filename}_{to,from}_utf8 to match current API.
3221
3222         * gtk/makefile.msc.in (gtk_OBJECTS)
3223         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
3224
3225         * gtk/gtk.def: Update.
3226
3227 2001-01-15  Tor Lillqvist  <tml@iki.fi>
3228
3229         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
3230         implementaion that more closely mimics the events that an X server
3231         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
3232         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
3233         with nested preview widgets, for instance, more responsive when
3234         you move the mouse quickly into them.
3235         (find_window_for_pointer_event): Make it actually compile.
3236         (gdk_event_translate): Set send_event to the value of
3237         InSendMessage (). This doesn't really mean the same as X11's
3238         send_event flag, but is close enough, says jpe@archaeopteryx.com
3239
3240 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3241
3242         * gdk/linux-fb/gdkdnd-fb.c:
3243         Implemented drag and drop.
3244         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
3245         when it tries to free and then copy the same event (info->last_event).
3246         I am not sure about why this happens, but will continue looking.
3247
3248 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3249
3250         * gdk/linux-fb/gdkwindow-fb.c:
3251         Use gdk_window_invalidate_rect instead of
3252         gdk_window_invalidate_rect_clear to minimise flashing.
3253         When hiding windows you need to clear the root window though.
3254
3255 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3256
3257         * gdk/linux-fb/gdkdrawable-fb2.c:
3258         For optization, add an full_shapes argument to gdk_fb_clip_region.
3259         If this is false, only the cliprects of the shapes are used.
3260
3261         * gdk/linux-fb/gdkprivate-fb.h:
3262         Export gdk_fb_window_peek_shape.
3263         Add full_shapes to gdk_fb_clip_region.
3264
3265         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
3266         When moving a window, don't clear everything under the it, just the
3267         root window. Makes stuff faster and flash less.
3268         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
3269         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
3270         offset of the shape.
3271         
3272
3273 2001-01-12  Havoc Pennington  <hp@redhat.com>
3274
3275         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
3276         current invalid region, fixes redraw bug while scrolling the 
3277         text widget
3278
3279         * gtk/gtktextview.c, gtk/gtktextview.h:
3280         Rearrange the scrolling/validation/etc. code in a major way, 
3281         so it seems to make sense to me. Probably isn't genuinely that
3282         much better, but...
3283
3284         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
3285         notifies
3286
3287         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
3288
3289 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
3290
3291         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
3292         Hide mouse pointer while rotation. Show it afterwards.
3293
3294 2001-01-12  Alexander Larsson  <alexl@redhat.com>
3295
3296         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
3297         windows in consideration when generating clip region.
3298
3299         * gdk/linux-fb/gdkfb.h:
3300         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
3301
3302         * gdk/linux-fb/gdkprivate-fb.h:
3303         Add shape to GdkWindowFBDatat.
3304         exported gdk_fb_window_get_abs_shape().
3305         removed gdk_fb_draw_lines declaration.
3306
3307         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
3308         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
3309         send focus changes when there is a grabbed window.
3310         (gdk_window_get_pointer): Handle shaped windows.
3311         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
3312         (gdk_fb_window_peek_shape): Returns the shape for a window,
3313         handles GDK_FB_USE_CHILD_SHAPE.
3314         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
3315         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
3316         (gdk_window_shape_combine_mask): Implement.
3317
3318         * gtk/gtkwindow-decorate.c:
3319         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
3320         setting the shape of a window makes the window transparent.
3321
3322 2001-01-11  Havoc Pennington  <hp@redhat.com>
3323
3324         * gtk/gtktreemodelsimple.h: Oops, broke some macros
3325
3326 2001-01-10  Havoc Pennington  <hp@redhat.com>
3327
3328         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
3329         add this function, bug 40251
3330
3331         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
3332         of type macro   
3333
3334 2001-01-11  Alexander Larsson  <alexl@redhat.com>
3335
3336         * acconfig.h:
3337         Added ENABLE_SHADOW_FB
3338
3339         * configure.in:
3340         Added --disable-shadowfb
3341
3342         * gdk/linux-fb/gdkcursor-fb.c:
3343         Update shadowfb when updating cursor
3344
3345         * gdk/linux-fb/gdkdrawable-fb2.c:
3346         Added wrappers for shadowfb that calls  the normal drawable
3347         methods, but calls gdk_shadow_fb_update(bounding box) when
3348         GdkWindows are drawed to.
3349         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
3350         which also returns the bounding box.
3351
3352         * gdk/linux-fb/gdkfb.h:
3353         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
3354
3355         * gdk/linux-fb/gdkgeometry-fb.c:
3356         Update shadowfb when scrolling window.
3357
3358         * gdk/linux-fb/gdkglobals-fb.c:
3359         Add _gdk_fb_screen_angle.
3360         
3361         * gdk/linux-fb/gdkkeyboard-fb.c:
3362         Test code for screen rotation. Shift-F2 in the xlate driver
3363         rotates the screen.
3364
3365         * gdk/linux-fb/gdkmain-fb.c:
3366         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
3367
3368         * gdk/linux-fb/gdkmouse-fb.c:
3369         Use fb_width/height instead of modeinfo.xres/yres.
3370
3371         * gdk/linux-fb/gdkprivate-fb.h:
3372         Added fb_men, fb_width, fb_height & fb_stride. When using
3373         shadow fb these can differ from the framebuffer stuff.
3374         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
3375         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
3376         _gdk_fb_screen_angle. Removed CM, RP.
3377
3378         * gdk/linux-fb/gdkrender-fb.c:
3379         Added code for shadowfb handling and screen rotation using
3380         shadowfb.
3381
3382         * gdk/linux-fb/gdkwindow-fb.c:
3383         Use fb_mem, fb_stride, fb_width, fb_height.
3384         Added recompute_rowstride to reset the rowstride of all windows.
3385         Added gdk_fb_recompute_all() which recomputes rootwindow size,
3386         window abs positions and window rowstrides. Usefull when the
3387         rotation has changed.
3388
3389 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
3390
3391         * docs/faq/gtk-faq.sgml: update to make web site updating easier
3392
3393 2001-01-10  Havoc Pennington  <hp@redhat.com>
3394
3395         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
3396         where sibling == iter
3397         (gtk_tree_store_insert_after): handle sibling == iter
3398         (gtk_tree_store_prepend): remove stamp checks
3399         (gtk_tree_store_insert_before): ditto
3400         (gtk_tree_store_append): ditto
3401         (gtk_tree_store_get_path): ditto
3402         (gtk_tree_store_get_value): ditto
3403         (gtk_tree_store_iter_has_child): ditto
3404         (gtk_tree_store_iter_n_children): ditto
3405         (gtk_tree_store_iter_nth_child): ditto
3406         (gtk_tree_store_insert_after): ditto
3407         (gtk_tree_store_is_ancestor): ditto
3408         (gtk_tree_store_iter_depth): ditto
3409         (gtk_tree_store_insert_before): assert that sibling's parent is
3410         the same as the passed-in parent
3411         (gtk_tree_store_insert_after): assert that sibling's parent is
3412         the same as the passed-in parent
3413
3414         
3415         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
3416         function to get the first iterator in a model
3417         
3418         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
3419         conventionally the "root" in this sense is just NULL afaict.
3420
3421         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
3422         where sibling == iter
3423         (gtk_list_store_insert_after): handle case where sibling == iter
3424
3425         * tests/testtreeview.c (run_automated_tests): fairly lame basic
3426         automated tests for ListStore, TreeStore
3427
3428         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
3429         (gtk_list_store_insert): update tail pointer, and fix it to work
3430         (gtk_list_store_insert_before): update tail pointer, and fix it to work
3431         (gtk_list_store_append): use tail to be faster
3432         (gtk_list_store_prepend): fix it, update tail pointer
3433         (gtk_list_store_insert_after): fix it, update tail pointer
3434
3435         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
3436         the list
3437
3438 2001-01-09  Havoc Pennington  <hp@redhat.com>
3439
3440         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
3441         is NULL due to a pending resize
3442
3443         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
3444         column width to values less than 1
3445
3446         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
3447         width to be between min/max width, and still set the width 
3448         even if autosize is turned on, so the tree view can use this 
3449         function in order to autosize.
3450         (gtk_tree_view_column_init): set initial width to 1 not 0
3451
3452         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
3453         setter function to modify column width, so we get notification
3454         (gtk_tree_view_insert_iter_height): ditto
3455         (gtk_tree_view_calc_size): ditto
3456         (gtk_tree_view_check_dirty): ditto
3457
3458         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
3459         properties to change all the interesting attributes of the tree
3460         view column.
3461         (gtk_tree_view_column_set_header_clickable): rename set_clickable
3462         (gtk_tree_view_column_get_clickable): add
3463         (gtk_tree_view_column_set_cell_renderer): don't unset the current
3464         attributes; assume a cell renderer with equivalent object
3465         properties has been swapped in. Do g_object_notify().
3466         (gtk_tree_view_column_set_visible): g_object_notify
3467         (gtk_tree_view_column_get_sizing): rename from get_col_type
3468         (gtk_tree_view_column_set_sizing): g_object_notify
3469         (gtk_tree_view_column_set_width): add g_object_notify
3470         (gtk_tree_view_column_set_min_width): ditto
3471         (gtk_tree_view_column_set_max_width): ditto
3472         (gtk_tree_view_column_set_title): ditto
3473         (gtk_tree_view_column_set_clickable): ditto
3474         (gtk_tree_view_column_set_widget): ditto
3475         (gtk_tree_view_column_set_justification): ditto
3476
3477 2001-01-09  Havoc Pennington  <hp@redhat.com>
3478
3479         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
3480         there are no rows in the model
3481
3482         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
3483         NULL, then return the start of the list
3484
3485         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
3486         if we can't get any rows from an empty model 
3487
3488         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
3489         extraneous * after function pointer typedef usage
3490
3491         * Makefile.am: don't specify full path to cp and rm
3492
3493         * gtk/gtkcellrenderertextpixbuf.c
3494         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
3495         NULL before dereferencing, fixes a segfault that happened from
3496         time to time
3497
3498         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
3499         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
3500         and reindent the function
3501         (gtk_cell_renderer_pixbuf_get_size): indentation
3502
3503         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
3504         we quit it
3505         (gtk_dialog_add_buttons_valist): add g_return_if_fail
3506         (gtk_dialog_set_default_response): New function, to set default
3507         button
3508         (gtk_dialog_set_response_sensitive): New function, to set 
3509         sensitivity of buttons
3510
3511         * gtk/gtkcellrendererpixbuf.c
3512         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
3513         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
3514
3515         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
3516         handle any G_TYPE_OBJECT subclass, not just the base class, and 
3517         also boxed types.
3518         (_gtk_tree_data_list_value_to_node): ditto
3519
3520         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
3521         --gtk-debug=tree
3522
3523         * gtk/gtkmain.c: add GTK_DEBUG_TREE
3524
3525         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
3526
3527 2001-01-09  Tor Lillqvist  <tml@iki.fi>
3528
3529         * gdk/win32/gdkevents-win32.c: Implement better mouse
3530         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
3531         (find_window_for_pointer_event): New function.
3532         (gdk_event_translate): Use it when handling mouse events.
3533
3534 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
3535
3536         * configure.in:
3537         Added --with-included-loaders option
3538
3539         * gdk-pixbuf/Makefile.am:
3540         * gdk-pixbuf/gdk-pixbuf-io.c:
3541         Add support for including selected gdk-pixbuf loaders only.
3542
3543         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
3544         gtk_window_set_has_frame):
3545         Added inline documentation.
3546
3547         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
3548         * docs/reference/gdk/tmpl/windows.sgml:
3549         Added inline documentation.
3550
3551 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
3552
3553         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
3554         realizing buttons that have already been realized.
3555
3556 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
3557
3558         * tests/testtreeview.c (main): Show menu items before adding to
3559         option menu.
3560
3561         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
3562         around if we kill them.
3563
3564         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
3565         Return if we pass in a NULL model.
3566
3567 2001-01-08  Havoc Pennington  <hp@redhat.com>
3568
3569         * tests/testtreeview.c: hack on this some
3570
3571         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
3572         gtk_tree_store_set_valist, v is for arrays, valist for varargs
3573         list
3574         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
3575
3576         * gtk/gtkliststore.h: Add varargs set() and get() convenience
3577         functions
3578
3579 2001-01-08  Alexander Larsson  <alexl@redhat.com>
3580
3581         * gtk/gtkwindow-decorate.[hc]:
3582         * gtk/Makefile.am:
3583         New files. Contains an implementation of a minimal WM for
3584         linux-fb.
3585
3586         * gtk/gtkwindow.h:
3587         Add the possibility for GtkWindows to specify a frame. This
3588         is used for the window decoration code, but could concievably
3589         be used for X programs too (xmms style windows).
3590         GtkWindow->frame is the toplevel window if the window is framed.
3591         The signal frame_event gets all events that are targeted to
3592         GtkWindow->frame.
3593         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
3594         
3595         * gtk/gtkwindow.c:
3596         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
3597         Call out to gtkwindow-decorate.c for WM support in linx-fb.
3598
3599 2001-01-08  Alexander Larsson  <alexl@redhat.com>
3600
3601         * docs/README.linux-fb:
3602         Correct filename ~/.pangoft2_aliases
3603
3604         * gdk/gdkwindow.h:
3605         Added new function gdk_window_get_decorations.
3606
3607         * gdk/linux-fb/gdkfb.h:
3608         Removed _gdk_window_get_decorations declaration.
3609         Renamed _gdk_window_set_child_handler to
3610         gdk_fb_window_set_child_handler.
3611
3612         * gdk/linux-fb/gdkwindow-fb.c:
3613         Renamed _gdk_window_set_child_handler to
3614         gdk_fb_window_set_child_handler.
3615
3616         * gdk/x11/gdkwindow-x11.c:
3617         New function gdk_window_get_mwm_hints().
3618         Implemented gdk_window_get_decorations.
3619
3620         * docs/reference/gdk/tmpl/windows.sgml:
3621         * docs/reference/gdk/gdk-sections.txt:
3622         Added gdk_window_get_decorations docs.
3623         
3624 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
3625
3626         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
3627         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
3628         gdk_fb_window_send_crossing_events):
3629         Possibly send focus events when the mouse moves from one
3630         window to another.
3631
3632 2001-01-07  Tor Lillqvist  <tml@iki.fi>
3633
3634         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
3635         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
3636         to match current API.
3637
3638         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
3639         environment variable is set, don't call g_error when on a
3640         palettized (PseudoColor) display. Some people want to use GTK+ 
3641         in 256-colour mode even though works only partially.
3642
3643         * gdk/gdk.def
3644         * gtk/gtk.def
3645         * gtk/makefile.mingw.in: Update.
3646
3647 2001-01-05  Havoc Pennington  <hp@redhat.com>
3648
3649         * tests/testtreeview.c: hack on this a bit
3650
3651         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
3652         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
3653
3654         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
3655         was spelled incorrectly
3656         (GTK_IS_TREE_MODEL_SIMPLE): ditto
3657
3658         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
3659         from gtk_tree_view_set_headers_active   
3660
3661         * gtk/gtktexttag.c:
3662         (gtk_text_tag_get_property): handle PROP_DIRECTION
3663         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
3664         properties, bug 40235
3665
3666         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
3667         forward_to_line_end
3668
3669 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
3670
3671         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
3672         modules/input/gtkimcontextxim.c: Adapt to new prototypes
3673         for unicode,locale,filename conversion functions.
3674
3675 2001-01-05  Havoc Pennington  <hp@redhat.com>
3676
3677         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
3678         broken if called on the first position in the buffer.
3679
3680         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
3681         forward_to_delimiters to be called only if we aren't already at
3682         the delimiters.
3683
3684 2001-01-05  Havoc Pennington  <hp@redhat.com>
3685
3686         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
3687
3688 2001-01-05  Alexander Larsson  <alexl@redhat.com>
3689
3690         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
3691         colormap in here. Sync from X port.
3692         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
3693         Sync from X port.
3694         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
3695         This happens now and then, and i don't think it is a bug.
3696         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
3697         != endpoint.
3698         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
3699         GDK_LINE_SOLID.
3700
3701         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
3702         some of the fields filled in at least.
3703
3704         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
3705         miLineArcD is no more, remove it from the function definition.
3706
3707 2001-01-04  Havoc Pennington  <hp@redhat.com>
3708
3709         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
3710         this
3711
3712         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
3713         user_data instead of tree_node
3714
3715         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
3716         TREE_VIEW_COLUMN_SIZE
3717
3718         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
3719         "size" field to "width" finishes bug 40061
3720
3721         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
3722         for bitfields, bug 40268
3723
3724 2001-01-04  Havoc Pennington  <hp@redhat.com>
3725
3726         Rename some stuff:
3727         
3728         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
3729
3730         s/GtkModelSimple/GtkTreeModelSimple/g;
3731         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
3732         s/gtk_model_simple/gtk_tree_model_simple/g;
3733         s/gtkmodelsimple/gtktreemodelsimple/g;
3734
3735         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
3736
3737         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
3738         s/column_set_col_type/column_set_sizing/g;
3739
3740         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
3741         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
3742
3743         s/GtkCellRendererType/GtkCellRendererState/g;
3744         
3745         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
3746         (gtk_cell_renderer_toggle_class_init): change "state" property to
3747         "active", to match GtkToggleButton
3748         (gtk_cell_renderer_toggle_get_active): new function, bug
3749         40269
3750         (gtk_cell_renderer_toggle_set_active): new function
3751         (gtk_cell_renderer_toggle_set_property): route changes to toggle
3752         state through gtk_cell_renderer_set_active
3753
3754 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
3755
3756         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
3757         temporarily until they work again.  Brought up to date with
3758         changes in the model.
3759         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
3760         model.
3761
3762 2001-01-04  Havoc Pennington  <hp@redhat.com>
3763
3764         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
3765         equal to the line length, then position iterator before paragraph 
3766         separators. Fixes crash reported by Mikael Hermansson when
3767         pressing left arrow from the start of a line.   
3768
3769         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
3770         about byte indexes off the end
3771         (iter_set_from_char_offset): add g_error about char offsets
3772         off the end
3773
3774 2001-01-03  Havoc Pennington  <hp@redhat.com>
3775
3776         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
3777
3778         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
3779         of private functions; remove inclusion of private headers.
3780
3781         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
3782         function, so we don't need private functions in gtktextdisplay.c
3783
3784         * gtk/gtktextiterprivate.h: underscore-ification
3785
3786         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
3787         to instead say "only useful to implement widgets"
3788
3789         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
3790         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
3791         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
3792
3793         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
3794         This function was completely broken
3795
3796         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
3797
3798         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
3799
3800         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
3801
3802         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
3803
3804         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
3805
3806         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
3807
3808         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
3809         gtk_paint_layout
3810
3811         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
3812         gtk_paint_layout
3813
3814         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
3815         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
3816         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
3817         which were not implemented.     
3818
3819         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
3820         insert_pixbuf signal. Rename delete_text to delete_range since it
3821         also deletes pixbufs and child anchors. This almost closes bug
3822         40245 (still need to deal with child anchors)
3823
3824         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
3825         insert_pixbuf, change signal names as appropriate, change types of
3826         signals taking marks/tags to have the specific type, not just
3827         G_TYPE_OBJECT
3828         
3829         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
3830         closes bug 40051
3831
3832         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
3833         unnecessary remove_contents() call
3834         (gtk_option_menu_class_init): add a "changed" signal, closes
3835         bug 40039
3836         (gtk_option_menu_update_contents): emit "changed" if the 
3837         active menu item changes
3838
3839         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
3840         cast to GtkObject, reported by Jonas Borgstrom
3841         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
3842         we can't do stuff with side effects in finalize. Instead, spew a
3843         warning if the loader isn't closed.
3844
3845         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
3846         colormap in here, non-X ports probably need to sync to this change
3847
3848         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
3849         assertion that colormap != NULL, you can set the colormap to NULL
3850         if you like.
3851         
3852         * Makefile.am: remove gtk-config-2.0
3853
3854         * configure.in: Use pkg-config to locate GLib. Remove
3855         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
3856         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
3857         Use pkg-config to locate Pango. Output correct Pango libs to
3858         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
3859
3860         * Makefile.am (pkgconfig_DATA): install only target-specific pc
3861         files
3862         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
3863         X11 pc files
3864
3865         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
3866         unref from here
3867
3868 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
3869
3870         * configure.in:
3871         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
3872
3873 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
3874
3875         * gtk/gtktextlayout.c
3876         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
3877         variable when moving back onto a single line.
3878
3879 2001-01-01  Havoc Pennington  <hp@redhat.com>
3880
3881         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
3882
3883         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
3884
3885         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
3886         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
3887
3888 2001-01-01  Havoc Pennington  <hp@redhat.com>
3889
3890         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
3891
3892         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
3893         GtkTextAttributes
3894
3895         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
3896         #40246
3897         (gtk_text_attributes_copy_values): rename from 
3898         gtk_text_attributes_copy
3899         (gtk_text_attributes_copy): a more standard GTK copy function, 
3900         which returns a new object
3901
3902 2001-01-01  Havoc Pennington  <hp@redhat.com>
3903
3904         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
3905         
3906         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
3907         don't fill in tree_view->priv->selection, kind of an unexpected
3908         side effect
3909
3910         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
3911         gtkintl.h
3912         
3913         * gtk/gtkcellrenderer.c: Remove definition of _ and include
3914         gtkintl.h
3915         (gtk_cell_renderer_get_property): remove calls to g_value_init
3916
3917         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
3918         gtkintl.h
3919
3920         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
3921         and include gtkintl.h
3922         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
3923         property names
3924
3925         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
3926         GtkTreeSelection
3927         (_gtk_tree_selection_new_from_with_view): rename, return
3928         GtkTreeSelection
3929         (_gtk_tree_selection_set_tree_view): rename with uscore
3930         (gtk_tree_selection_get_selected): fill in the "model" out param
3931         first, so it gets filled in even if we return at the top of the 
3932         function
3933         (gtk_tree_selection_real_select_all): add a comment and an else{}
3934         to clarify this a bit
3935         (gtk_tree_selection_real_unselect_all): add the same else{}
3936
3937         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
3938         set_tree_view to have underscore prefixes, move them to the
3939         private header, fix return type of new_with_tree_view
3940         (struct _GtkTreeSelection): mark struct
3941         fields private  
3942
3943         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
3944         GtkTreeModelFlags, not a guint
3945         (gtk_tree_path_prev): return gboolean not gint
3946         (gtk_tree_path_up): return gboolean not gint
3947
3948         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
3949         return GtkTreeModelFlags, not a guint
3950
3951         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
3952         that child model is non-null before unrefing it
3953         (g_value_int_compare_func): make this a qsort compare func, not 
3954         a boolean predicate
3955
3956         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
3957         (add -umn to the end), and mark it unimplemented
3958         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
3959         I don't see what it's for - doesn't the model always sort itself?
3960         (gtk_tree_model_sort_set_compare): this had the wrong signature
3961
3962         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
3963         Fix the docs to say that it destructively replaces existing
3964         attributes (previously said that it added attributes).
3965         (gtk_tree_view_column_set_visible): canonicalize bool before
3966         equality testing. Also, check for realization before
3967         hiding/showing the tree_column->window; if this window could exist
3968         before realization, then it's busted and needs fixing, we can't 
3969         create GDK resources pre-realization. Also, remove
3970         superfluous queue_resize(), since set_size() does that for us.
3971         (gtk_tree_view_column_set_col_type): check realization before 
3972         using tree_column->window
3973
3974         * gtk/gtktreedatalist.c: fix filename in copyright notice
3975
3976 2000-12-31  Havoc Pennington  <hp@pobox.com>
3977
3978         * gtk/gtktextview.c: Rearrange all the
3979         scroll-while-dragging-or-selecting code to be different, not
3980         necessarily better. ;-)
3981         (gtk_text_view_scroll_to_mark): Change this
3982         function to take within_margin as a fraction instead of a pixel
3983         value, and to take alignment arguments (indicating where to align 
3984         the mark inside the visible area)
3985         
3986         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
3987         to GtkObject
3988
3989         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
3990         behavior so that offsets past the end of the line are not 
3991         allowed, and an offset equal to the line length moves the iterator
3992         to the next line
3993         (gtk_text_iter_set_line_index): make parallel change
3994         (gtk_text_iter_get_bytes_in_line): add this function
3995         
3996         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
3997         of byte indexes off the end of the line; byte index at the end of
3998         the line now returns FALSE and doesn't fill in the requested
3999         values, byte index past the end of the line is an error.  Also,
4000         don't allow -1 offset anymore, since its meaning is unclear.
4001
4002         This change exposes some bug in visual cursor motion, where we
4003         end up with a huge invalid byte index; needs fixing. Symptom of 
4004         bug is a crash when you hit up arrow.
4005         
4006         (_gtk_text_line_char_locate): match the change to byte_locate
4007
4008         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
4009         from start of line properly. fixes bug reported by Mikael
4010         Hermansson where backspace would delete all text before the
4011         cursor.
4012
4013 2000-12-30  Tor Lillqvist  <tml@iki.fi>
4014
4015         * gdk/win32/gdkwindow-win32.c
4016         (gdk_window_impl_win32_get_visible_region): New function, as in
4017         the X11 backend.
4018         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
4019         instead of duplicating the same code here.
4020
4021         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
4022         GDK_COLORMAP macro.
4023
4024         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
4025         destroy function.
4026         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
4027         access that.
4028
4029         * gtk/gtk.def: Update.
4030
4031         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
4032
4033 2000-12-30  Havoc Pennington  <hp@pobox.com>
4034
4035         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
4036         colormap on input only windows, to avoid special cases all over
4037         the code for these windows.
4038
4039 2000-12-26  Tor Lillqvist  <tml@iki.fi>
4040
4041         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
4042         we are on a palettized display ("PseudoColor" in X11), as the code
4043         for that doesn't work anyway, and never has.
4044
4045 2000-12-22  Alexander Larsson  <alexl@redhat.com>
4046
4047         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
4048         Don't use isprint() for chars > 255.
4049
4050 2000-12-21  Havoc Pennington  <hp@redhat.com>
4051
4052         * tests/testtreeview.c: more work
4053
4054 2000-12-21  Alexander Larsson  <alexl@redhat.com>
4055
4056         * docs/README.linux-fb:
4057         Update the docs to the new pangoft2 way.
4058
4059 2000-12-21  Alexander Larsson  <alexl@redhat.com>
4060
4061         * configure.in:
4062         For linux-fb get the pangoft2 cflags and libs. This needs a recent
4063         pango version.
4064         Remove modules/linux-fb/Makefile.
4065
4066         * gdk/linux-fb/gdkdrawable-fb2.c:
4067         Render glyphs using freetype.
4068
4069         * gdk/linux-fb/gdkfb.h:
4070         Add new fb-specific functions needed for managing windows.
4071
4072         * gdk/linux-fb/gdkmain-fb.c:
4073         Remove gdk_font_init/fini() calls.
4074
4075         * gdk/linux-fb/gdkpango-fb.c:
4076         Remove old implementation. Use pangoft2 instead.
4077
4078         * gdk/linux-fb/gdkprivate-fb.h:
4079         Remove PangoFBFont and related stuff.
4080
4081         * gdk/linux-fb/gdkwindow-fb.c:
4082         Implement drawable->get_visible_region.
4083         Implement support for _gdk_window_set_child_handler () and
4084         _gdk_window_get_decorations().
4085
4086         * modules/Makefile.am:
4087         Remove linux-fb subdir.
4088
4089         * modules/linux-fb/*:
4090         Removed all.
4091         
4092 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
4093
4094         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
4095         calls, as they are no longer needed.
4096
4097         * gtk/gtktreemodelsort.c: Fix up the comparison code.
4098         
4099         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
4100         figure out how to emit a signal on an interface.
4101
4102 2000-12-20  Havoc Pennington  <hp@redhat.com>
4103
4104         * tests: new directory to contain tests, gtk/test* should move
4105         here sometime (with appropriate on-cvs-server hackery)
4106
4107         * tests/testtreeview.c, tests/Makefile.am: a test
4108         
4109         * configure.in (AC_OUTPUT): add tests/Makefile
4110
4111         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
4112         and "invisible_set" which were missing
4113
4114         * gtk/gtkrbtree.h: some cheesy indentation fix
4115         
4116 2000-12-20  Alexander Larsson  <alexl@redhat.com>
4117
4118         * gtk/gtkinvisible.c (gtk_invisible_realize):
4119         Attach the style to the window so that the style it is not
4120         leaked when unrealizing the window.
4121
4122 2000-12-18  Havoc Pennington  <hp@redhat.com>
4123
4124         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
4125         begin/end user action where appropriate
4126         (gtk_text_view_commit_handler): add begin/end user action
4127
4128         * gtk/gtktextbuffer.c: add begin/end user action signals, and
4129         bracket interactive operations with begin/end user action pair.
4130         
4131         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
4132         "interactive" arg from insert_text and delete_text signals.
4133         Add begin_user_action, end_user_action signals
4134         (gtk_text_buffer_begin_user_action): 
4135         (gtk_text_buffer_end_user_action): New functions to delimit 
4136         a user-visible action
4137
4138         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
4139         signals.
4140         
4141 2000-12-18  Havoc Pennington  <hp@redhat.com>
4142
4143         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
4144         was pretty non-working.
4145
4146         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
4147         by passing the length to g_utf8_validate().
4148
4149 2000-12-16  Havoc Pennington  <hp@pobox.com>
4150
4151         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
4152         Port to GObject, can go back in gdk-pixbuf after setting up 
4153         a gdk-pixbuf-marshal.h header over there.
4154
4155         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
4156         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
4157         args
4158         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
4159         set
4160         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
4161         here, do it when we create the buttons later
4162         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
4163         (gtk_tree_view_map): paranoia checks that column->button is shown 
4164         and unmapped
4165         (gtk_tree_view_size_request): only request visible children.
4166         Move header size calculation in here, for cleanliness, and 
4167         to maintain invariants for child widgets if we eventually 
4168         let users set different children inside the buttons
4169         (gtk_tree_view_map_buttons): factor out code to map buttons,
4170         since it was being called several times
4171         (gtk_tree_view_size_allocate_buttons): move_resize the drag
4172         windows instead of just moving them; their height may change 
4173         if we allow random widgets in there, or the theme changes.
4174         (gtk_tree_view_size_allocate): move button size allocation 
4175         above emitting the scroll signals, to ensure a sane state when we
4176         hit user code
4177         (gtk_tree_view_button_release): remove queue_resize after
4178         tree_view_set_size(), set_size() will handle any resize queuing
4179         that's needed
4180         (gtk_tree_view_focus_in): just queue a draw, don't fool with
4181         draw_focus goo
4182         (gtk_tree_view_focus): use gtk_get_current_event() and
4183         gdk_event_get_state()
4184         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
4185         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
4186         semicolon
4187         (gtk_tree_view_create_button): show the button here
4188         (gtk_tree_view_button_clicked): actually emit the clicked signal
4189         on the column
4190         (_gtk_tree_view_set_size): return right away if the size is
4191         unchanged, as a cheesy optimization
4192         (gtk_tree_view_setup_model): rename set_model_realized to 
4193         setup_model to match the flag that indicates whether we've 
4194         called it
4195         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
4196         exist, because set_scroll_adjustment does that and it shouldn't
4197         matter what order you call these in
4198         (gtk_tree_view_get_vadjustment): ditto
4199         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
4200         for paranoia
4201         (gtk_tree_view_set_headers_visible): call
4202         gtk_tree_view_map_buttons() instead of using cut-and-paste code
4203         (gtk_tree_view_append_column): clarify whether the return value
4204         is the count of columns before or after, and do the increment 
4205         separately from the return statement so you can tell from the code.
4206         (gtk_tree_view_remove_column): ditto
4207         (gtk_tree_view_insert_column): ditto
4208         (gtk_tree_view_get_column): remove g_return_if_fail for columns
4209         outside the existing range, the docs say that outside-range
4210         columns are allowed, so we handle them as documented. (Presumably
4211         this allows a nice loop with column != NULL as test.)
4212         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
4213         mean (left/right/center etc.).
4214         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
4215         (gtk_tree_view_expand_row): add docs
4216         (gtk_tree_view_collapse_row): add docs
4217
4218         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
4219         function to emit the clicked signal on a column
4220         
4221         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
4222         state of an event
4223         (gdk_event_get_time): don't treat GDK_SCROLL 
4224         as a button event, remove default case from switch so gcc 
4225         will whine if we don't explicitly handle all event types
4226
4227         * gtk/gtktreeselection.h: added some FIXME 
4228         
4229         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
4230         "columns" to "n_columns" and "column" to "columns" for clarity
4231
4232 2000-12-16  Havoc Pennington  <hp@pobox.com>
4233         
4234         * gtk/gtktextiter.c: General cleanup of the log attr iteration
4235         stuff. This should make e.g. the delete key work again in the
4236         text widget...
4237         (gtk_text_iter_forward_cursor_positions): handle negative count
4238         (gtk_text_iter_backward_cursor_positions): handle negative count
4239         (gtk_text_iter_forward_word_ends): handle negative count
4240         (gtk_text_iter_backward_word_starts): handle negative count
4241
4242         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
4243         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
4244         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
4245         GObject. No doubt will cause breakage.
4246
4247         * demos/gtk-demo/textview.c: remove hacks around
4248         non-GObject-ification of the text objects
4249
4250         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
4251         the text tag
4252         
4253 2000-12-14  Havoc Pennington  <hp@pobox.com>
4254
4255         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
4256         that we have Xrender
4257
4258 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
4259
4260         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
4261         Add two virtualized functions gdk_drawable_get_clip_region - to
4262         get the clip region when drawing.
4263         
4264         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
4265         use invalidate_region.
4266
4267         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
4268         region.
4269
4270         * acconfig.h configure.in: Check for Xft. For now, assume
4271         that if Xft is found, Pango was compiled with Xft support
4272         as well.
4273
4274         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
4275         gdk_colormap_query_color().
4276         
4277         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
4278         with Xft if appropriate.
4279
4280         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
4281         a pangoxft context if we have XFT and the environment
4282         variable GD_USE_XFT is set.
4283         
4284         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
4285         and also possibly an XftDraw structure.
4286
4287         * gtk/gtkfontsel.c: Handle the case where the font from the
4288         style doesn't match any of the fonts a bit better.
4289         
4290         * gtk/testgtk.c: Add tabs between directional segments for
4291         hebrew/arabic test. (Not really necessary, just a little
4292         prettier.)
4293
4294 2000-12-14  Havoc Pennington  <hp@redhat.com>
4295
4296         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
4297         reading a file
4298
4299 2000-12-14  Havoc Pennington  <hp@redhat.com>
4300
4301         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
4302         unused call to get_last_line()
4303
4304         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
4305         here until boxed is working (and maybe after that - we should
4306         really not gratuitously break old code)
4307
4308         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
4309         specific types for font_desc and tabs args, move them to
4310         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
4311         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
4312
4313         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
4314         use GTK_TYPE_POINTER for signal signatures as a hack-around
4315
4316         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
4317         PangoTabArray
4318
4319         * gtk/gtktextlayout.c (line_display_iter_to_index): 
4320         make static
4321         (line_display_index_to_iter): make static
4322
4323         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
4324         to marshal a string not a boxed
4325
4326         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
4327
4328         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
4329         since the UTF-8 isn't validated yet
4330
4331         * gtk/gtktextsegment.c (char_segment_check_func): don't require
4332         lines to end in '\n'
4333         
4334         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
4335         forward_to_delimiters, and grapheme boundaries
4336         (gtk_text_view_delete_from_cursor): properly handle non-newline
4337         delimiters, and grapheme boundaries
4338
4339         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
4340         to gtk_text_iter_forward_to_delimiters, and make it work properly
4341         if empty lines end with a character other than '\n'
4342
4343         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
4344         position
4345
4346 2000-12-15  Tor Lillqvist  <tml@iki.fi>
4347
4348         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
4349
4350         * gtk/gtk.def
4351         * gdk/gdk.def: Update.
4352
4353         * gdk/win32/gdkmain-win32.c
4354         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
4355         gdkmain-win32.c here.
4356
4357         * gdk/win32/makefile.mingw.in (all): No need to make
4358         gdk-win32res.o here, the makefile one step up will call us to make
4359         it.
4360
4361         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
4362         gdkkeys-win32.
4363
4364         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
4365
4366         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
4367         call to g_source_add().
4368
4369         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
4370         leak. Thanks to Andreas Kemnade.
4371
4372 2000-12-13  Havoc Pennington  <hp@pobox.com>
4373
4374         * gtk/gtktextbtree.h: Remove double _ in front of some functions
4375
4376         * gtk/gtktext*.[hc]: update accordingly
4377         
4378 2000-12-13  Havoc Pennington  <hp@pobox.com>
4379
4380         * gtk/gtktextbtree.h: Put _ in front of every function in this 
4381         header file
4382
4383         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
4384
4385 2000-12-13  Alex Larsson  <alexl@redhat.com>
4386
4387         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
4388         Add support for ps2 intellimouse.
4389
4390         * gdkkeyboard-fb.c:
4391         Move shift-F1 repaint handling to xlate handler only.
4392         
4393         * docs/README.linux-fb:
4394         Add imps2 to docs.
4395         Document the new refresh keys.
4396         
4397 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
4398
4399         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
4400
4401         * gtk/gtkbox.c: change property types from (u)long to (u)int for
4402         ::position and ::padding.
4403
4404         * gtk/gtkcontainer.c: make ::border_width an INT property.
4405
4406         * gtk/gtkpacker.c: make ::position an INT property.
4407
4408         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
4409         guard against NULL h/v scrollbars, since this is used at construction
4410         time.
4411
4412         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
4413         internal gtk_clist_constructor().
4414
4415         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
4416         gtk_ctree_constructor().
4417
4418         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
4419         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
4420
4421         * docs/reference/Makefile.am: fun stuff, disabled docs generation
4422         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
4423
4424         * gtk/gtkwidget.[hc]:
4425         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
4426         and gtk_widget_get().
4427         (gtk_widget_new): use g_object_new_valist().
4428         (gtk_widget_set): use g_object_set_valist().
4429
4430         * gtk/gtkobject.[hc]:
4431         removed gtk_object_arg_get_info(), gtk_object_getv(),
4432         gtk_object_query_args(), gtk_object_newv(),
4433         gtk_object_class_add_signals(),
4434         gtk_object_class_user_signal_new(),
4435         gtk_object_class_user_signal_newv(),
4436         gtk_object_arg_set(), gtk_object_arg_get(),
4437         gtk_object_args_collect(),
4438         gtk_object_default_construct(),
4439         gtk_object_constructed(),
4440         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
4441         removed nsignals, signals and n_args members from GtkObjectClass.
4442         (gtk_object_new): use g_object_new_valist().
4443         (gtk_object_set): use g_object_set_valist().
4444         (gtk_object_get): use g_object_get_valist().
4445         
4446         * gtk/gtkcompat.h: define gtk_object_default_construct().
4447         
4448         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
4449         g_object_new().
4450
4451         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
4452         fucntions, cleaned up method assignments (make sure your structures
4453         are setup properly before calling out). removed all GTK_CONSTRUCTED
4454         hacks ;)
4455
4456 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
4457
4458         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
4459         off-by-one error in checks. (Dave Lambert)
4460
4461 2000-12-12  Alexander Larsson  <alexl@redhat.com>
4462
4463         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
4464         Don't free gdk_fb_keyboard twice.
4465
4466 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
4467
4468         * gtk/testgtk.c:
4469         (create_tooltips): 
4470         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
4471         use GObject swapped_signal:: properties instead.
4472
4473         * gtk/gtkcellrenderertoggle.c: 
4474         * gtk/gtkcellrenderertextpixbuf.c: 
4475         * gtk/gtkcellrenderertext.c: 
4476         * gtk/gtkcellrendererpixbuf.c: 
4477         * gtk/gtkcellrenderer.c:
4478         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
4479         missing warnings for invalid property ids, install properties
4480         with g_object_class_install_property() now.
4481         
4482         * gtk/gtksignal.c:
4483         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
4484         
4485 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
4486         
4487         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
4488         to determine if a window is the focus widget within
4489         its toplevel.
4490
4491         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
4492         to be boolean.
4493
4494         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
4495         of the case where the container CAN_FOCUS to here instead
4496         of having it in each individual move-the-focus place.
4497
4498         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
4499         focusing to be geometric in a much more obvious sense. Arrowing
4500         around is still non-intuitive because it isn't perfect and
4501         because entries, etc, grab the arrow keys, but it at least
4502         usually will do what you expect now.
4503         
4504         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
4505         file.
4506
4507         * gtk/gtknotebook.c: Change tabs to be a single item in
4508         the focus chain. Make movement of focus on tabs with arrow
4509         keys wrap around.
4510         
4511         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
4512         CHECK_FIND_CHILD macro to give informative error messages
4513         instead of silent returns.
4514
4515         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
4516         flag since we handle GdkReturn on the tabs.
4517
4518         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
4519         windows rather than sending expose events directly.
4520
4521         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
4522         definition for GtkNotebookPage into .c file, since it is private.
4523
4524         * gtk/testgtk.c (create_notebook): Add option for 
4525         testing borderless notebook.
4526
4527         * gtk/testgtk.c (page_switch): Removed egregious poking
4528         around in GTK+ internals.
4529
4530         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
4531
4532         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
4533         properly through gtk_clist_focus. Make the title headers a
4534         single item in the tab-focus chain, and make left-right wrap
4535         around.
4536
4537         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
4538         focus method so that wrapping around works properly.
4539
4540         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
4541         that is handled for the widget now. 
4542
4543 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
4544
4545         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
4546         widgets as TOPLEVEL.
4547
4548         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
4549         TOPLEVEL widgets are containers.
4550
4551         * gtk/gtkinvisible.h: Remove useless include.
4552
4553 2000-12-11  Havoc Pennington  <hp@redhat.com>
4554
4555         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
4556         Handle chopping off \r\n and 0x2029 in addition to \n before
4557         passing to PangoLayout
4558
4559         * gtk/gtkimcontextsimple.c
4560         (gtk_im_context_simple_get_preedit_string): 
4561         return an empty string if no match is pending
4562
4563         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
4564         assertion that the returned preedit string was sane
4565
4566         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
4567         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
4568         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
4569
4570 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
4571
4572         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
4573         Fix up finalizer to chain to its parent.
4574
4575 2000-12-11  Alexander Larsson  <alexl@redhat.com>
4576
4577         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
4578         Clearified the difference between the keyboard types. Wrote a note
4579         about the magic sysrq key to get out of raw mode.
4580
4581 2000-12-09  James Henstridge  <james@daa.com.au>
4582
4583         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
4584         member to hold masks for detecting the start of a protocol packet.
4585         (mouse_devs): add packet start masks for ps2 and ms device types.
4586         Left the mask for fidmour blank, as I have no idea what it should
4587         be.
4588         (handle_mouse_io): skip bytes until we get to the start of a
4589         packet.  My Logitech mouse seems to be passing an extra NULL pad
4590         byte, and GPM does a similar thing here.
4591         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
4592         this is the ms mouse driver.
4593         (gdk_fb_mouse_ms_packet): fix up button handling, which was
4594         completely broken except for button1.  It was checking the wrong
4595         bit in the packet for the status of the right mouse button, and
4596         wrongly assuming right == button2 rather than 3.  I fixed that and
4597         also added support for middle button (button2).
4598
4599 2000-12-08  Havoc Pennington  <hp@redhat.com>
4600
4601         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
4602         that cause a segfault on text insertion
4603
4604         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
4605         warning
4606
4607         * gtk/gtktextiter.c (test_log_attrs): use
4608         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
4609
4610         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
4611         Get log attrs for a line, using a cache stored on the buffer
4612         
4613         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
4614         reported by Jeff Franks
4615
4616 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4617
4618         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
4619         /dev/ttyS0 -> /dev/mouse
4620
4621 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4622
4623         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
4624         Added dummy gdk_fontset_load.
4625
4626 2000-12-08  Alexander Larsson  <alexl@redhat.com>
4627
4628         * docs/README.linux-fb:
4629         * docs/Makefile.am:
4630         Initial GtkFB docs.
4631         
4632         * gdk/linux-fb/Makefile.am:
4633         Define GDK_DATA_PREFIX.
4634
4635         * gdk/linux-fb/gdkmain-fb.c:
4636         Fix typo.
4637         Change default display to /dev/fb0.
4638
4639         * gdk/linux-fb/gdkpango-fb.c:
4640         Add $(prefix)/share/fonts/ to font path.
4641         
4642 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4643
4644         * gdk/linux-fb/gdkkeyboard-fb.c:
4645         New file containing the abstracted keyboard driver. Most code
4646         taken from gdkinput-ps2.c
4647
4648         * gdk/linux-fb/gdkinput-ps2.c:
4649         Removed file.
4650         
4651         * gdk/linux-fb/Makefile.am:
4652         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
4653
4654         * gdk/linux-fb/gdkcolor-fb.c:
4655         display->fb was renamed to display->fb_fd.
4656
4657         * gdk/linux-fb/gdkcursor-fb.c:
4658         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4659
4660         * gdk/linux-fb/gdkinput.c:
4661         Moved gdk_input_init here from gdkinput-ps2.c
4662
4663         * gdk/linux-fb/gdkmain-fb.c:
4664         display->fb was renamed to display->fb_fd.
4665         Now the tty and the console is opened here instead
4666         of in the keyboard driver. Also check GDK_VT to see what
4667         tty to open.
4668         Move gdk_beep () here from gdkinput-ps2.c
4669         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4670
4671         * gdk/linux-fb/gdkmouse-fb.c:
4672         Add header.
4673         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4674         Return correct keyboard modifiers.
4675         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
4676
4677         * gdk/linux-fb/gdkprivate-fb.h:
4678         Add tty and vt info to display.
4679         Add orignal modeinfo storage to display
4680         Update global functions
4681
4682         * gdk/linux-fb/gdkwindow-fb.c:
4683         Added gdk_fb_window_find_focus().
4684         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4685
4686 2000-12-07  Havoc Pennington  <hp@pobox.com>
4687
4688         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
4689         function, noticed by Alex
4690
4691 2000-12-06  Elliot Lee  <sopwith@redhat.com>
4692
4693         * configure.in: Detect freetype properly
4694
4695         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
4696         above.
4697
4698 2000-12-06  Alexander Larsson  <alexl@redhat.com>
4699
4700         * gdk/linux-fb/Makefile.am:
4701         Add gdkmouse-fb.c
4702         
4703         * gdk/linux-fb/gdkmouse-fb.c:
4704         New file. Abstracted the mouse drivers a bit.
4705
4706         * gdk/linux-fb/gdkcursor-fb.c:
4707         The cursor hide/show functions was moved here from gdkinput-ps2.c.
4708
4709         * gdk/linux-fb/gdkinput-ps2.c:
4710         Removed old mouse handling code. Moved cursor handling code
4711         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
4712         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
4713         gdk_mouse_get_info.
4714
4715         * gdk/linux-fb/gdkmain-fb.c:
4716         Pass NULL pointers for x,y in gdk_mouse_get_info call.
4717
4718         * gdk/linux-fb/gdkprivate-fb.h:
4719         Removed public gdk_fb_find_common_ancestor, added and renamed
4720         functions for the new mouse handling code.
4721
4722         * gdk/linux-fb/gdkwindow-fb.c:
4723         Moved gdk_fb_window_send_crossing_events here. added global
4724         variable gdk_fb_window_containing_pointer. made
4725         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
4726         renamed to gdk_mouse_get_info.
4727
4728 2000-12-06  Alexander Larsson  <alexl@redhat.com>
4729
4730         * gdk/linux-fb/gdkevents-fb.c:
4731         Update to match latest gmain/gsource changes.
4732
4733         * gdk/linux-fb/gdkinput-ps2.c:
4734         Bogus gdk_keymap_get_entries_for_keycode implementation so that
4735         it links. Will be implemented later.
4736
4737 2000-12-03  Havoc Pennington  <hp@pobox.com>
4738
4739         * gdk/Makefile.am: add gdkkeys.[hc]
4740
4741         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
4742         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
4743
4744         * acconfig.h, configure.in: add checks and command line options
4745         for XKB
4746
4747         * gdk/x11/gdkkeys-x11.c: Implement the above functions
4748         
4749         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
4750         and group in the key event
4751
4752         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
4753         field with the low-level hardware key code, and a group
4754         field with the keyboard group
4755
4756         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
4757         and declare a couple globals used for keymap handling
4758         
4759         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
4760         hold down Shift-Control and type a hex number to get a Unicode 
4761         character corresponding to the hex number
4762         (gtk_im_context_simple_get_preedit_string): Fix cursor position
4763         (return bytes not chars)
4764
4765 2000-12-05  Elliot Lee  <sopwith@redhat.com>
4766
4767         * gdk/gdkcolor.h: Make GdkColor specify element sizes
4768         to avoid waste on 64-bit platforms.
4769
4770 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
4771
4772         * INSTALL: Fix link to PNG home, remove reference
4773         to fribidi.
4774
4775         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
4776         
4777         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
4778         tested.)
4779
4780         * gtk/gtkcheckmenuitem.c: Permanently turn on
4781         always_show_toggle.
4782
4783         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
4784         be NULL. (Vladimir Klebanov, #26545)
4785
4786         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
4787         some signed/unsigned comparison problems. (#6510,
4788         David Kaelbling)
4789
4790         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
4791         return type to boolean (Oskar Liljeblad, #18648)
4792
4793 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4794
4795         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
4796         Remove bogus colormap setting.
4797
4798 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4799
4800         * gdk/linux-fb/gdkcolor-fb.c:
4801         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
4802
4803         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
4804         Must set colormap.
4805         
4806 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
4807
4808         * docs/tutorial/gtk-tut.sgml: DND updates
4809
4810 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
4811
4812         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
4813         Remove old debug g_warning().
4814         (gdk_fb_draw_drawable): The src argument can be either a wrapper
4815         or an implementation, just pass the implementation to draw_drawable_2.
4816         
4817         * gdk/linux-fb/gdkprivate-fb.h:
4818         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
4819
4820         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
4821         clear and invalidate area when window is destroyed.
4822         (send_map_events): Remove old commented out code.
4823
4824 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4825
4826         * gdk/linux-fb/gdkpango-fb.c:
4827         Use italic instead of oblique in font aliases.
4828         
4829         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
4830         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
4831         other unsupported functions.
4832
4833 2000-12-04  Havoc Pennington  <hp@redhat.com>
4834
4835         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
4836
4837         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
4838
4839         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
4840
4841         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
4842         hack to avoid infinite loops (synthetic expose event) - 
4843         Owen has more appropriate fixes in a branch he'll check in later.
4844
4845         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
4846         separator, CR, and CRLF as line ends
4847
4848         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
4849         into lines using pango_find_paragraph_boundary(); other bits of
4850         the widget are still going to be broken if the boundary isn't '\n'
4851         though
4852
4853 2000-12-04  Alexander Larsson  <alexl@redhat.com>
4854
4855         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
4856         multiply.
4857
4858         * gdk/linux-fb/gdkpango-fb.c:
4859         Copied some 26.6 scaling macros from pango to clean up the rounding.
4860         (pango_fb_font_get_glyph_info): Correct sign on x value.
4861
4862         * gdk/linux-fb/gdkprivate-fb.h:
4863         Removed unreferenced external functions.
4864
4865         * modules/linux-fb/Makefile.am: Use ` instead of '.
4866
4867         * modules/linux-fb/basic.c:
4868         Remove dead code. In particular the dummy lang engine which broke all
4869         pango layouts in GtkFB. Don't include tables-big.i anymore.
4870
4871         * modules/linux-fb/tables-big.i:
4872         Upgrade to latest version from pango. Left for reference, basic_ranges
4873         moved to basic.c.
4874         
4875 2000-12-04  Havoc Pennington  <hp@redhat.com>
4876
4877         Fix bugs Alex found:
4878         
4879         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
4880         to "draw"
4881
4882         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
4883
4884         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
4885
4886         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
4887         implementation in here, apparently the expose() implementation was
4888         dead code.
4889
4890 2000-12-04  Alexander Larsson  <alexl@redhat.com>
4891
4892         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
4893         Return positive descent.
4894
4895 2000-12-02  Havoc Pennington  <hp@pobox.com>
4896
4897         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
4898         method and signal
4899         
4900         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
4901         calls gdk_window_process_updates() to push the exposes through
4902         (gtk_widget_class_init): No more draw signal, no
4903         gtk_widget_real_draw()  
4904         
4905         * gtk/gtkbin.c (gtk_bin_draw): remove
4906
4907         * gtk/gtkbox.c (gtk_box_draw): remove
4908
4909         * gtk/gtkbutton.c (gtk_button_draw): remove
4910
4911         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
4912
4913         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
4914
4915         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
4916
4917         * gtk/gtkclist.c (gtk_clist_draw): remove
4918
4919         * gtk/gtkentry.c (gtk_entry_draw): remove
4920
4921         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
4922
4923         * gtk/gtkfixed.c (gtk_fixed_draw): remove
4924
4925         * gtk/gtkframe.c (gtk_frame_draw): remove
4926
4927         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
4928
4929         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
4930
4931         * gtk/gtklayout.c (gtk_layout_draw): remove
4932
4933         * gtk/gtklist.c (gtk_list_draw): remove
4934
4935         * gtk/gtklistitem.c (gtk_list_item_draw): remove
4936
4937         * gtk/gtkmenu.c (gtk_menu_draw): remove
4938
4939         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
4940
4941         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
4942
4943         * gtk/gtknotebook.c (gtk_notebook_draw): remove
4944
4945         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
4946
4947         * gtk/gtkpacker.c (gtk_packer_draw): remove
4948
4949         * gtk/gtkrange.c (gtk_range_draw): remove
4950
4951         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
4952
4953         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
4954
4955         * gtk/gtktable.c (gtk_table_draw): remove
4956
4957         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
4958
4959         * gtk/gtktext.c (gtk_text_draw): remove
4960
4961         * gtk/gtktextview.c (gtk_text_view_draw): remove
4962
4963         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
4964
4965         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
4966
4967         * gtk/gtktree.c (gtk_tree_draw): remove
4968
4969         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
4970
4971         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
4972
4973         * gtk/gtkviewport.c (gtk_viewport_draw): remove
4974
4975         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
4976
4977         * gtk/gtkvscale.c (gtk_vscale_draw): remove
4978
4979         * gtk/gtkwindow.c (gtk_window_draw): remove
4980
4981 2000-20-01  Anders Carlsson  <andersca@gnu.org>
4982
4983         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
4984         a GtkToggleButton is both insensitive and active, it was being
4985         drawn by the GtkButton draw handler which doesn't check the
4986         state. Now it's calling gtk_toggle_button_paint instead.
4987         
4988 2000-12-01  Havoc Pennington  <hp@redhat.com>
4989
4990         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
4991         dangling pointers to the appearance attributes from the 
4992         line display
4993
4994         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
4995         width/height to mean "full width/height of drawable"
4996
4997         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
4998         click to select word/line
4999         
5000         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
5001         when getting log attrs. Get a slice, so that pixmaps and stuff
5002         are properly handled.
5003
5004         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
5005         paste into the selection (replaces selection now, previously
5006         crashed or added to selection). Reveals longstanding btree bug -
5007         select multiple lines, middle-click on the selection, boom. This
5008         isn't related to my changes though.
5009
5010         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
5011         PangoLogAttrs changes
5012         (gtk_entry_move_backward_word): ditto
5013
5014         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
5015         functions return bool whether the iter moved onto a
5016         dereferenceable position.
5017  
5018         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
5019         functions for motion in terms of display lines.
5020
5021         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
5022         get the buffer a mark is inside
5023         
5024 2000-12-01  Alexander Larsson  <alexl@redhat.com>
5025
5026         * gdk/linux-fb/Makefile.am:
5027         * modules/linux-fb/Makefile.am:
5028         Freetype 2 final uses freetype-config
5029
5030         * gdk/linux-fb/gdkpango-fb.c:
5031         Upgrade to use Freetype 2 final.
5032         More flexible support for font aliases, this also fixes a bug with
5033         GtkFontSelector, as the aliases must be visible in the font/family list,
5034         or GtkFontSelector reads uninitialized memory.
5035
5036 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
5037
5038         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
5039         XGetIMValues to properly terminate variable argument list, and do
5040         NULL return check for ic_values and xim_styles.
5041
5042         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
5043         Restore preedit state after XmbResetIC().
5044         
5045         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
5046         XvaCreateNestedList() should take XvaNestedList, but not
5047         XvaNestedList*.
5048
5049         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
5050         preedit_draw_callback, preedit_caret_callback): Match
5051         "preedit-changed" signal name to "preedit_changed" to be
5052         consistent to the spec.
5053
5054         * gtk/gtkimcontextsimple.c (check_table):
5055         Match "preedit-changed" to "preedit_changed" to be consistent
5056         to the spec.
5057
5058 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
5059
5060         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
5061         gc->clip_region == NULL>
5062
5063 2000-11-30  Tor Lillqvist  <tml@iki.fi>
5064
5065         Changes by Hans Breuer:
5066         
5067         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
5068         Dont't use negative width and height as max_hints. This fixes
5069         Owen's recent testgtk changes for win32.
5070
5071         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
5072         gdk_win32_hdc_release): These are exported and may be called with
5073         other drawable types than our GdkDrawableImplWin32 (?).
5074
5075         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
5076         so always #define USE_BACKING_STORE.
5077
5078         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
5079         of printf for debugging output.
5080
5081         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
5082         
5083         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
5084
5085         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
5086         declaration.
5087
5088         * gtk/gtktexttypes.h: Ditto.
5089
5090         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
5091         (GDK_VoidSymbol) also if in case of arg check failure.
5092
5093         * gtk/gtkimcontextsimple.c
5094         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
5095         position to the pointer, but to the variable it points to.
5096
5097         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
5098
5099         * gtk/gtk.def: Updates.
5100
5101 2000-11-29  Elliot Lee  <sopwith@redhat.com>
5102
5103         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
5104         GTK_TYPE_TREE_MODEL.
5105
5106 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5107
5108         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
5109         Set the size of the font from the description.
5110         (gdk_text_width): Gross hack that calculates the width
5111         of text by text_length * size/2. This is necessary because
5112         GtkLabel does some ugly gtk_string_width call to calculate
5113         an good size.
5114         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
5115
5116 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
5117
5118         * docs/tutorial/gtk-tut.sgml: DND updates
5119
5120 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5121
5122         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
5123         If you pass width or height == 0 to gdk_window_clear_area they
5124         should be calculated from the window size.
5125
5126 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5127
5128         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
5129         a grab, but no grab-cursor, use the cursor from the grabbed
5130         window. (gdk_fb_window_send_crossing_events): Send normal
5131         enter/leave notifications if grab and owner_events == TRUE.
5132
5133 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5134
5135         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
5136         Do implicit button grabs, even if the window doesn't
5137         want the event.
5138         (gdk_fb_window_send_crossing_events): If there is a
5139         grab, only the grabbed window gets normal enter/leave
5140         notifications. On ungrab go from grabbed window to current.
5141         Don't send any notification to b when propagating from c -> b.
5142         If setting a grab on window, don't set prev_window.
5143         (handle_mouse_input): Send enter/leave events to the window the
5144         mouse is over, not the grabbed one.
5145         
5146 2000-11-28  Elliot Lee  <sopwith@redhat.com>
5147
5148         * gdk/gdkregion-generic.c: Zap warning.
5149         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
5150         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
5151
5152 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
5153
5154         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
5155         The cursor should be hidden if it is part of either the
5156         source or destination region. Not only if it is in both.
5157         (gdk_window_set_transient_for): Silence warnings.
5158
5159 2000-11-28  Alexander Larsson  <alexl@redhat.com>
5160
5161         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
5162         The default mode in X is Pie Arcs, therefore that is
5163         what Gtk+ uses.
5164
5165 2000-11-28  Alexander Larsson  <alexl@redhat.com>
5166
5167         * gdk/linux-fb/gdkinput-ps2.c:
5168         Implement correct EnterNotify/LeaveNotify:
5169         (gdk_fb_window_send_crossing_events): New function that sends
5170         all GdkCrossingEvents from the last mouse-window to the specified
5171         destination.
5172         (gdk_fb_window_visibility_crossing): Removed function.
5173         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
5174         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
5175         instead of gdk_window_get_pointer() for better readability.
5176
5177         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
5178         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
5179
5180         * gdk/linux-fb/gdkprivate-fb.h:
5181         removed gdk_fb_window_visibility_crossing, added
5182         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
5183
5184         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
5185         New function that finds the least common ancestor of two windows.
5186         (gdk_window_show, gdk_window_hide):
5187         Use gdk_fb_window_send_crossing_events.
5188         (gdk_fb_window_move_resize): Send configure events to toplevel
5189         windows. Use gdk_fb_window_send_crossing_events.
5190
5191 2000-11-27  Havoc Pennington  <hp@redhat.com>
5192
5193         * gtk/gtkprivate.h (enum): Remove a trailing comma
5194
5195 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
5196
5197         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
5198         the "changed" callback of the adjustment.  We need to redraw the
5199         spin button's arrows when the adjustment's range changes.
5200         (adjustment_changed_cb): Draw the arrows.
5201         (gtk_spin_button_value_changed): Draw the arrows.
5202
5203 2000-11-23  Alexander Larsson  <alexl@redhat.com>
5204
5205         * gdk/linux-fb/gdkselection-fb.c:
5206         Initial selection implementation.
5207
5208         * gtk/gtkselection.c:
5209         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
5210         requestor in gtk_selection_request.
5211         
5212         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
5213         Added gdk_selection_property atom.
5214
5215         * gdk/linux-fb/gdkprivate-fb.h:
5216         Export _gdk_selection_window_destroyed.
5217         Removed mask_off_x/y from GdkCursorPrivateFB.
5218         Removed hbearing, added top, left to PangoFBGlyphInfo.
5219
5220         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
5221         Call _gdk_selection_window_destroyed
5222         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
5223         the root window has been created.
5224         (static_dx_hack, static_dy_hack, compare_draw_rects,
5225         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
5226         in region. They are already sorted. Instead just traverse them in
5227         reverse if draw_direction < 0.
5228         
5229         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
5230         Double-clicks must be sent after the normal button_press.
5231         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
5232         
5233         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
5234         Pass _gdk_fb_screen_gc instead of NULL.
5235
5236         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
5237         Initialize gdk_selection_property.
5238         (gdk_event_make): Remove unused code.
5239
5240         * gdk/linux-fb/gdkcursor-fb.c:
5241         Make the pixmap for the cursor the same size as the mask. Also remove
5242         the mask_off_x/y fields in GdkCursorPrivateFB and combine
5243         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
5244         Now the whole cursor is visible.
5245
5246         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
5247         Fix bug where xdest+height instead of ydest+height was used
5248         to calculate if the source and dest overlapped. This fixes the
5249         redraw bug when the main window in testgtk was scrolled when
5250         partially covered by a tall window.
5251         Copy rectangles in region in order depending on draw_direction.
5252         Also moved the draw_direction flipping of start_y and end_y into
5253         the gc functions, as this might not be what all of them want.
5254         (gdk_fb_draw_lines): Support dashed lines.
5255         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
5256         so that the text is positioned correctly (was 1 pixel high).
5257
5258         gdk/linux-fb/gdkgc-fb.c:
5259         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
5260         all lines were drawn a pixel to short. Also checked the default of
5261         the rest of the values, and they're the same as X now.
5262
5263         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
5264         Clean up pixel positioning of the glyphs. Just use bgy->top and
5265         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
5266         to all divisions to get correct rounding behaviour.
5267
5268         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
5269         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
5270         Moved start_y/end_y flip into draw_drawable implementations.
5271         Flip also x rendering when draw_direction < 0.
5272         Remove unneccesary multiply with draw_direction.
5273
5274 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
5275
5276         * docs/tutorial/gtk-tut.sgml:
5277           - get rid of gtk_toggle_button_toggled FUD
5278           - start DND section - needs work - based on:
5279                 http://wolfpack.twu.net/docs/gtkdnd/
5280
5281 2000-11-22  Alexander Larsson  <alexl@redhat.com>
5282
5283         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
5284         Correct calculation of font metrics. Now GtkEntrys have sane
5285         size.
5286
5287 2000-11-22  Alexander Larsson  <alexl@redhat.com>
5288
5289         * gdk/gdktypes.h:
5290         Add new type GdkSpan
5291         
5292         * docs/reference/gdk/gdk-sections.txt,
5293         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
5294         gdk/gdkregion.h:
5295         Implement and document gdk_region_spans_intersect_foreach.
5296
5297         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
5298         Add new file gdkrender-fb.c which contains all core
5299         rendering code.
5300         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
5301         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
5302         (optimized rectangle fillers).
5303
5304         * gdk/linux-fb/gdkdrawable-fb2.c:
5305         Move all rendering code to gdkrender-fb.c.
5306         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
5307         Use the new span intersection functions in gdk_fb_fill_spans.
5308         gdk_fb_draw_rectangle() clips filled rectangles and calls
5309         gc->fill_rectangle with the result.
5310         gdk_fb_fill_spans() gets extra argument "sorted".
5311
5312         * gdk/linux-fb/gdkevents-fb.c:
5313         Remove unused includes and defines.
5314         New function gdk_fb_get_time() to get correct time for events.
5315
5316         * gdk/linux-fb/gdkinput-ps2.c:
5317         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
5318         Make sure to set the time of all events.
5319
5320         * gdk/linux-fb/gdkmain-fb.c:
5321         Use gdk_fb_get_time ().
5322
5323         * gdk/linux-fb/gdkprivate-fb.h:
5324         New virtual GC calls: fill_span & fill_rectangle.
5325         Export gdk_fb_get_time().
5326         gdk_fb_fill_spans() gets extra argument "sorted".
5327
5328         * gdk/linux-fb/mi*.c:
5329         Use GdkSpan instead of GdkRectangle.
5330         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
5331         from XFree 4 source)
5332         
5333 2000-11-22    <jrb@redhat.com>
5334
5335         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
5336         reversing the order in an if statement will do.  Doing so managed
5337         to make the treemodelsort half work.  Other half will follow after
5338         I get the insert function fully fixed.
5339
5340 2000-11-21  Elliot Lee  <sopwith@redhat.com>
5341         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
5342         more than 2 bits. Besides, I need to implement an evil hack. :)
5343
5344 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
5345
5346         * docs/tutorial/gtk-tut.sgml: minor corrections
5347
5348 2000-11-20  Jonathan Blandford <jrb@redhat.com>
5349         * gtk/gtktreemodelsort.h: Add convertion functions to let you
5350           convert to and from relative path's and iters.
5351
5352         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
5353           testing sorting functions a bit better.  Currently broken -- will
5354           fix in morning.
5355
5356 2000-11-20  Havoc Pennington  <hp@redhat.com>
5357
5358         * gtk/gtkwidget.c: Documented a bunch of functions in here
5359         (gtk_widget_realize): Warn if you try to realize
5360         a widget with no parent that isn't a toplevel
5361         (gtk_widget_intersect): return a gboolean
5362
5363 2000-11-20  Havoc Pennington  <hp@redhat.com>
5364
5365         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
5366         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
5367         scrolling to be implemented in GDK to finish. Also, right now
5368         we just size_allocate all children on every layout change,
5369         which is pretty lame. Test commented out of testtext.c, 
5370         until it works better.
5371
5372 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
5373
5374         * gdk/linux-fb/gdkdrawable-fb2.c:
5375         Removed unused arguments from gdk_fb_drawable_get_pixel().
5376
5377         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
5378         Renamed fidur specific mouse packet data in MouseDevice to
5379         generic. Used it in ps2 mouse handling code to avoid blocking
5380         reads.
5381
5382 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
5383
5384         * demos/gtk-demo/main.c: Changed to have the list become
5385         non-italic when the demo window is destroyed through an external
5386         event (like a close button).  Doing so found three bugs in the
5387         widget.
5388
5389         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
5390
5391         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
5392         we actually set the cell.
5393
5394         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
5395
5396         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
5397         free a leaked path.  Thanks memprof.
5398
5399 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
5400
5401         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
5402         off-by-one error when destroying allocated segments
5403         on failure. (Elliot)
5404
5405 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
5406
5407         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
5408         memleaks found by Evan Martin.
5409
5410 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
5411
5412         * Released 1.3.2
5413         
5414         * NEWS: Updates for 1.3.2
5415
5416 2000-11-17  Tor Lillqvist  <tml@iki.fi>
5417
5418         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
5419         but in general for window system specific events.
5420
5421         * gtk/gtk.def
5422         * gtk/makefile.mingw.in
5423         * gtk/makefile.msc.in: Update.
5424         
5425         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
5426
5427 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
5428
5429         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
5430         distribute gtk.immodules.
5431
5432         * gtk/Makefile.am (install-data-local): Don't install the
5433         gtk.immodules file created for the uninstalled modules;
5434         instead run gtk-query-immodules after install
5435
5436 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
5437
5438         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
5439         -rpath to the right install location.
5440
5441         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
5442         -export-dynamic.
5443
5444         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
5445         properly.
5446
5447 2000-11-15  Havoc Pennington  <hp@pobox.com>
5448
5449         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
5450         patch from Mikael Hermansson to temporarily stop blinking while
5451         the user is using the keyboard to type or navigate. 
5452
5453         Also, when blinking, stay on for longer than we stay off. Also,
5454         return from start_cursor_blink if !cursor_visible, to save
5455         checking that flag all over the place before we call
5456         start_cursor_blink.
5457
5458 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
5459
5460         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
5461         only contain a "fontset" line, which is now ignored.
5462
5463         * gtk/gtkentry.c (gtk_entry_button_release): Make 
5464         double-click-to-select-word work.
5465         
5466 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
5467
5468         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
5469         Don't move back one char when we are actually at the end of the 
5470         paragraph.
5471
5472 2000-11-15  Robert Brady  <robert@suse.co.uk>
5473
5474         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
5475         'o' < 'p'.
5476         
5477         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
5478         bind_textdomain_codeset.
5479
5480         (gtk_init_check): Make the warning about translating default:LTR
5481         sterner.
5482         
5483 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
5484
5485         * **/Makefile.am : remove unecessary rules for win32-specific
5486         config-substituted targets. If you want these rules, use
5487         --enable-maintainer-mode (called automatically by autogen.sh).
5488         Stops a lot of unneccessary make-time warnings.
5489
5490         * gtk/gtktext{layout,display}.c: Factor in total width as
5491         well as screen when figuring alignment for word-wrap as well as
5492         no wrap; this is necessary to handle lines that cannot be wrapped
5493         at all.
5494
5495 2000-11-15  Havoc Pennington  <hp@redhat.com>
5496
5497         * gtk/testtext.c: Implement essential color cycling feature
5498
5499 2000-11-15  Havoc Pennington  <hp@redhat.com>
5500
5501         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
5502         when we invalidate the main window.
5503
5504         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
5505         GtkTextView will now invalidate the side windows for us when text
5506         changes.
5507
5508 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
5509
5510         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
5511         unconditionally, since we may need to update the horizontal
5512         scrollbars even if the height didn't change.
5513
5514         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
5515         the extra attrs, since some of them affect size.
5516
5517         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
5518         x_offset correctly.
5519
5520 2000-11-15  Havoc Pennington  <hp@redhat.com>
5521
5522         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
5523         don't move the first line out into the margin, instead move the
5524         whole paragraph in order to make space for the first line within 
5525         the margin
5526
5527 2000-11-15  Havoc Pennington  <hp@redhat.com>
5528
5529         * gtk/gtktextview.c (changed_handler): offset redraw rect by
5530         xoffset in addition to yoffset, so horizontal scrolling doesn't
5531         break redraws
5532
5533 2000-11-15  Havoc Pennington  <hp@redhat.com>
5534
5535         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
5536         from the cursor
5537         (render_layout_line): fix reversed test that caused weird
5538         underlines to get drawn
5539
5540 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
5541
5542         * gdk/linux-fb/gdkprivate-fb.h:
5543         Fix debug macros.
5544         
5545 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
5546
5547         * gdk/linux-fb/gdkprivate-fb.h:
5548         Added virtual functions set_pixel, get_color,
5549         fill_span and draw_drawable to the GC.
5550         Added global _gdk_fb_screen_gc to use instead of
5551         NULL when drawing to the screen.
5552         Added _gdk_fb_gc_calc_state() prototype.
5553
5554         * gdk/linux-fb/gdkgc-fb.c:
5555         Call _gdk_fb_gc_calc_state() on any gc state change.
5556
5557         * gdk/linux-fb/gdkglobals-fb.c:
5558         Add _gdk_fb_screen_gc
5559                 
5560         * gdk/linux-fb/gdkdrawable-fb2.c:
5561         _gdk_fb_gc_calc_state() calculates best functions
5562         for the GC state and depth.
5563         Moved bpp specialized code to separate functions.
5564         Added optimized 24 bpp AA draw_drawable.
5565
5566         * gdk/linux-fb/gdkevents-fb.c:
5567         Silence gcc warning.
5568
5569         * gdk/linux-fb/gdkimage-fb.c:
5570         Use _gdk_fb_screen_gc
5571
5572         * gdk/linux-fb/gdkwindow-fb.c:
5573         Init and use _gdk_fb_screen_gc
5574
5575         * gdk/linux-fb/mitypes.h:
5576         Remove unused types.
5577
5578 2000-11-14  Havoc Pennington  <hp@pobox.com>
5579
5580         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
5581         to pixels
5582
5583 2000-11-14  Havoc Pennington  <hp@pobox.com>
5584
5585         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
5586
5587         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
5588         unknown char, no real reason we were using a variable. 
5589         Remove gtk_text_unknown_char variable. Fix all the text widget
5590         files accordingly.
5591
5592         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
5593         since the Unicode spec seems to prefer that character for our
5594         purposes.
5595
5596 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
5597
5598         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
5599         value of g_getenv() isn't freeable, so g_strdup it.
5600
5601         * modules/input/inuktitut.c: Inuktitut input method.
5602
5603         * modules/input/Makefile.am: Build this.
5604         
5605 2000-11-14  Elliot Lee  <sopwith@redhat.com>
5606
5607         * gtk/Makefile.am: Install gtk.immodules, needed for operation
5608         of gtk programs.
5609
5610 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
5611
5612         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
5613         reversed > that was causing Home to go to end of previous line.
5614
5615         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
5616         modified-keypresses (leave for bindings.)
5617
5618         * modules/input/Makefile.am: Remove useless -export-dynamic
5619         from module LDFLAGS.
5620
5621 2000-11-14  Havoc Pennington  <hp@redhat.com>
5622
5623         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
5624         higher.
5625
5626         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
5627         account. Also, render rise, underline, background, etc. for
5628         pixbufs as well as text. Also, draw underlines one pixel higher.
5629
5630         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
5631         PangoAttribute for the rise, so it gets drawn properly. Also,
5632         add the GtkTextAppearance attribute for pixbuf/widget segments
5633         as well; we should go ahead and have rise, underline, background,
5634         stipple work for those
5635
5636         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
5637         Pango
5638
5639 2000-11-15  Tor Lillqvist  <tml@iki.fi>
5640
5641         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
5642
5643         * gtk/gtk.def: Update.
5644
5645         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
5646         included.
5647         (gtk_rc_get_im_module_file): Use run-time installation directory
5648         on Win32.
5649
5650         * gdk/win32/rc/gdk.rc: Remove.
5651         * gdk/win32/rc/gdk.rc.in: New file.
5652         * gdk/win32/rc/Makefile.am: New file
5653         * gdk/win32/Makefile.am: Corresponding changes.
5654
5655         * gtk/gtk.rc: Remove.
5656         * gtk/gtk-win32.rc.in: New file.
5657         * gtk/Makefile.am: Corresponding changes.
5658
5659         * configure.in: Corresponding changes.
5660
5661         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
5662         has a built gtkcompat.h. Developers using CVS code on Win32 can
5663         hand-edit it from gtkcompat.h.in.
5664
5665         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
5666         gtkcompat.h from gtkcompat.h.win32.
5667
5668 2000-11-14  Havoc Pennington  <hp@redhat.com>
5669
5670         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
5671         to default to GDK_ACTION_MOVE if the drag is within a single
5672         widget. Defaults to GDK_ACTION_COPY between widgets.
5673
5674 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
5675
5676         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
5677
5678         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
5679
5680         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
5681         srcdir != builddir
5682
5683         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
5684
5685         * configure.in (GTK_VERSION): Up to 1.3.2
5686
5687         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
5688         gtkimcontextxim.h
5689
5690         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
5691         missing doc comment.
5692
5693 2000-11-14  Alexander Larsson  <alexl@redhat.com>
5694
5695         * modules/linux-fb/basic.c:
5696         Use the glib iconv wrappers.
5697
5698 2000-11-13  Havoc Pennington  <hp@pobox.com>
5699
5700         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
5701         still more bugs.
5702
5703         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
5704         scroll the GdkWindows before realization.
5705
5706 2000-11-13  Havoc Pennington  <hp@redhat.com>
5707
5708         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
5709         where GC didn't always get updated properly
5710
5711         * demos/gtk-demo/textview.c (create_tags): Use subattributes
5712         of fonts instead of setting the entire font
5713
5714         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
5715         setting entire font
5716
5717         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
5718
5719         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
5720         a bunch of individually-settable font attributes. You can still 
5721         use the "font" and "font_desc" args, they just set all the font
5722         attributes at once.
5723
5724 2000-11-13 Elliot Lee <sopwith@redhat.com>
5725
5726         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
5727
5728 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
5729
5730         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
5731         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
5732
5733         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
5734         work better.
5735
5736 2000-11-13  Havoc Pennington  <hp@redhat.com>
5737
5738         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
5739         the module file.
5740
5741         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
5742         dest->language
5743
5744         * gtk/testtext.c: Test pixels above/below/inside paragraphs
5745         settings
5746
5747         * gtk/gtktextview.c: Implement object args and setters/getters for
5748         all the aspects of the GtkTextAttributes that are not set from
5749         GtkWidget attributes. This is spacing, justification, margins,
5750         etc.
5751
5752         (gtk_text_view_set_arg)
5753         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
5754         args
5755         (gtk_text_view_class_init): Add args for justify, left_margin,
5756         right_margin, indent, and tabs
5757         
5758
5759         * gtk/gtktextlayout.c (set_para_values): fix to display indent
5760         attribute properly
5761
5762         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
5763         replace with indent attribute
5764
5765         * gtk/gtktextlayout.c (set_para_values): multiply indent by
5766         PANGO_SCALE
5767
5768         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
5769         rearranging code to do that
5770         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
5771         i.e. don't subtract the top_margin first, just to keep
5772         all margin-futzing in one place.
5773
5774         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
5775
5776         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
5777         special case of last line, Pango now handles this itself.
5778         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
5779         Y coordinate
5780         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
5781         (find_display_line_above): wasn't moving the byte index as it
5782         iterated over lines, so always returned byte 0. Also, port to use
5783         PangoLayoutIter.
5784         (find_display_line_below): same problem as
5785         find_display_line_above. Also, port to use PangoLayoutIter.
5786
5787 2000-11-13  Alexander Larsson  <alexl@redhat.com>
5788
5789         * gdk/linux-fb/*.[ch]:
5790         Massive reindent to gtk+ standard. My hands hurt.
5791
5792         * gdk/linux-fb/gdkcolor-fb.c:
5793         Move GdkColorPrivateFB from inherited to windowing_data
5794
5795         * gdk/linux-fb/gdkcursor-fb.c:
5796         _gdk_cursor_new_from_pixmap made static
5797
5798         * gdk/linux-fb/gdkdnd-fb.c:
5799         GdkDragContextPrivate moved to windowing_data
5800
5801         * gdk/linux-fb/gdkdrawable-fb2.c:
5802         Removed endian.h, use glib endianness macros instead
5803         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
5804         and GDK_DRAWABLE_IMPL_FBDATA
5805
5806         * gdk/linux-fb/gdkfont-fb.c:
5807         Add empty gdk_font_load(). Needed for linking of Gtk+.
5808
5809         * gdk/linux-fb/gdkimage-fb.c:
5810         Removed endian.h, use glib endianness macros instead
5811         Moved GdkImagePrivateFB to windowing_data
5812         gdk_image_new_bitmap didn't always allocate enough
5813         memory.
5814
5815         * gdk/linux-fb/gdkinput-ps2.c:
5816         Added semi-working support for MS serial mice.
5817
5818         * gdk/linux-fb/gdkprivate-fb.h:
5819         s/GdkWindowPrivate/GdkWindowObject/
5820         Removed GdkWindowPrivate typedef
5821         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
5822         Removed GDK_DRAWABLE_P
5823         Move GdkColorPrivateFB from inherited to windowing_data
5824         Moved GdkImagePrivateFB to windowing_data
5825
5826         * gdk/linux-fb/gdkvisual-fb.c:
5827         Removed some unused debug code.
5828
5829         * gdk/linux-fb/gdkwindow-fb.c:
5830         Use stock cursors instead of including X headers.
5831         s/GdkWindowPrivate/GdkWindowObject/
5832
5833         * gdk/linux-fb/mitypes.h:
5834         Removed unused types.
5835
5836         * modules/linux-fb/basic.c:
5837         Use the pango fribidi wrappers.
5838
5839 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5840
5841         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
5842         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
5843         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
5844         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
5845         GEqualFunc where applicable.
5846         
5847         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
5848         pango_font_description_equal as changed in pango.
5849         
5850         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
5851
5852         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
5853
5854         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
5855
5856         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
5857
5858         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
5859
5860         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
5861
5862         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
5863         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
5864
5865         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
5866         gtk_rc_styles_compare -> gtk_rc_styles_equal.
5867
5868 2000-11-12  Havoc Pennington  <hp@pobox.com>
5869
5870         * demos/gtk-demo/Makefile.am (democodedir): change demo install
5871         dir to datadir/gtk+-2.0/demo
5872
5873         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
5874         sorts of text widget and Pango font bugs. Urgh.
5875
5876         * demos/gtk-demo/Makefile.am (demos): Add textview.c
5877
5878         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
5879         tree that you should double click to see the demo. Fix 
5880         types of variables to reflect changed return values from 
5881         GtkTreeStore and GtkTreeViewColumn constructors.
5882
5883         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
5884         newly-created buffer to prepare for GObject semantics
5885
5886         * gtk/testtext.c: don't leak the buffer with GObject semantics
5887
5888         * gtk/testtextbuffer.c: ditto
5889         
5890 2000-11-12  Havoc Pennington  <hp@pobox.com>
5891
5892         Rename this testgtk to gtk-demo to avoid confusion, and 
5893         install it so people can use it as a supplement to 
5894         the documentation.
5895         
5896         * demos/gtk-demo: Moved from demos/testgtk
5897
5898         * demos/testgtk: Removed
5899
5900         * configure.in: make Makefile in gtk-demo
5901         
5902         * demos/gtk-demo/Makefile.am: Install sample source to 
5903         datadir/gtk-demo (maybe there's a better place?), and 
5904         rename the binary to gtk-demo
5905         
5906         * demos/gtk-demo/main.c (load_file): Load installed sample
5907         source if source isn't found in pwd.
5908
5909 2000-11-09  Havoc Pennington  <hp@pobox.com>
5910
5911         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
5912         argument to set the char displayed when visibility == FALSE
5913         (gtk_entry_create_layout): If !entry->visible, replace 
5914         all chars with the "invisible char"
5915
5916         * gtk/testgtk.c: Test the invisible_char deal
5917         
5918 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
5919
5920         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
5921         can't get a native font in the right encoding.
5922
5923 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
5924
5925         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
5926         respectively.
5927
5928 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
5929
5930         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
5931         Fix warning when moving between paragraphs.
5932
5933         * gtk/gtkentry.[ch]: Change move => move_cursor, 
5934         delete => delete_from_cursor, insert => insert_at_cursor
5935
5936 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
5937
5938         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
5939
5940         * modules/input/imthai-broken.c: A Thai input method for use if
5941         Thai keys are really generating Latin1 keysyms.
5942
5943         * modules/input/Makefile.am: Build these.
5944
5945 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
5946
5947         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
5948         g_filename_{to,from}_utf8 now takes an extra parameter.
5949
5950         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
5951         strftime into UTF-8.
5952
5953         (column_from_x, gtk_calendar_paint_day_names): Support RTL
5954         calendars.
5955
5956         (gtk_calendar_paint_day_names): Draw day names in the right 
5957         place.
5958         
5959 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
5960
5961         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
5962         problem with using result of g_get_charset() backwards -
5963         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
5964
5965         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
5966         negative min_width/height and max_width/height to
5967         mean "requisition"; this allows setting a window
5968         to be user-resizable in only one direction easily.
5969
5970         * gtk/testgtk.c (create_main_window): Remove hard-coded
5971         usize - set a default size in the vertical direction.
5972
5973 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
5974
5975         * gtk/gtkrange.c: Add some missing casts. Support 
5976         2 and 3 button clicks on the arrows to mean 
5977         "move by pages" and "jump to end". (Like gtkspinbutton)
5978
5979 2000-11-12 Hans Breuer <Hans@Breuer.Org>
5980
5981         * gdk/win32/makefile.msc : reflect build module changes
5982
5983         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
5984         from GdkPixmap*, cast implementation member instead.
5985
5986         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
5987         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
5988         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
5989         more Gdi functions return value checking. 
5990         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
5991         GdkImagePrivateWin32 *.
5992
5993         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
5994         menus useable again. Add #pragma message to keep reminded on this issue.
5995         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
5996         windows. This allows to enable backing store on Win32!
5997
5998         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
5999         in drawable is of impl type. Correct specific type checks appropriate.
6000  
6001         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
6002         GDK_WINDOW_DESTROYED before allocating new resources.
6003
6004         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
6005
6006         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
6007         (gdk_window_foreign_new) initialize parent handle.
6008         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
6009
6010         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
6011         Let the GDI invalidate the window on MoveWindow call to fix scrolling
6012         problems (e.g. main buttons in testgtk). 
6013
6014 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
6015
6016         * gtk/gtkentry.c (gtk_entry_key_press): Call 
6017         gtk_widget_activate for GDK_Return.
6018
6019         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
6020         of preedit cursor position.
6021
6022 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
6023
6024         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
6025         static.
6026
6027 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
6028
6029         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
6030         out support for multiple locales; that simple doesn't
6031         work reliably with current Xlib
6032
6033         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
6034         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
6035         Add support for positioning the cursor within the preedit string.
6036
6037 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
6038
6039         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
6040         at XIM input method module.
6041
6042         * gtk/gtktextview.c: Check for bindings after passing
6043         events to im context filter.
6044
6045 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
6046
6047         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
6048         empty attribute lists properly.
6049
6050 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
6051
6052         * gtk/queryimmodules.c (main): Return non-zero exit
6053         status if errors were encountered querying any
6054         modules.
6055
6056         * modules/input/Makefile.am (moduledir): remove
6057         leftover bin program target.
6058
6059         * docs/make-todo: Fix typo in error message.
6060
6061 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
6062
6063         * configure.in: Add modules/input/Makefile
6064
6065 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
6066
6067         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
6068         don't include gtkthemes.h.
6069
6070         * gtk/testgtk.c gtk/testtext.c: Set environment variables
6071         to point
6072
6073         * gtk/Makefile.am: Add new .c and .h files, build 
6074         gtk-query-immodules and use it to create a gtk.immodules
6075         file for use of test programs.
6076
6077         * gtk/gtkpreview.c: remove extra blank line.
6078
6079 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
6080
6081         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
6082         Add the ability to add extra tables beyond the default
6083         one, and also the ability to have compose sequences 
6084         that are prefixes of other compose sequences. 
6085
6086         * gtk/gtkimcontextsimple.c: Export a preedit string which
6087         consists of possible candidates for keystrokes that have
6088         been entered but not yet committed.
6089
6090         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
6091         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
6092
6093         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
6094         Add a function to add input-method switching menu items
6095         to a menu.
6096
6097         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
6098         when switching input methods.
6099
6100         * gtk/gtkimcontextsimple.[ch]: Change the format of
6101         the compose table to allow compose tables of different
6102         lengths / sequence.
6103
6104 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
6105
6106         * gtk/gtkimmodule.[ch]: Support routines for loading
6107         GtkIMContext implementations dynamically at runtime.
6108
6109         * modules/input/imcyrillic-translit.c: A sample input
6110         method (based on GtkIMContextSimple with an extra table),
6111         which demonstrates preedit strings and the module
6112         system for input modules
6113
6114         * gtk/queryimmodules.c: Program to query the available
6115         input modules and write the results into a file.
6116          
6117         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
6118         extra config options "im_module_file" (cache file for
6119         input method modules), and "im_module_path" - path
6120         to look for modules when generating cache file.
6121
6122         This doesn't scale.
6123
6124 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
6125
6126         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
6127         generic code from gtkthemes into a new abstraction
6128         GtkModule which has the logic for implementing
6129         a loadable module which implements a number of 
6130         GObject types.
6131
6132 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
6133
6134         * gtk/gtkeditable.[ch]: Convert GtkEditable from
6135         a class into an interface  
6136         
6137         * gtk/gtkoldeditable.[ch]: Move the old editable
6138         implementation into here, so legacy widgets can
6139         still rely on the implemenation. GtkOldEditable
6140         exports GtkEditable. Make selection handling
6141         code use new text conversion functions (and
6142         handle UTF-8 as a side-effect). Use GtkClipboard
6143         for CLIPBOARD.
6144
6145         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
6146         Adopt to match above changes.
6147
6148         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
6149         avoid GtkOldEditable implementation. Restructure
6150         to reduce number of places that modify state directly.
6151         Move to GtkBindingSet. Display the preedit string.
6152         Queue recomputation of PangoLayout and scroll position
6153         to improve effiency of doing complex changes naively.
6154         Add a menu with cut/copy/paste and input method selection.
6155
6156 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
6157
6158         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
6159         to set preedit string and attributes; display preedit string by
6160         inserting string and attributes at cursor when creating the
6161         GtkTextLineDisplay.
6162
6163         * gtk/gtktextlayout.c: Move all conversions between byte
6164         positions in PangoLayout and GtkTextIter into new functions
6165         line_display_iter_to_index/index_to_iter that properly
6166         handle the preedit string.
6167
6168         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
6169         it to return const char * (eventually will end up
6170         as GCONST char *, most likely.)
6171
6172         * gtk/gtktextview.[ch]: Handle the preedit string, call
6173         gtk_im_context_reset() as necessary, add a menu to switch
6174         input methods.
6175         
6176         * gtk/gtktextlayout.[ch]: Remove useless
6177         gtk_text_layout_get_log_attrs() function.
6178
6179 2000-11-11  Tor Lillqvist  <tml@iki.fi>
6180
6181         * gdk/gdk.def
6182         * gtk/gtk.def: Update.
6183
6184         * gdk/win32/*.c: Add last argument to g_type_register_static()
6185         calls.
6186
6187         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
6188
6189         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
6190         generated by older wheel mouse drivers. Get the correct y
6191         coordinate from WM_MOUSEWHEEL messages.
6192
6193         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
6194         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
6195         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
6196         Debugging functions.
6197
6198         * gdk/win32/gdkprivate-win32.h: Declare them.
6199
6200         * gdk/win32/gdkinput-win32.h: Add declaration for
6201         gdk_input_window_destroy().
6202
6203         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
6204
6205 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
6206
6207         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
6208         function to help handle keeping things in sync.
6209
6210 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
6211
6212         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
6213         BOXED marshallers.
6214
6215         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
6216         (gtk_list_store_class_init): use the new BOXED marshallers.
6217
6218         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
6219         new_with_values to new_with_types.
6220         (gtk_tree_store_get_column_type): add this.
6221         (gtk_tree_store_class_init): use the new BOXED marshallers.
6222
6223         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
6224         mirror some POINTER marshallers.
6225
6226 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
6227
6228         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
6229         allow more interesting iterators.  Also, made the lifecycle of
6230         iterators more explicit.
6231
6232         * gtk/gtktreemodelsort.[ch]: New model for sorting.
6233
6234         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
6235         types.
6236
6237 2000-11-09  Alexander Larsson  <alexl@redhat.com>
6238
6239         * demos/testgtk/menus.c:
6240         Changes to make the new testgtk compile after
6241         gtk_menu_append was removed.
6242
6243         * gdk/linux-fb/gdkdrawable-fb2.c
6244         (gdk_fb_get_depth, gdk_fb_get_visual,
6245         gdk_drawable_impl_fb_class_init): Implement
6246         these drawable functions. Now GtkImages work again.
6247
6248         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
6249
6250         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
6251         
6252         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
6253         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
6254         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
6255         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
6256
6257 2000-11-08  Havoc Pennington  <hp@pobox.com>
6258
6259         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
6260         visible_set args, don't know where these had gone, I thought they
6261         used to be there
6262
6263         * gtk/testtext.c: Add a menu item to apply invisibility tag;
6264         now we can test the feature and see that it's totally broken.
6265
6266 2000-11-08  Havoc Pennington  <hp@pobox.com>
6267
6268         Make DND copy pixbufs and tags when source and target share a 
6269         tag table.
6270         
6271         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
6272         in-process GTK_TEXT_BUFFER_CONTENTS target
6273         (gtk_text_view_drag_data_received): Paste from
6274         GTK_TEXT_BUFFER_CONTENTS if we receive it.
6275
6276 2000-11-08  Alexander Larsson  <alexl@redhat.com>
6277
6278         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
6279         API changes.
6280
6281         * gtk/gtkmenu.c: Add support for scrolling menus.
6282         Remove gtk_menu_append/prepend/insert, these have been moved to
6283         gtkcompat.h as #defines.
6284
6285         * gtk/gtkcompat.h.in:
6286         Add compatibility #defines for gtk_menu_append/prepend/insert
6287
6288         * gtk/gtkmenu.h: Add data needed for scrolling menus.
6289         GtkMenuPositionFunc gets an extra argument push_in.
6290         gtk_menu_append/prepend/insert removed.
6291         
6292         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
6293         positioning behaviour to fit to scrolling menus.
6294
6295         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
6296         into menuitem->submeny. That is wrong, and broke torn
6297         off submenus of torn off menus, since they were unrealized
6298         when the first menu was unrealized.
6299
6300         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
6301         gtk_menu_shell_select_item() since these need to be overridden in
6302         GtkMenu.
6303
6304         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
6305         positioning behaviour to fit to scrolling menus.
6306         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
6307         the current item so that it is prelighted when the menu pops up.
6308         This is a workaround to the fact that the menu doesn't get the
6309         initial enter event (due to grabs).
6310
6311         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
6312         s/gtk_menu_append/gtk_menu_shell_append/
6313
6314         * gtk/gtknotebook.c:
6315         s/gtk_menu_insert/gtk_menu_shell_insert/
6316
6317         * gtk/testgtk.c (create_menu, create_menus):
6318         Create the first menu with 50 items so that menu scrolling
6319         can be tested.
6320         
6321         
6322         Patch from Jonathan Blandford  <jrb@redhat.com>
6323
6324         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
6325         system to handle size requests.  First, we ask what the size of
6326         the toggle is.  Then, when allocating the size, we allocate the
6327         toggle_size first.  This way we can have multiple menu-item
6328         classes w/o needing a seperate class for each.
6329
6330         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
6331         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
6332
6333         * gtk/gtkcheckmenuitem.c
6334         (gtk_check_menu_item_toggle_size_request): New function to handle
6335         the toggle size-request.
6336
6337 2000-11-07  Havoc Pennington  <hp@redhat.com>
6338
6339         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
6340         Half-ass somewhat fix this function, so that scrolling to the
6341         insertion point works. Pango hacking is in the future to really
6342         fix it.
6343
6344         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
6345         length of data, no longer used.
6346
6347         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
6348         method contents in here, get rid of destroy method
6349         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
6350         that were backward. Remove debug spew.
6351         (cut_or_copy): Make the clipboard work with insert_range to
6352         preserve tags and pixbufs, not just the primary selection.
6353
6354 2000-11-07  Havoc Pennington  <hp@redhat.com>
6355
6356         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
6357         to gtk_text_mark_get_visible
6358
6359         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
6360         bug that was generating an invalid iterator
6361
6362         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
6363         ensure_char_offsets() in front of code placing the iter in an
6364         invalid state.
6365
6366         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
6367         make override_location arg const
6368         (paste): Replace the selection if we paste into the 
6369         current selection
6370
6371         * gtk/gtkselection.h: Remove "GtkSelectioData"
6372         (struct _GtkSelectionData): move the definition here.
6373
6374         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
6375         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
6376
6377         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
6378
6379         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
6380         (gtk_text_buffer_insert_range_interactive): implement
6381         (gtk_text_buffer_get_tags): Remove, replaced by
6382         gtk_text_iter_get_tags()
6383
6384         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
6385         limit parameter, to avoid infinite linear scan.
6386         (gtk_text_iter_backward_search): Add search limit
6387         (gtk_text_iter_forward_find_char): Add search limit
6388         (gtk_text_iter_backward_find_char): Add search limit
6389
6390 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
6391
6392         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
6393         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
6394         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
6395         gdk/linux-fb/gdkwindow-fb.c:
6396         use g_object_new() instead of g_type_create_instance() which
6397         is a private function for fundamental type implementations.
6398
6399         * gdk/linux-fb/gdkinput-ps2.c:
6400         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
6401         instead just store the current modifier state. Add a (somewhat broken)
6402         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
6403         Rename exported function gdk_input_ps2_get_mouseinfo to
6404         gdk_input_get_mouseinfo.
6405
6406         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
6407         gdk/linux-fb/gdkwindow-fb.c:
6408         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
6409         
6410
6411 2000-11-02  Havoc Pennington  <hp@redhat.com>
6412
6413         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
6414         use stock buttons. Should be 100% source compatible, appropriate
6415         filesel fields now point to dialog->vbox and dialog->action_area.
6416         On the bizarre side, dialog->action_area and filesel->action_area
6417         are not the same widget.
6418         (gtk_file_selection_init): Put some padding around the selection
6419         entry, so it isn't touching the GtkDialog separator.    
6420
6421         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
6422         use stock buttons, etc. Should also be source compatible.
6423         Set the dialog default title in _init not _new().
6424         
6425         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
6426         Use stock buttons; don't put a button box inside the existing
6427         dialog button box. Don't bother with push/pop colormap anymore.
6428
6429         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
6430         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
6431         for message dialog, and necessary for the font selection and color
6432         selection with help and apply buttons.
6433         
6434         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
6435         to the created button widget. Set GTK_CAN_DEFAULT on the button.
6436         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
6437         between buttons, put less padding around the action area.
6438         (gtk_dialog_run): Exit on unmap rather than on destroy. 
6439         This will also exit the loop if the widget is hidden.
6440         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
6441         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
6442         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
6443         special-case delete event.
6444
6445         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
6446         formatting
6447         
6448 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
6449
6450         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
6451         button to temporarily disable position recording in the
6452         "saved position" test.
6453
6454 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
6455
6456         * gtk/gtkthemes.c: added compat code that temporarily implements
6457         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
6458         going to be revamped by owen's upcoming GtkModule patches, but
6459         untill then people want gtk to build, right? ;)
6460
6461 2000-11-04  Havoc Pennington  <hp@pobox.com>
6462
6463         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
6464         list
6465
6466         * docs/Changes-2.0.txt: Add note about
6467         gtk_container_get_toplevels()
6468
6469         * gtk/gtktextview.h: formatting
6470         
6471         * gtk/gtktextview.c: don't start descriptions with "Returns",
6472         confuses gtk-doc
6473
6474 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
6475
6476         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
6477         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
6478
6479 2000-11-03  Havoc Pennington  <hp@redhat.com>
6480
6481         * gtk/gtktexttagtable.c: Docs
6482         (gtk_text_tag_table_size): return a signed int
6483
6484         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
6485         (gtk_text_tag_event): make the event_object a GObject
6486
6487         * gtk/gtktextview.c: Write API docs for all functions.
6488
6489         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
6490         for gtk_text_view_get_window_type() called on one of the private
6491         windows.
6492
6493         * gtk/gtktextview.c: Instead of accessing text_view->buffer
6494         directly, call get_buffer() which demand-creates a default
6495         buffer. So gtk_text_view_new() can be used to create a view with a
6496         default buffer in it, if you just want an empty text box users can
6497         put data in. Useful for GUI builders also.
6498
6499 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
6500
6501         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
6502         the charset encodign portion MUST be in lowercase.
6503         * gtk/gtkrc.az: added file for Azeri language
6504
6505 2000-11-03  Havoc Pennington  <hp@redhat.com>
6506
6507         Get widgets working on the btree/buffer side. Display of them 
6508         still doesn't work.
6509         
6510         * gtk/gtktextview.c: start implementing child widget stuff
6511
6512         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
6513
6514         * gtk/gtktextlayout.c: handle embedded widgets
6515
6516         * gtk/gtktextdisplay.c: handle embedded widgets
6517
6518         * gtk/gtktextchild.c: Implement all the child anchor goo
6519
6520         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
6521         function
6522
6523         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
6524         (insert_pixbuf_or_widget_segment): abstract out common portions of 
6525         creating a child anchor or a pixbuf segment.
6526         (gtk_text_btree_create_child_anchor): new function
6527         (gtk_text_btree_unregister_child_anchor): new function
6528
6529         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
6530         allocate_child signal on GtkTextLayout
6531
6532         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
6533         values
6534         (gtk_text_iter_get_child_anchor): new function
6535
6536         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
6537         default handler for the changed signal, which calls
6538         gtk_text_buffer_set_modified(), instead of just always emitting
6539         changed then calling set_modified() manually. I guess this is
6540         maybe more flexible. It seems logical.
6541
6542 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
6543
6544         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
6545         now.
6546
6547         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
6548
6549 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
6550
6551         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
6552         been marked static.
6553
6554 2000-11-02  Havoc Pennington  <hp@redhat.com>
6555
6556         * gtk/testgtk.c (create_labels): had a test backward
6557
6558         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
6559         fields, so the dest GC ends up with the correct clip origin, 
6560         etc. Fixes a bug where colored labels didn't redraw 
6561         properly.
6562
6563 2000-11-02  Alexander Larsson  <alexl@redhat.com>
6564
6565         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
6566         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
6567         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
6568         Add last argument to t_type_register_static call.
6569         
6570         * gdk/linux-fb/gdkdrawable-fb2.c:
6571         Add last argument to t_type_register_static call.
6572         export the get_image drawable virtual function.
6573
6574         * gdk/linux-fb/gdkimage-fb.c:
6575         Add last argument to t_type_register_static call.
6576         rename gtk_image_get to _gdk_fb_get_image and
6577         export it for use by gdkdrawable-fb2.
6578
6579         * gdk/linux-fb/gdkprivate-fb.h:
6580         export _gdk_fb_get_image.
6581
6582         * gdk/linux-fb/gdkselection-fb.c:
6583         Add new api call stubs.
6584
6585         * gtk/Makefile.am:
6586         Missing ( in linux-fb part.
6587
6588         * modules/linux-fb/Makefile.am:
6589         Must link with gdk_pixbuf or get unresolved symbol.
6590
6591 2000-11-01  Havoc Pennington  <hp@pobox.com>
6592
6593         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
6594         GTK_TYPE_TEXT_ITER and BOXED marshallers
6595
6596         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
6597
6598         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
6599         
6600         * gtk/gtk-boxed.defs: add GtkTextIter
6601
6602         * gtk/gtkmarshal.list: Add marshallers for text widget that 
6603         properly use OBJECT and BOXED
6604
6605 2000-11-01  Havoc Pennington  <hp@redhat.com>
6606
6607         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
6608
6609         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
6610         before returning it. 
6611         
6612 2000-11-01  Havoc Pennington  <hp@redhat.com>
6613
6614         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
6615         Clip the rectangle to be rendered to the drawable, since
6616         get_from_drawable() requires a region within the drawable
6617
6618 2000-11-01  Havoc Pennington  <hp@redhat.com>
6619
6620         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
6621         from coordinates.
6622
6623 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
6624
6625         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
6626         it isn't NULL.
6627
6628 2000-11-01  Havoc Pennington  <hp@pobox.com>
6629
6630         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
6631         on a label
6632         (gtk_label_finalize): unref the attr list if any.
6633
6634         * gtk/testgtk.c (create_get_image): close test on second click
6635         (make_message_dialog): close dialog if it exists
6636
6637         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
6638
6639         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
6640         gdk-pixbuf
6641
6642         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
6643         from Pango markup format
6644         (gtk_label_set_markup_with_accel): ditto but with accelerator
6645         parsing
6646
6647         * gtk/gtkimage.c (gtk_image_expose): reformatting.
6648
6649         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
6650         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
6651         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
6652         call gdk_window_get_origin().
6653
6654         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
6655         implement GDK_PIXBUF_ALPHA_FULL
6656         
6657 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
6658
6659         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
6660         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
6661         g_signal_handlers_disconnect_matched to block/unblock and disconnect
6662         multiple handlers respectively, instead of only treating the
6663         first handler found (bug reported by owen).
6664
6665 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
6666
6667         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
6668
6669         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
6670
6671         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
6672         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
6673         gtk/gtktreeviewcolumn.h: Fixed inline docs.
6674
6675         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
6676         widget.  Needs writing someday.
6677
6678         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
6679         the docs.
6680
6681 2000-10-30  Havoc Pennington  <hp@redhat.com>
6682
6683         * gtk/gtktextview.h, gtk/gtktextview.c:
6684         Rename delete_at_cursor delete_from_cursor, and 
6685         move to move_cursor.
6686
6687 2000-10-30  Havoc Pennington  <hp@redhat.com>
6688
6689         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
6690         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
6691         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
6692         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
6693         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
6694         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
6695         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
6696         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
6697         gtktexttypes.h, gtktextview.c, gtktextview.h:
6698
6699         Massive reindentation and reformatting. Arg alignment and comments
6700         still need fixing in various places.
6701
6702 2000-10-30  Havoc Pennington  <hp@redhat.com>
6703
6704         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
6705         to be named insert_at_cursor and delete_at_cursor so C++ can
6706         handle them.
6707
6708 2000-10-28  Tor Lillqvist  <tml@iki.fi>
6709
6710         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
6711         to get a double directory separator in case the home directory
6712         ends with one. This would cause trouble especially on Windows,
6713         where the path will be confused with the syntax for an an UNC
6714         (network share) path \\server\share\path.
6715         (gtk_rc_add_initial_default_files): Ditto.
6716
6717 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
6718
6719         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
6720
6721         * gtk/gtktextview.c: Use correct marshallers.
6722
6723 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
6724
6725         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
6726         use new iter stuff, and added all the appropriate signals et al.
6727
6728         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
6729         code is internal to gtk only.
6730
6731 2000-10-28  Tor Lillqvist  <tml@iki.fi>
6732
6733         * gtk/gtk.def
6734         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
6735         glib-genmarshal etc.
6736
6737 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
6738
6739         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
6740         parallel builds.
6741
6742 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
6743
6744         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
6745
6746 2000-10-27  Robert Brady  <robert@suse.co.uk>
6747
6748         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
6749         en_GB (British), ia (Interlingua).
6750
6751 2000-10-26  Havoc Pennington  <hp@redhat.com>
6752
6753         * gtk/gtktextiter.c (my_strrstr): fix constness warning
6754
6755         Fixed output of:
6756         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
6757         
6758         * gtk/gtktextsegment.c (char_segment_new): rename
6759         (_char_segment_new_from_two_strings): rename
6760         (_toggle_segment_new): rename
6761         
6762         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
6763         (make_clipboard_widget): make it static
6764         (text_get_func): static
6765         (text_clear_func): static
6766
6767         * gtk/gtkcolorsel.c (adjustment_changed): make this function
6768         static
6769         (hex_changed): make it static
6770         (hsv_changed): make it static
6771         (opacity_entry_changed): make it static
6772
6773         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
6774         (toggle_segment_check_func): rename with _gtk
6775
6776         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
6777         (_widget_segment_new): rename
6778         (_widget_segment_add): rename
6779         (_widget_segment_remove): rename
6780         (_widget_segment_ref): rename
6781         (_widget_segment_unref): rename
6782
6783         * gtk/gtktextmark.c (_mark_segment_new): Rename
6784         _gtk_mark_segment_new   
6785
6786 2000-10-26  Havoc Pennington  <hp@redhat.com>
6787
6788         * gtk/gtkmarshal.list: add new marshallers used by the text widget
6789         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
6790         types
6791
6792         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
6793         marshaller types
6794
6795         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
6796         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
6797         license on these files.
6798
6799         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
6800         work.
6801
6802         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
6803         runtime random number different for each tree, instead of 
6804         a constant I made up.
6805
6806 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
6807
6808         * gtk/Makefile.am: buncha cleanups, kludged build sources
6809         dependencies with a Makefile: oldest-source-stamp dependancy
6810         for the moment. automake is really fighting us here, with
6811         intentionally not allowing user-defined rules or dependancies
6812         prior to it's -include $(DEP_FILES) statement. sucks rocks!
6813
6814         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
6815         to public headers. tehy have a comment stating that they are
6816         "semi-public" aren't included by gtk.h and if enums popup there,
6817         they can be /*< skip >*/-ed.
6818
6819         * gtk/gtktextlayout.h: 
6820         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
6821         added LGPL... <SIGH>
6822
6823 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
6824
6825         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
6826         GtkTreeIter.  Added iterators everywhere.
6827
6828         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
6829
6830         * gtk/gtktreeviewselection.c: Changed to use the iterators.
6831
6832         * gtk/gtktreestore.c: Changed to use the iterators.
6833
6834         * gtk/gtkliststore.c: Commented out the code.  Will convert to
6835         iterators tomorrow.
6836
6837         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
6838         iterators tomorrow.
6839
6840         * gtk/treestoretest.c: Changed to use iterators.
6841
6842         * demos/testgtk/main.c: Moved to use the new iterator system.
6843
6844 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
6845
6846         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
6847         localization misbehaviour.
6848
6849         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
6850         a useless type without copy/free.
6851
6852         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
6853         of GTK_TYPE_CTREE_NODE.
6854
6855 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
6856
6857         * gtk/gtksignal.c:
6858         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
6859         applicable.
6860
6861         * gtk/gtk-boxed.defs (GtkSelectionData): specify
6862         gtk_selection_data_copy and gtk_selection_data_free
6863         do GtkSelectionData work as params in signals.
6864
6865 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
6866
6867         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
6868         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
6869         couldn't they at least give it a non-standard name?
6870         
6871         * gtk/gtktextlayout.c: arg! yet another implementation of
6872         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
6873
6874         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
6875         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
6876         home. now i know this _is_ a conspiracy.
6877
6878         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
6879         ::state-changed.
6880
6881         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
6882         (gtk_accel_group_create_add): marshaller signature fixups.
6883
6884         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
6885         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
6886
6887         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
6888         anymore.
6889
6890 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
6891
6892         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
6893         due to the signal system changes, it wouldn't build currently. to
6894         be fixed soon.
6895
6896         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
6897
6898         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
6899         so it needs gtk_marshal_VOID__ENUM() instead of
6900         gtk_marshal_NONE__UINT().
6901
6902         * gdk/gdk*.c: adapted type registration functions.
6903
6904         * gtk/gtkbindings.c:
6905         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
6906         gone.
6907
6908         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
6909
6910         * gtk/gtkobject.c:
6911         (gtk_object_destroy):
6912         (gtk_object_shutdown): fixed recursion guards. basically we have to
6913         catch the case where any of GObject.shutdown() or gtk_object_destroy()
6914         is called during ::destroy, and avoid recursion there.
6915
6916         * gtk/gtktypeutils.c:
6917         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
6918         boxed_copy/boxed_free. this needs a more general solution based on a
6919         publically installed code-generator utility.
6920
6921         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
6922         glib's gobject has support for that now.
6923         define GtkSignalMarshaller in terms of GSignalCMarshaller.
6924
6925 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
6926
6927         * gtk/gtksignal.[hc]:
6928         * gtk/gtkmarshal.[hc]:
6929         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
6930         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
6931         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
6932         care of that.
6933
6934         * *.c: marshaller name fixups.
6935
6936         * gtk/gtkmarshal.list: added a comment briefing the format.
6937
6938 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
6939
6940         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
6941         compatibility macros here now. more specifically, most of
6942         the API is preserved (yes, _most_, nonwithstanding the
6943         following exceptions listed, the API is stil lHUGE ;)
6944         things that got removed completely:
6945         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
6946         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
6947         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
6948         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
6949         gtk_signal_remove_emission_hook().
6950         non-functional functions variants:
6951         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
6952         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
6953         not supported anymore.
6954         (gtk_signal_compat_matched): new internal function to aid
6955         implementation of the compatibility macros, it  provides
6956         functionality to block/unblock/disconnect handlers based
6957         on func/data.
6958
6959         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
6960
6961         * *.c: adaptions to new type registration API signatures.
6962
6963 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
6964
6965         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
6966
6967 2000-10-25  Robert Brady  <robert@suse.co.uk>
6968
6969         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
6970         gdk_property_delete): If window == NULL, assume the root window.
6971         (restoring the behaviour that was in 1.2).
6972         
6973         * gtk/testtext.c (save_buffer): Allow creation of new files when
6974         saving.
6975
6976         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
6977         calls to read().
6978
6979 2000-10-25  Tor Lillqvist  <tml@iki.fi>
6980
6981         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
6982
6983         * gdk/win32/gdkdrawable-win32.c
6984         * gdk/win32/gdkimage-win32.c
6985         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
6986         X11 backend.
6987
6988         * gdk/win32/gdkcc-win32.c
6989         * gdk/win32/gdkcolor-win32.c
6990         * gdk/win32/gdkfont-win32.c
6991         * gdk/win32/gdkinput-win32.c
6992         * gdk/win32/gdkmain-win32.c
6993         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
6994
6995 2000-10-24  Havoc Pennington  <hp@redhat.com>
6996
6997         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
6998         it a static function
6999
7000         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
7001         redraw text when a tag is applied to it.
7002
7003         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
7004         (gtk_text_tag_affects_nonsize_appearance): private functions to
7005         see if a tag requires various kinds of redraw/layout to be queued
7006         up.
7007
7008         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
7009
7010         * gtk/testtext.c (fill_example_buffer): Put the cursor 
7011         at the start of the buffer, so search works by default
7012
7013         * gtk/gtktextiter.c (lines_match): init match_start always
7014
7015         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
7016         function, get iter at a line + a byte index
7017
7018         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
7019         to set byte position within a line
7020         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
7021
7022 2000-10-23  Havoc Pennington  <hp@redhat.com>
7023
7024         * gtk/testtext.c: Re-enable the "find" dialog
7025
7026         * gtk/testgtk.c: Add test for gdk_drawable_get_image
7027         
7028         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
7029         the arguments to gdk_draw_drawable were in the wrong order
7030         (gdk_window_paint_init_bg): This function was ignoring the
7031         init_region, instead of clipping to it, so the entire backing
7032         pixmap was cleared on every begin_paint()
7033         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
7034         was in here again, the loop kept using the same GtkWindowPaint
7035         over and over.
7036         (gdk_window_begin_paint_region): Fix a bug where we had two
7037         x_offset instead of x_offset and y_offset
7038
7039         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
7040         before we get the image.
7041         (gdk_draw_drawable): get the composite before we draw the drawable.
7042         (gdk_drawable_real_get_composite_drawable): default
7043         get_composite_drawable implementation that returns the drawable 
7044         itself
7045
7046         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
7047         get_composite_drawable virtual function
7048
7049         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
7050         list-walking bug
7051
7052         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
7053         make this work if the source drawable is a GdkDrawableImplX11
7054         instead of a public drawable type. This is really broken; the
7055         problem is that GdkDrawable needs a virtual method get_xid(), but
7056         of course that doesn't work in practice. Enter RTTI.
7057
7058         Also, improve mismatched depth message.
7059
7060         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
7061         GdkPixmap
7062
7063         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
7064         install _gdk_x11_get_image as our implementation of get_image
7065         
7066         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
7067         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
7068
7069         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
7070         gdk_drawable_get_image
7071
7072         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
7073
7074         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
7075         get_image
7076
7077         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
7078         trailing semicolon after for loop
7079
7080 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
7081
7082         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
7083         where font_desc for widget's context lagged widget's font_desc by
7084         one step.
7085
7086 2000-10-22  Tor Lillqvist  <tml@iki.fi>
7087
7088         * gdk/win32/gdkgc-win32.c
7089         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
7090
7091         * gtk/makefile.mingw.in
7092         * gtk/gtk.def: Updates.
7093
7094         * gtk/testgtk.c: sleep() is called _sleep in MS's C
7095         library.
7096
7097         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
7098
7099         * gtk/makefile.msc: Remove
7100
7101         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
7102
7103         * gtk/Makefile.am: Add it.
7104
7105         * configure.in: Generate it.
7106
7107         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
7108         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
7109         something even if not implemented, to satisfy picky MSVC.
7110
7111         Patches by Hans Breuer:
7112         
7113         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
7114         SetBkMode() and SetTextAlign() before calling
7115         pango_win32_render().
7116
7117         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
7118         Set hcliprgn to NULL after destroying it.
7119         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
7120
7121         * gdk/win32/gdkgeometry-win32.c
7122         (_gdk_windowing_window_queue_antiexpose): More effective
7123         implementation.
7124
7125         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
7126         depth as default, not the visual's.
7127
7128         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
7129         against empty title.
7130
7131         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
7132         IMAGE_PRIVATE_DATA.
7133
7134         * gdk/win32/gdkimage-win32.c: Use it.
7135
7136 2000-10-22  Robert Brady  <robert@suse.co.uk>
7137
7138         * configure.in: Check for bind_textdomain_codeset
7139
7140         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
7141         present, make use of it.
7142
7143         Add a translatable string "default:LTR" which, if translated
7144         to "default:RTL", will cause the default direction to be
7145         Right-to-Left.
7146
7147         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
7148         direction if marked as flippable.
7149
7150         * gtk/gtkhscale.c: Mark widget as flippable.
7151         
7152 2000-10-04  Havoc Pennington  <hp@redhat.com>
7153
7154         * gtk/testgtk.c (create_buttons): create some stock buttons
7155         with the default accel group
7156         (create_image): test some new GtkImage features
7157         (make_message_dialog): test GtkMessageDialog
7158         (create_modal_window): fix someone's bizzarro indentation
7159
7160         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
7161         GTK_WIN_POS_CENTER_ON_PARENT. 
7162         Add "destroy with parent" setting, which means the window goes
7163         away with its transient parent.
7164         (gtk_window_get_default_accel_group): get the default accel group
7165         for the window.
7166         (gtk_window_set_destroy_with_parent): set/unset destroy with
7167         parent flag
7168         (gtk_window_read_rcfiles): invalidate icon set caches
7169         after reloading rcfiles 
7170
7171         * gtk/gtkenums.h (GtkWindowPosition): add
7172         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
7173         on its parent window when the dialog is mapped for the first time.
7174
7175         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
7176         a simple message dialog class
7177         
7178         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
7179         handler to emit response signal, and maybe later it would
7180         honor a hide_on_delete flag - though that isn't there yet.
7181         Set border width on the vbox to 2, so we get some padding.      
7182         Use a button box for the action area.
7183         (gtk_dialog_key_press): synthesize a delete event if Esc
7184         is pressed and the GtkWidget key press handler didn't 
7185         handle the escape key.
7186         (gtk_dialog_new_with_buttons): new function creates a dialog
7187         with some default buttons in it.
7188         (gtk_dialog_add_action_widget): add an activatable widget
7189         as a button in the dialog - you can also add a non-activatable
7190         widget by accessing the action area directly.
7191         (gtk_dialog_add_button): add a simple button - stock ID or 
7192         label - to the action area
7193         (gtk_dialog_response): emit response signal
7194         (gtk_dialog_run): block waiting for the dialog, return 
7195         the response. Override normal delete_event behavior, so that 
7196         delete_event does nothing inside gtk_dialog_run().
7197
7198         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
7199         emitted when an action widget is clicked or the dialog gets
7200         delete_event
7201
7202         * gtk/gtk.h: add gtkmessagedialog.h
7203
7204         * gtk/Makefile.am: add gtkmessagedialog.[hc]
7205
7206 2000-10-18  Havoc Pennington  <hp@redhat.com>
7207
7208         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
7209         where any number of empty lines would get skipped
7210
7211         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
7212         edge.
7213
7214         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
7215         warning about invalid iterators (explain more thoroughly)
7216         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
7217
7218         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
7219         big
7220
7221         * demos/*.c: Add error handling
7222
7223         * gtk/gtktextbuffer.c: don't modify const iterators
7224
7225         * gtk/gdk-pixbuf-loader.c: Add full error handling here
7226
7227         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
7228         on file load
7229
7230         * gtk/gtkiconfactory.c: Update to reflect addition of error
7231         handling to gdk-pixbuf loaders
7232
7233 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
7234
7235         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
7236         move to new modularized testgtk.
7237
7238 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
7239
7240         * gtk/gtktreeview.c: Draw the arrows correctly.
7241
7242         * gtk/gtktreemodel.c: Added user docs.
7243
7244         * gtk/gtk.h: remove gtktreedatalist.h.
7245
7246         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
7247         parent when generating my type.
7248
7249         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
7250         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
7251
7252 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
7253
7254         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
7255         GtkTreeModel from object to interface.
7256
7257 2000-10-16  Havoc Pennington  <hp@redhat.com>
7258
7259         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
7260         compilation
7261
7262 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
7263
7264         * gtk/gtktreeselection.c: Add API documentation to all public
7265         functions.
7266
7267         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
7268         functions.
7269
7270 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
7271
7272         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
7273         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
7274         docs to all public functions.
7275
7276         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
7277         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
7278         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
7279         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
7280         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
7281         issue.
7282
7283 2000-10-14  Robert Brady  <robert@suse.co.uk>
7284
7285         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
7286
7287 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
7288
7289         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
7290         values other then G_TYPE_STRING.
7291         * gtk/gtktreeselection.c: Minor commenting updates.
7292         * gtk/gtktreeview.c: Format updates.
7293
7294 2000-10-09  Tor Lillqvist  <tml@iki.fi>
7295
7296         * README.win32: Update.
7297
7298         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
7299         lines that had been deleted by mistake (?).
7300
7301         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
7302         also the case fg==white and bg==black (but still not randomly
7303         coloured cursors). Thanks to Wolfgang Sourdeau.
7304
7305         * gdk/win32/*.c: Silence gcc -Wall.
7306
7307         * gtk/gtk.def: Add missing entry points.
7308
7309         Fixes by Hans Breuer:
7310
7311         * gdk/makefile.msc
7312         * gdk/win32/makefile.msc: Update.
7313
7314         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
7315         some MSVC thing, presumably), cause breakpoint on failures. Add
7316         GDK_NOR case. Call g_log_set_always_fatal.
7317
7318         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
7319         should be pased by reference.
7320         
7321         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
7322         
7323         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
7324
7325         * gdk/win32/gdkevents-win32.c
7326         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
7327
7328         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
7329         implementation object.
7330
7331         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
7332         not just windows.
7333         
7334         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
7335         Use the wrapper object.
7336         
7337 2000-10-06  Havoc Pennington  <hp@redhat.com>
7338
7339         * Makefile.am (SRC_SUBDIRS): contrib subdir
7340
7341         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
7342         so it can be used in Xlib version
7343
7344         * demos/testpixbuf.c (update_timeout): error checking from 1.0
7345         tree
7346
7347         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
7348         change from 1.0 tree that returns first frame of animation
7349         if the loaded file is an animation.
7350
7351         * contrib: add new directory to hold stuff that comes with GTK+
7352         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
7353         
7354         * configure.in: add contrib/*
7355
7356 2000-10-05  Havoc Pennington  <hp@redhat.com>
7357
7358         * demos/testpixbuf-save.c: add pixbuf save test
7359
7360         * demos/Makefile.am: add testpixbuf-save.c
7361
7362 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
7363
7364         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
7365         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
7366         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
7367         * gtk/gtktreeselection.[ch]: Replaced
7368         "node_selected"/"node_unselected" signal with "selection_changed"
7369         signal.
7370
7371 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
7372
7373         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
7374         tree widget.
7375
7376 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
7377
7378         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
7379         drawing.
7380
7381 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
7382
7383         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
7384         Move list pointer forwards before removing item from
7385         list. (Crash reported by Salmaso Raffaele)
7386
7387         * gdk/gdkwindow.h: Remove spurious trailing ,
7388
7389         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
7390         dependencies on uninstalled libraries, sorry folks.
7391
7392 2000-10-04  Havoc Pennington  <hp@redhat.com>
7393
7394         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
7395         gtk/gtkiconfactory.c: Fix copyrights    
7396
7397         * demos/testpixbuf.c: add inline pixbuf test
7398         
7399 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
7400
7401         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
7402         Add gdk_window_iconify.
7403
7404         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
7405         (gdk_window_set_geometry_hints): Add win_gravity
7406         to geometry structure.
7407
7408         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
7409         Implement _NET_WM_PING.
7410
7411         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
7412         Set _NET_WM_PID on the client leader.
7413
7414         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
7415         Handle UTF-8 better.
7416
7417         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
7418         UTF-8 better, set _NET_WM_NAME as well. Only set
7419         icon name if it hasn't previously been explicitely 
7420         set.
7421
7422 2000-10-03  Havoc Pennington  <hp@redhat.com>
7423
7424         * gtk/testtextbuffer.c: clean up trailing whitespace,
7425         add extensive tests for tag toggle iteration.
7426         
7427         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
7428         distance
7429
7430         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
7431         optimize case where the tag root is on level 1
7432         (gtk_text_line_previous_could_contain_tag): attempt to implement
7433         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
7434         functionality
7435
7436         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
7437         Implement this, though not very efficiently.
7438
7439         * gtk/gtktextiterprivate.h: reformat
7440
7441         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
7442         iterator
7443
7444         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
7445         this to properly revalidate the iterators.
7446
7447         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
7448         properly at the end of the line (and therefore on empty lines)
7449
7450         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
7451         maybe we should return a value...
7452
7453 2000-10-03  Tor Lillqvist  <tml@iki.fi>
7454
7455         * config.h.win32: Guard definition of alloca(). glib.h now handles
7456         that.
7457
7458         * gdk/gdk.def
7459         * gtk/gtk.def: Add new entry points.
7460
7461         Changes just to make GTK+ build without errors on Win32. No hope
7462         of it working in its current state, though...:
7463         
7464         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
7465         some functions from the X11 backend, just to make GTK+ build.
7466
7467         * gdk/makefile.mingw.in
7468         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
7469         number. Add new object files.
7470
7471         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
7472         GetMessageTime to get timestamp (where on X11 uses
7473         gdk_x11_get_server_time()).
7474
7475 2000-10-02  Havoc Pennington  <hp@pobox.com>
7476
7477         * gtk/gtktextview.c: text_window_* weren't static and should have
7478         been.
7479         Start work on child widgets; not yet complete, syncing to 
7480         office computer.
7481
7482         * gtk/gtktextchild.h: change this to contain a public interface,
7483         starting work on child interfaces.
7484         * gtk/gtktextchildprivate.h: move private interfaces here
7485
7486         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
7487
7488         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
7489         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
7490         gtk/gtktextmark.c: copyright notices
7491
7492         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
7493         internal functions      
7494
7495         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
7496         internal function
7497
7498         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
7499         Reformatting    
7500
7501 2000-09-30  Havoc Pennington  <hp@pobox.com>
7502
7503         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
7504         NULL start/end pointers
7505
7506         * gtk/gtktextbuffer.c: Write some docs
7507         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
7508         NULL, so you can just check whether there's a selection.        
7509
7510         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
7511         cleanup_line or segments_changed ourselves, it gets done 
7512         in unlink_segment
7513
7514         * gtk/gtktextmark.h:
7515         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
7516         
7517         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
7518
7519         * gtk/gtktextmark.c: delete some more old Tk cruft
7520
7521         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
7522         mark before removing it, so we can emit MARK_DELETED with a valid
7523         pointer.
7524         (gtk_text_buffer_mark_set): hold ref across signal emission
7525
7526         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
7527         whining about attempts to delete special marks
7528
7529         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
7530         underscore, since it's internal.
7531
7532         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
7533         now implemented in terms of iterators in gtktextiter.h
7534
7535         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
7536         New function, destructively sets contents of buffer. Also 
7537         a convenient way to clear the buffer by setting text to ""
7538
7539         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
7540         multiline string literal
7541
7542         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
7543         text changes.
7544
7545         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
7546         is not dereferenceable
7547         (gtk_text_iter_forward_lines): fix return value
7548
7549 2000-09-29  Havoc Pennington  <hp@redhat.com>
7550
7551         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
7552
7553         * gtk/gtktextview.c: Implement drag thresholding; change functions 
7554         that set border window size to have nicer name
7555         (gtk_text_view_mark_set_handler):  Fix this to have the 
7556         right signature.
7557
7558         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
7559
7560         * gtk/testtext.c: Update with API changes, put line numbers on 
7561         both sides.
7562         
7563         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
7564         with this
7565
7566         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
7567         pixbuf; delete a big block of #if 0 Tk code
7568
7569         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
7570         insert_pixmap with insert_pixbuf
7571
7572 2000-09-29  Martin Baulig  <baulig@suse.de>
7573
7574         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
7575         confusion with the GdkPixbuf of the GNOME 1.x platform.
7576
7577 2000-09-29  Havoc Pennington  <hp@pobox.com>
7578
7579         * gtk/gtktextview.c: Implement the side windows.
7580
7581         * gtk/testtext.c: Implement simple line numbering in the 
7582         left side window; seems to make scrolling sloooow. Oops.
7583         Also, cursor blink is for some reason causing redraws
7584         of the line numbers. Should investigate...
7585
7586 2000-09-28  Havoc Pennington  <hp@redhat.com>
7587
7588         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
7589         scrolling child windows, and draw focus rectangle properly.
7590         
7591         (gtk_text_view_buffer_to_window_coords):
7592         Coordinate transformation to deal with all these freaking windows
7593         and offsets
7594         (gtk_text_view_window_to_buffer_coords): transform the other way
7595
7596         * gtk/testtext.c (create_buffer): Update to match Pango API change
7597
7598         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
7599         anonymous tags
7600         (foreach_unref): don't emit remove signal from finalize, just
7601         set tag's parent to NULL
7602
7603 2000-09-26  Havoc Pennington  <hp@redhat.com>
7604
7605         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
7606         Fix some warnings       
7607
7608 2000-09-26  Havoc Pennington  <hp@redhat.com>
7609
7610         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
7611         headers into the private header list
7612
7613         * Makefile.am (pkgconfig_DATA): install pkg-config files
7614
7615         * configure.in: add pkg-config files
7616
7617         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
7618
7619         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
7620         outstanding icon caches on theme change.
7621
7622         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
7623         important types:
7624
7625         (GtkIconSource): Specification for creating a pixbuf 
7626         appropriate for a direction/state/size triplet from 
7627         a source pixbuf or filename
7628
7629         (GtkIconSet): List of GtkIconSource objects that are used to
7630         create the "same" icon (e.g. an OK button icon), and cache for
7631         rendered icons
7632
7633         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
7634         up the icon set for a given stock ID.  GTK maintains a stack of
7635         GtkIconFactory to search, and applications or libraries can add
7636         additional icon factories on top of the stack
7637         
7638         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
7639         the set of GtkIconSource specified for a given stock ID into 
7640         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
7641         RcStyle, under the specified stock ID.
7642
7643         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
7644         render_icon used to derive a GdkPixbuf from a GtkIconSource.
7645         This allows people to theme how prelight, insensitive, etc. are
7646         done.
7647
7648         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
7649         icon factories for a style, and return the resulting 
7650         icon set if any.
7651
7652         (gtk_style_render_icon): Render an icon using the render_icon 
7653         method in the GtkStyleClass.
7654
7655         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
7656         Use the style for a given widget to look up a stock ID, get the
7657         icon set, and render an icon using the render_icon method 
7658         of the style
7659
7660         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
7661         (contains information about a stock item), the built-in stock item
7662         IDs, and functions to add/lookup stock items.
7663
7664         * gtk/stock-icons/*: Stock icons that come with GTK
7665
7666         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
7667         a button based on a GtkStockItem
7668         (gtk_button_new_accel): Takes a uline string and accel group, and
7669         installs the accelerator.
7670
7671         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
7672         image-display widget.
7673
7674 2000-09-25  Havoc Pennington  <hp@redhat.com>
7675
7676         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
7677
7678         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
7679         Fix a bug when removing node data, we didn't properly 
7680         re-splice the linked list after removing the data.
7681
7682         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
7683         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
7684
7685         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
7686
7687         * gtk/gtktextlayout.c (set_para_values): Set tab array 
7688         for the layout from the GtkTextTag.
7689
7690         * gtk/gtktexttypes.h: delete tab and search cruft, 
7691         remove g_convert() in favor of GLib version
7692
7693         * gtk/gtktexttypes.c: remove tab implementation from here,
7694         move to Pango
7695
7696         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
7697         tab stuff using new PangoTabArray from Pango
7698
7699         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
7700         unused border_width stuff
7701
7702 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
7703
7704         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
7705         glib) and now useless utf_to_latin1() latin1_to_utf()
7706
7707         * gtk/gtktextview.[ch]: Change ::move_insert and
7708         ::delete_text action signals to ::move and ::delete;
7709         create the signals with the right enumeration type,
7710         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
7711         C-v bindings, change Home, End to move to beginning/end
7712         of line, Add C-Home C-End to move to beginning/end
7713         of buffer. Change ::cut_text to ::cut_clipboard, etc;
7714         combine ::scroll_text into ::move; use new GtkSelectionData
7715         functions to simplify DND text handling.
7716         
7717         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
7718         deletion enumerations here, rename enumeration values to 
7719         be consistently plural.
7720
7721         * gtk/gtktextbuffer.c: Use new clipboard interfaces
7722         for cut/copy/paste and primary selection.
7723
7724         * gtk/gtktextbuffer.[ch]: Remove excess time and
7725         'interactive' arguments from cut/copy/paste;
7726         rename cut to cut_clipboard, etc; remove
7727         gtk_text_buffer_get_clipboard_contents().
7728
7729         * gtk/gtktextlayout.[ch]: Add 
7730         gtk_text_layout_move_iter_to_line_end() to move the iter to 
7731         line ends.
7732
7733         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
7734         Functions to set or get a UTF-8 string on the selection
7735         data.
7736
7737         * gtk/gtkclipboard.[ch]: New, simplified selection handling
7738         interfaces.
7739
7740         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
7741         created widgets - one of these is useless if we don't.
7742
7743         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
7744         a public function clear all targets registered for the
7745         widget.
7746
7747         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
7748         Never call gtk_widget_realize() - that was just asking
7749         for bizarre side-effects.
7750
7751         * gtk/gtkselection.c (gtk_selection_owner_set): Call
7752         gdk_selection_owner_set even if the widget is the
7753         same so that we reliably update the timestamp on
7754         the server.
7755
7756         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
7757         gdk_x11_get_server_time() function.
7758         
7759         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
7760         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
7761         Add some tricky filtering on serial numbers for
7762         selection clear events to fix up long-standard
7763         race condition FIXME's in gtkselection.c.
7764
7765         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
7766         routines to convert from utf8 to compound text or
7767         STRING and from a text property to UTF-8.
7768
7769         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
7770         a convenience function gdk_get_current_event_time().
7771
7772         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
7773         and free selection_data->data properly
7774
7775 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
7776
7777         * gtk/gtkthemes.c: Remove some unecessary includes.
7778
7779 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
7780
7781         * gtk/gtktextdisplay.c
7782         * gtk/gtktextlayout.c
7783         * gtk/gtktexttag.c
7784         * gtk/gtktexttag.h
7785         * gtk/testtext.c: Change the overstrike property to strikethrough,
7786         to closer match pango.
7787
7788 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
7789
7790         * gtk/gtktextview.c: Fix up visibility so that focus,
7791         cursor_visible and blink interact properly.  Reenable cursor blink
7792         which had been roughly disabled. Make blink and focus
7793         properly per-view.
7794
7795         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
7796         Add a flag for whether to display insertion cursor and
7797         a function to set the flag.
7798
7799         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
7800         get_line_y() to get_line_yrange(), to be a bit more generally
7801         useful.
7802
7803 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
7804
7805         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
7806           do stop_navigating_submenu, to clear last timeout properly.
7807           Also in gtk_menu_motion_notify move ignore_enter above
7808           the conditional to make it always happen as suggested by Owen
7809
7810 2000-09-07  Tor Lillqvist  <tml@iki.fi>
7811
7812         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
7813
7814         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
7815         w32api headers.
7816
7817         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
7818         declarations.
7819
7820         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
7821         (gdk_win32_get_colormap): A line had been deleted by mistake.
7822
7823         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
7824         (gdk_event_translate): Handle more virtual keycodes to be able to
7825         generate GDK events for Control-comma, Control-period, etc.
7826
7827         * gtk/gtk.def: Add some missing entry points.
7828
7829 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
7830
7831         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
7832         Doc comment fixing. (Mostly non-matching parameter names.)
7833
7834         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
7835         comments a little to avoid looking like a doc comment.
7836
7837         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
7838         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
7839         conversions be changed to GError?)
7840
7841         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
7842         Move private #defines into .c file.
7843
7844         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
7845         order of argument addition, remove duplicates.
7846
7847         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
7848         parent class is FrameClass, not BinClass.
7849
7850         * gtk/gtk.h: Add gtkinvisible, which was missing.
7851         (It's occasionalyl useful for client apps, if seldom.)
7852
7853         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
7854         #define.
7855
7856 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
7857
7858         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
7859         coordinates when creating window, instead of GDK-space
7860         coordinates. (Avoid BadValue on too large windows.)
7861
7862 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
7863
7864         * configure.in (use_mmx_asm): Remove conftest* after use along the
7865         lines of AC_TRY_COMPILE.        
7866         
7867         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
7868         of g_dirname, which is deprecated.
7869         (gtk_rc_parse_any): Removed calls to
7870         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
7871
7872         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
7873         Removed calls to g_hash_table_{freeze,thaw}, as they are
7874         deprecated now.
7875
7876         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
7877         instead of g_basename.
7878         
7879 2000-09-04 Elliot Lee <sopwith@redhat.com>
7880         
7881         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
7882         ANSI warning.
7883
7884 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
7885
7886         * gtk/gtkwidget.h:  Add some documenting comments about 
7887           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
7888           just as owen said on irc.
7889
7890         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
7891           set HAS_DEFAULT.  Only set it if there isn't another window
7892           holding it (a focus window which RECEIVES_DEFAULT) and only unset
7893           it if the widget is not the focused window with RECEIVES_DEFAULT.
7894           This fixes weird double default bugs in dialogs which has things
7895           call gtk_window_set_default at times.
7896
7897 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
7898
7899         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
7900         Nils Barth and David Santiago to improve submenu
7901         navigation. The patch does this by creating a triangular
7902         region from the point where the pointer leaves the
7903         menu to the submenu.  While the pointer is in
7904         that region and a timeout has not expired, events 
7905         that would cause the active submenu to change are
7906         ignored.
7907
7908 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
7909
7910         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
7911         moving a toplevel window immediately after sizing it would
7912         result in it being sized back to the old size since 
7913         impl->width, impl->height aren't updated until we hear
7914         back from the server. There is still a (longstanding) bug
7915         here that gdk_window_get_size() will give the wrong size
7916         until we do hear back.
7917
7918 2000-08-31  Havoc Pennington  <hp@redhat.com>
7919
7920         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
7921         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
7922         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
7923         Rename GtkTextStyleValues to GtkTextAttributes
7924
7925 2000-08-31  Havoc Pennington  <hp@pobox.com>
7926
7927         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
7928         for rapid testing whether an iterator is the end iterator
7929         (gtk_text_btree_new): init end line cache
7930         (gtk_text_line_is_last): use fast cached line to 
7931         see if we're the last line.
7932         (get_last_line): use cached line here too, should 
7933         speed up some random unrelated code.
7934         
7935 2000-08-30  Havoc Pennington  <hp@pobox.com>
7936
7937         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
7938         signals.
7939
7940         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
7941         delete_text signals. This allows the signals to be used for
7942         implementing undo.
7943
7944         * gtk/gtktextbuffer.c: Change signal handler signatures; 
7945         provide "interactive" argument when emitting insert_text or
7946         delete_text signal.
7947         
7948 2000-08-30  Havoc Pennington  <hp@pobox.com>
7949
7950         * gtk/gtktextbuffer.c: Docs
7951
7952 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
7953
7954         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
7955         from switch statements, since Tor removed the enumeration
7956         value.
7957         
7958         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
7959         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
7960
7961 2000-08-29 Elliot Lee <sopwith@redhat.com>
7962         * */*.h: Use G_GNUC_CONST.
7963
7964 2000-08-27  Havoc Pennington  <hp@pobox.com>
7965
7966         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
7967         minor indentation fixes, inserted some FIXME about stuff I
7968         realized was broken while documenting it.
7969         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
7970         GTK convention  
7971
7972 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
7973
7974         * gtk/testgtk.c (create_styles): Fix double free of
7975         font desc.
7976
7977 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
7978
7979         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
7980         
7981         * gtk/testgtk.c (create_styles): Add a test for modifying
7982         the style through gtk_widget_modify_*.
7983
7984         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
7985         a function to get the current modifier style.
7986
7987         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
7988         of the passed in GtkRcStyle instead of ref'ing it.
7989
7990         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
7991
7992 2000-08-20  Tor Lillqvist  <tml@iki.fi>
7993
7994         * gdk/gdkimage.h
7995         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
7996         shared memory image+pixmap GdkImage type, or
7997         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
7998         I am dropping that.
7999
8000         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
8001         actually call gtk_init_abi_check(), passing also
8002         sizeof(GtkWindow). Ditto for gtk_init_check(). 
8003
8004         * gtk/gtk.def
8005         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
8006         New functions, used to check that the GTK+-using code has been
8007         compiled using the correct compiler and switches. In particular,
8008         with gcc one has to use the -fnative-struct switch as GTK+ is
8009         compiled with that.
8010
8011 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
8012
8013         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
8014         ->prev fields when merging lists. (Found simultaneously
8015         by Pawel Salek and Jakub Jelinek)
8016
8017 2000-08-12  Tor Lillqvist  <tml@iki.fi>
8018
8019         * gdk/gdk.def
8020         * gtk/gtk.def: Add missing entries.
8021
8022         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
8023         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
8024
8025         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
8026         function. Dummy implementation at this point.
8027
8028         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
8029         rules. Undefine GTK_COMPILATION when compiling the test programs.
8030         
8031         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
8032
8033 2000-08-11  Tor Lillqvist  <tml@iki.fi>
8034
8035         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
8036         to convert back and forth from UTF-8 and the "system" (or "current
8037         locale") charset when necessary. Indentation/spacing cleanup.
8038
8039 2000-08-10  Havoc Pennington  <hp@redhat.com>
8040
8041         * Makefile.am (snapshot): Change the format of the snapshot
8042         version to match glib
8043
8044         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
8045         from EXTRA_DIST since it doesn't seem to exist
8046
8047 2000-08-10  Tor Lillqvist  <tml@iki.fi>
8048
8049         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
8050         version of the directory name (not the UTF-8 one) when building
8051         the path name to stat().
8052
8053 2000-08-03  Elliot Lee  <sopwith@redhat.com>
8054
8055         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
8056         PANGO_ATTR_SHAPE set.
8057
8058 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
8059
8060         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
8061         Peter Osterlund to simplify the code while keeping the
8062         functionality the same.
8063
8064 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
8065
8066         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
8067         is_viewable() test further inside the function, since removing the 
8068         window from the redraw list without clearing ->update_area
8069         was also very broken.
8070
8071 2000-08-02  Tor Lillqvist  <tml@iki.fi>
8072
8073         * configure.in: Check for <unistd.h>.
8074
8075 2000-08-01  Martin Baulig  <baulig@suse.de>
8076
8077         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
8078         to display the message that this is a development version of GTK+.
8079
8080 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
8081
8082         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
8083         was depending on widget->allocation instead of the width of text_area,
8084         which was incorrect for subclasses like GtkSpinButton.
8085
8086         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
8087         with width == 1 tests that should be width == -1.
8088
8089 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
8090
8091         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
8092         (broken, Elliot, every single window blank on X) custom code with call
8093         to gdk_window_is_viewable() which a) prevents code duplicate and
8094         b) works. 
8095
8096 2000-07-31  Elliot Lee  <sopwith@redhat.com>
8097
8098         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
8099         to get the GDK_PARENT_ROOT() macro to work.
8100         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
8101         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
8102         of, windows that aren't shown.
8103         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
8104         pointer grab stuff.
8105
8106 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
8107
8108         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
8109           s/gtk_main_iteration/g_main_iteration/
8110
8111           Did this already in change:
8112                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
8113           don't know how it got reverted.
8114
8115 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
8116
8117         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
8118         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
8119
8120         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
8121         not gdk_pixbuf.
8122
8123 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
8124
8125         * configure.in,po/{sp,sr}.po: Added Serbian files
8126
8127 2000-07-30  Tor Lillqvist  <tml@iki.fi>
8128
8129         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
8130
8131         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
8132         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
8133         GIOChannel implementation.
8134
8135         * gdk/win32/gdkinput.c
8136         * gdk/win32/gdkpango-win32.c: Update license name here, too.
8137
8138         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
8139         definition to match prototype.
8140
8141         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
8142
8143 2000-07-27  Elliot Lee  <sopwith@redhat.com>
8144
8145         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
8146         function, to allow handling image formats that cannot be detected
8147         by looking at content alone.
8148
8149 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
8150
8151         * docs/tutorial/*.gif *.jpg *.eps
8152           Update these to the same look-n-feel.
8153           Why does including images in DocBook suck so badly?
8154
8155 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
8156
8157         * gtk/gtktable.c: applied patch from Phil Thompson
8158         <phil@river-bank.demon.co.uk> that enables space settings for
8159         the last row/columns as well.
8160
8161 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
8162
8163         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
8164         updates the license headers to the GNU Lesser General Public License,
8165         as well as updating the copyright year to 2000.
8166
8167 2000-07-26  Robert Brady  <rwb197@zepler.org>
8168
8169         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
8170           and po/Makefile, was installing and looking for them under gtk20
8171           and gtk2 respectively.
8172
8173 2000-07-25  Havoc Pennington  <hp@redhat.com>
8174
8175         * gtk/testtext.c: Comment out some stuff that depends on the rest
8176         of my patches.
8177
8178 2000-07-25  Havoc Pennington  <hp@redhat.com>
8179
8180         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
8181         buffer
8182
8183 2000-07-25  Havoc Pennington  <hp@redhat.com>
8184
8185         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
8186         widget changes.
8187
8188         * gtk/gtktextview.h: To be consistent with usage of "line"
8189         throughout the API to mean "newline-terminated thingy", change
8190         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
8191         to MOVEMENT_LINE.
8192
8193         (GtkTextView): Add flags for default editability, and whether to
8194         show the cursor. Add functions to get/set that. Add 
8195
8196         (gtk_text_view_get_iter_location): new function
8197
8198         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
8199         gtktextlayout.h
8200         (g_convert): Add g_convert temporarily, will go in glib in a bit
8201         
8202         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
8203         GtkTextTagTableForeach instead of brokenly using GHFunc.
8204         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
8205
8206         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
8207         moved to public header.
8208
8209         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
8210         "invisible", since "elide" was a bad name.
8211         (gtk_text_tag_get_priority): Added
8212
8213         (GtkTextStyleValues): put this in public header, along with
8214         functions to use it.
8215
8216         * gtk/gtktextmarkprivate.h: Include more headers, since we no
8217         longer include gtktextbtree.h.
8218
8219         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
8220         gtk_text_mark_deleted
8221
8222         * gtk/gtktextlayout.h: Don't include the "really private" headers,
8223         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
8224         to make this possible. Now we only need to install
8225         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
8226         (However the Makefile.am isn't changed yet because of the
8227         logistics of merging gtk-hp-patches piecemeal)
8228
8229         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
8230         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
8231         gtk_text_iter_get_line is now used in the public API for a
8232         different purpose.
8233
8234         * gtk/gtktextiter.h: Clean up function names to be more
8235         consistent. Always call char offset "offset" and byte index
8236         "index". A "line" is always a line number. 
8237
8238         (gtk_text_iter_is_last): new function, more efficient than 
8239         the existing way to check
8240         (gtk_text_iter_is_first): new function, also more efficient
8241
8242         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
8243
8244         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
8245         gtk_text_iter_forward_char, etc.
8246
8247         (gtk_text_iter_forward_to_tag_toggle): Renamed from
8248         forward_find_tag_toggle, since this isn't a linear search
8249
8250         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
8251
8252         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
8253         New functions, search for a buffer substring.
8254
8255         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
8256         interactive and default editable (since we need to store that info
8257         until we receive the selection data).
8258
8259         Remove all the _at_char and at_line etc. versions of functions;
8260         only have iterator versions.
8261
8262         Add _interactive() versions of functions, that consider the
8263         editability of text. (FIXME add interactive flag to the 
8264         insert/delete signals per Darin's suggestion)
8265
8266         (gtk_text_buffer_get_tag_table): new function, demand-creates the
8267         tag table if necessary
8268
8269         Remove declaration of gtk_text_buffer_get_iter_from_string
8270
8271         (_gtk_text_buffer_get_btree): private/internal function, added.
8272         
8273
8274         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
8275         (gtk_text_line_is_last): new function
8276
8277 2000-07-25  Havoc Pennington  <hp@redhat.com>
8278
8279         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
8280         using GtkProgressBar. See Changes-2.0.txt for details.
8281
8282         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
8283         "pulse_step" which are the equivalent of
8284         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
8285         Implement new API.
8286         
8287         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
8288         (use_text_format) to mark whether text set on the progress bar is
8289         a format string. Deprecate entire GtkProgress interface.
8290
8291         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
8292         (gtk_progress_build_string): make this a no-op if use_text_format
8293         is FALSE
8294
8295         * docs/Changes-2.0.txt: Describe progress bar changes.
8296
8297 2000-07-25  Tor Lillqvist  <tml@iki.fi>
8298
8299         * Makefile.am: Include the build directory.
8300
8301         * configure.in: Generate build/Makefile, build/win32/Makefile,
8302         gdk/, gdk/win32/, and gtk/makefile.mingw.
8303
8304         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
8305         Add GETTEXT_PACKAGE.
8306         
8307         * gdk/gdk.def
8308         * gtk/gtk.def: Updates.
8309
8310         * gdk/gdkfont.h
8311         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
8312         need them any longer.
8313
8314         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
8315
8316         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
8317         PANGOWIN32_LIBS and gdk_pixbuf.
8318
8319         * gdk/win32: Compiles, but no doubt doesn't work at all.
8320
8321         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
8322
8323         * gdk/win32/gdkinput.c: New file, temporarily.
8324         
8325         * gdk/win32/gdkinput-win32.h: New file
8326
8327         * gdk/win32/gdkinputprivate.h: Remove.
8328
8329         * gdk/win32/gdkpango-win32.c: New file.
8330
8331         * gtk/makefile.mingw.in: New file
8332
8333         * gtk/makefile.cygwin: Removed
8334         
8335         * gtk/Makefile.am: Update accordingly.
8336
8337         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
8338         made externally visible.
8339
8340         * gtk/gtkmain.c: Use it.
8341         
8342         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
8343         is enough.
8344
8345         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
8346
8347 2000-07-24 Elliot Lee <sopwith@redhat.com>
8348         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
8349         individual backends already.
8350         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
8351         again. Yes, there really is a good reason for this, if you are using the gdkregion
8352         internals, and if you're not, why do you care?
8353         * gdk/gdkwindow.c: Fix inverted condition
8354         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
8355         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
8356         * gtk/gtkrange.c: Redraw trough when moving.
8357         * gtk/gtktypeutils.c: Fix warning by adding const cast.
8358         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
8359
8360 2000-07-23  Tor Lillqvist  <tml@iki.fi>
8361
8362         * configure.in: Check for mkstemp and sigsetjmp. Output
8363         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
8364
8365         More work on GDK for Win32. Still in an intermediate state.
8366
8367         * gdk/makefile.cygwin
8368         * gdk/win32/makefile.cygwin: Removed.
8369         
8370         * gdk/makefile.mingw.in
8371         * gdk/win32/makefile.mingw.in: New files.
8372
8373         * gdk/Makefile.am
8374         * gdk/win32/Makefile.am: Generate and distribute them.
8375
8376         * gdk/win32/gdkwindow-win32.h
8377         * gdk/win32/gdkdrawable-win32.h
8378         * gdk/win32/gdkpixmap-win32.h: New files.
8379
8380         * gdk/win32/gdkcolor-win32.c
8381         * gdk/win32/gdkcursor-win32.c
8382         * gdk/win32/gdkdrawable-win32.c
8383         * gdk/win32/gdkgc-win32.c
8384         * gdk/win32/gdkimage-win32.c
8385         * gdk/win32/gdkprivate-win32.h
8386         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
8387         Rename fields and variables called xcursor, xid, etc (these names
8388         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
8389
8390 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
8391
8392         * gtk/gtkentry.[ch]: Fix some problems with vertical
8393         alignment.
8394
8395         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
8396         char/byte confusion.
8397
8398 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
8399
8400         * gtk/gtktextview.c (changed_handler): Fix bug where
8401         redraw wasn't being done properly when height of
8402         dirty region changed.
8403
8404         * demos/Makefile.am: Remove various references to
8405         -lgmodule
8406
8407 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
8408
8409         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
8410         PangoAttrShape to reserve space for pixmaps, add 
8411         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
8412         in the display functions.
8413         
8414         * gtk/testgtk.c (create_layout): Set some more exotic
8415         scrolled window options
8416
8417         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
8418         Add function to set the shadow type of a window, to allow
8419         putting a shadow around widgets such as GtkLayout or GnomeCanvas
8420         which don't draw their own frame.
8421
8422 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
8423
8424         * docs/tutorial/package-db-tutorial.sh: New file for
8425           packaging DocBook format tutorial
8426
8427 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
8428
8429         * docs/tutorial/gtk-tut.sgml: Minor updates
8430
8431         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
8432
8433 2000-07-19  Tor Lillqvist  <tml@iki.fi>
8434
8435         * gtk/gtksignal.c: Fix C++ comment.
8436
8437         * gtk/gtkimmulticontext.c
8438         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
8439         don't return value from void functions.
8440
8441         * gtk/gtk.def: Add gtk_rc_style_unref.
8442
8443 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
8444
8445         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
8446         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
8447         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
8448         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
8449         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
8450         gtk/gtktypeutils.h: Include files outside of the extern "C"
8451         block. Makes some C++ compiler happy. Reported by Denis Vakatov
8452         <vakatov@peony.nlm.nih.gov>.
8453
8454 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
8455
8456         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
8457           Completes first pass. Hurrah!
8458
8459 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
8460
8461         * docs/tutorial/gtk-tut.sgml: More clean ups.
8462
8463 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
8464
8465         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
8466         paint the background of the text area which was accidentally
8467         removed at some point.
8468
8469         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
8470           
8471          - Move most of the functionality from the theme vtable
8472            into GtkRcStyleClass and GtkStyleClass. The moved
8473            vtable functions were changed a bit in the move to
8474            work better in their new home.
8475
8476          - Get rid of the engine and engine_data fields from
8477            GtkRcStyle and GtkStyle; instead the theme
8478            engine derives theme-specific subclasses of GtkRcStyle
8479            and GtkStyle
8480
8481          - Add extra dlsym() found entry point to themes,
8482            theme_create_rc_style().
8483
8484         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
8485         in gtk_style_real_copy.
8486
8487         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
8488         to register a type associated with an engine. (The engine
8489         won't be unloaded as there is an instance of the type.)
8490
8491
8492 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
8493
8494         * docs/tutorial/gtk-tut.sgml: Clean ups.
8495
8496 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
8497
8498         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
8499           of cleaning up to do.
8500
8501 2000-07-15  Tor Lillqvist  <tml@iki.fi>
8502
8503         * gdk/testgdk.c: New file, quick hack to test backends for
8504         pixel-by-pixel correctness of the most simple graphic operations.
8505
8506 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
8507
8508         * Really release 1.3.1
8509         
8510         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
8511         include structure.
8512
8513 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
8514
8515         * Released 1.3.1
8516
8517 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
8518
8519         * gtk/gtktextlayout.c: use FALSE for size_only most
8520         of the time when calling gtk_text_layout_get_line_display()
8521         to avoid causing double reshapes when a redraw follows
8522         immediately after.
8523
8524 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
8525
8526         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
8527         appropriate region and gdk_window_process_updates() so trough
8528         updating doesn't lag behind the window being scrolled.
8529
8530         * gdk/gdkgc.c: Make parent_class pointer static.
8531          
8532 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
8533
8534         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
8535         include <string.h>.
8536          
8537         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
8538         cut-and-paste error in computing memory offset for 4 channels.
8539
8540 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
8541
8542         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
8543         gtk_rc_append_default_pixmap_path(), since it wasn't
8544         adding an interesting path and we don't have a meaningful
8545         default for this value.
8546
8547 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
8548
8549         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
8550         gtk-config to gtk-config-2.0 move gtk_.m4 to
8551         gtk-2.0.m4
8552
8553         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
8554         gdk/Makefile.am demos/Makefile.am: Change 
8555         library names to libgtk-1.3.la, etc, so that we
8556         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
8557
8558         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
8559         gdk/Makefile.am gdk/x11/Makfile.am
8560         Move include files into /usr/include/gtk-2.0, 
8561         /usr/lib/gtk-2.0/include/
8562          
8563         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
8564         gtk/gtkintl.h: Change package for gettext from 
8565         gtk+ to gtk20. Put hack in autogen.sh to modify
8566         po/Makefile.in.in after gettextize to make this
8567         possible.
8568
8569         * gtk+.spec: Some updates, not tested.
8570
8571         * gdk-pixbuf/Makefile.am: Move loaders into
8572         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
8573
8574         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
8575         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
8576         to THEMENAME/gtk-2.0/. Move engine directory  to
8577         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
8578         
8579 2000-07-12  Tor Lillqvist  <tml@iki.fi>
8580
8581         Win32 changes, still doesn't build though.
8582
8583         * gdk/makefile.cygwin
8584         * gdk/win32/makefile.cygwin
8585         * gtk/makefile.cygwin: Updates.
8586
8587         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
8588         default values for fg and bg pixel as X11 does (0 and 1), not
8589         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
8590         Use 0 for pen width by default (treated as 1 anyway later, but for
8591         apps that might check the value in the GdkGC).
8592         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
8593         interface to gdk_gc_predraw and _postdraw.
8594
8595         * gdk/win32/gdkwin32.h
8596         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
8597
8598         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
8599         extraneous semicolon.
8600
8601         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
8602
8603         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
8604         not the Win32 bitspixel value.
8605
8606         * gdk/win32/gdkcc-win32.c:
8607         * gdk/win32/gdkcolor-win32.c 
8608         * gdk/win32/gdkprivate-win32.h
8609         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
8610         GDK object structure.
8611
8612 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
8613
8614         * docs/tutorial/gtk_tut_12.es.sgml (name): 
8615         * docs/tutorial/gtk_tut_it.sgml (name): 
8616         * docs/tutorial/gtk_tut_fr.sgml (name): 
8617         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
8618         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
8619
8620 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
8621
8622         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
8623           small changes.
8624
8625 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
8626
8627         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
8628         a bug here, never been here and never fixed anything ;(
8629         (don't segfault if tree->root_tree is NULL, which happens prior
8630         to widget realization, but puke instead).
8631
8632 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
8633
8634         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
8635         add the necessary tokens.
8636
8637         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
8638         (gtk_rc_style_to_style): copy thicknesses.
8639         (gtk_rc_init_style): apply thicknesses.
8640         (gtk_rc_parse_style): parse xthickness and ythickness.
8641
8642         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
8643
8644         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
8645         (gdk_window_new): 
8646         (_gdk_windowing_window_init): 
8647         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
8648         (gdk_pixmap_create_from_data): 
8649         (gdk_bitmap_create_from_data): 
8650         (gdk_pixmap_new): 
8651         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
8652         (gdk_image_new): 
8653         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
8654         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
8655         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
8656         (gdk_colormap_get_system): 
8657         (gdk_colormap_new): 
8658         * gdk/gdkwindow.c (gdk_window_init): 
8659         * gtk/gtkstyle.c (gtk_style_new):
8660         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
8661         * gdk/gdkpixmap.c (gdk_pixmap_init): 
8662         * gtk/gtkrc.c (gtk_rc_style_new):
8663         use g_object_new() instead of g_type_create_instance() which
8664         is a private function for fundamental type implementations.
8665
8666 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
8667
8668         * configure.in: Add check for db2html
8669
8670 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
8671
8672         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
8673         hack to set glib_debug_objects based on gtk_debug_flags.
8674
8675 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
8676
8677         * INSTALL.in: Update the Prerequisites section.
8678
8679         * Makefile.am demos/Makefile.am docs/Makefile.am
8680         docs/tutorial/Makefile.am gdk/x11/Makefile.am
8681         gdk/linux-fb/Makefile.am: Dist fixes
8682
8683 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
8684
8685         * NEWS: 10,000 foot view of 1.3.1 changes.
8686
8687 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
8688
8689         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
8690         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
8691         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
8692         gdk/x11/gdkmain-x11.c: 
8693
8694         Patch from George Lebl to add a GdkGrabStatus enumeration to use
8695         as a return value of gdk_*_grab(). Previously, we just
8696         returned the X11 values directly.
8697
8698 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
8699
8700         * gdk/x11/Makefile.am: Patch from George Lebl to 
8701         install all the headers in the right place.
8702
8703 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
8704
8705         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
8706           initial conversion to DocBook.
8707
8708 2000-07-04  Tor Lillqvist  <tml@iki.fi>
8709
8710         * README.win32: Improve a bit.
8711
8712         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
8713         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
8714         Alt+0nnn on the numpad (used to enter characters by numeric code
8715         from current DOS or ANSI codepage) working correctly, as in other
8716         Windows apps.
8717
8718         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
8719         same argument validity tests as in X11 version.
8720         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
8721
8722         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
8723         definitions in case missing from headers.
8724
8725         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
8726         destroy the window-specific cursor.
8727         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
8728         calling GetModuleHandle(NULL).
8729         (gdk_window_set_cursor): Reworked to always copy the passed cursor
8730         with CopyCursor before setting it as the window-specific
8731         cursor. It is OK for the caller to destroy the GdkCursor (and thus
8732         also its Windows cursor) after calling this function. Destroy any
8733         previous window-specific cursor.
8734
8735 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
8736
8737         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
8738         font charset is iso8859-1, not iso-8859-1.
8739
8740 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
8741
8742         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
8743         Use g_get_charset() instead of g_get_codeset().
8744
8745         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
8746         Comment out some strdup'ing functions to keep timj
8747         happy until we finish fighting this out.
8748
8749 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
8750
8751         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
8752         <= width or height.
8753
8754         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
8755         from 1.2 for parent/child states.
8756
8757         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
8758         of typos.
8759
8760         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
8761         event structures, replace with a generic axes field. Replace 
8762         deviceid/sourec with GdkDevice *device.
8763
8764         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
8765         to extract particular axis use value from event. (Also
8766         can be used for normal X/Y.)
8767
8768         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
8769         allow for arbitrary number of axes, namespace everything
8770         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
8771         everywhere.
8772
8773         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
8774         Get rid of the gdk_input_vtable setup if favor of simply
8775         defining the functions in gdkinput-none/gxi/xfree.c in
8776         a similar fashion to the way that the port structure is 
8777         done.
8778
8779         * gtk/gtkdnd.c: Fix fields of synthesized button press event
8780         for new event structures. 
8781
8782         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
8783         new device interfaces.
8784
8785 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
8786
8787         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
8788         set the initial text.
8789
8790         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
8791         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
8792         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
8793         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
8794
8795         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
8796         pango_layout_set_font_description to simplify.
8797
8798 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
8799
8800         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
8801         pango_layout_set_font_description to simplify.
8802
8803 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
8804
8805         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
8806         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
8807         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
8808
8809         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
8810         PANGO_PIXELS() macro.
8811
8812 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
8813
8814         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
8815         that returns a PangoContext owned by the widget and updated to
8816         match future changes in the widget. Also, make 
8817         gtk_widget_create_pango_layout() use this context. If we ever
8818         add a ::changed signal to PangoContext, this will make things
8819         much more convenient. 
8820
8821         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
8822         in the appropriate places instead of destroying the layouts and
8823         creating new ones.
8824
8825         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
8826         in a few strategic places.
8827
8828 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
8829
8830         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
8831         gtk_widget_size_request() on reparented child, if one. Otherwise,
8832         queue_resize() on the child never results in it getting size-requested
8833         at all.
8834
8835         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
8836         in option menus, so that (with luck) people won't copy it into
8837         their apps in the future.
8838
8839         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
8840         to gtk_option_menu_calc_size. This isn't perfect, but should fix
8841         a lot of problems with changing the size of the menu's menu
8842         items after adding it to the option menu.
8843
8844         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
8845
8846         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
8847         the text direction for a widget changes.
8848
8849         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
8850         ::direction_changed to get rid of various hacks.
8851
8852 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
8853
8854         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
8855         name.
8856
8857 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
8858
8859         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
8860         flag to the structure. Do not call XFreePixmap on pixmaps created
8861         by gdk_pixmap_foreign_new().
8862
8863 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
8864
8865         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
8866         value using GdkRGB functionality given GdkColormap and GdkColor.
8867         (name not final, waiting for inspiration.)
8868         
8869         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
8870         set the foreground/background of a GC using the GC's colormap
8871         and GdkRGB. (name not final, waiting for inspiration.)
8872
8873         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
8874         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
8875
8876         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
8877         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
8878         purely a function of the corresponding colormap. Make
8879         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
8880
8881         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
8882         gdk_pixbuf_*create_from_xpm_* in terms of
8883         gdk_pixbuf_new_from_xpm_data(), move into platform independent
8884         code.
8885
8886         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
8887         advantage of the new draw_rgb_32_image_dithalign.
8888
8889         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
8890
8891         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
8892         on each created GC.
8893
8894         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
8895
8896         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
8897         which we initialize from the drawable when the GC is created,
8898         if the drawable has a colormap.
8899
8900         * gdk/x11/gdkgc-x11.c: include string.h for memset.
8901
8902         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
8903
8904         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
8905
8906 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
8907
8908         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
8909         actually returning expose events, make sure to set
8910         the count field properly.
8911
8912         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
8913         accidentally reintroced bug which always cleared
8914         the graphics_exposures value. 
8915
8916 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
8917
8918         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
8919
8920 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
8921
8922         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
8923
8924 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
8925
8926         * docs/faq/gtk-faq.sgml: Start of Section 6.
8927
8928 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
8929
8930         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
8931         
8932         (Fixes problem with drawing childless frames. Pointed out
8933         by and a first patch from Anders)
8934         
8935         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
8936         compute a child_allocation, even if we don't have a child.
8937
8938         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
8939         Always chain to the parent's impl, even if we don't have a child.
8940
8941 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
8942
8943         * gdk/gdkrgb.c: If possible, create only a single shm segment and
8944         use multiple parts of it instead of creating a bunch of separate
8945         segments, since the maximum number of segments per system is not
8946         large. (This might be worth backporting to GTK+-1.2.x if we make a
8947         new release )
8948
8949         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
8950         structure in preparation for per-colormap GdkRGB.
8951
8952         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
8953         to False when we get EINVAL from shmget so that the caller of
8954         gdk_image_new can retry with a smaller segment size.
8955
8956 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
8957
8958         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
8959
8960 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
8961
8962         * configure.in: make the current version number 1.3.1 (binary age 0,
8963         interface age 0).
8964         
8965         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
8966         gtkcompat.h is all we want.
8967
8968         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
8969         GLib primitive types. fixed g_type_register_fundamental() argument
8970         ordering.
8971
8972         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
8973         compiles.
8974
8975         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
8976         object code cleanup, comment trigraph fixes, etc...
8977
8978 2000-06-23  Havoc Pennington  <hp@redhat.com>
8979
8980         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
8981         instead of making up a bogus name for first_para_mark
8982
8983         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
8984         0 as a context ID
8985
8986 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
8987
8988         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
8989
8990 2000-06-21  Havoc Pennington  <hp@pobox.com>
8991
8992         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
8993         we didn't check window->bg_pixmap != GDK_NO_BG.
8994
8995         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
8996         gdk-pixbuf
8997
8998 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
8999
9000         * docs/faq/gtk-faq.sgm: Move file to here.
9001           TODO: Update Makfile.am 
9002
9003 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
9004
9005         * docs/gtk-faq.sgm: Add Section 2
9006
9007 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
9008
9009         * docs/gtk-faq.sgm: New file. Start of DocBook
9010           version of the FAQ.
9011
9012 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
9013
9014         * configure.in (GDK_PIXBUF_MAJOR): Define version
9015         numbers for GDK_PIXBUF_*, as they get substituted
9016         into a header file. Need to consider versioning
9017         for gdk-pixbuf more carefully later.
9018
9019 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
9020
9021         Work with srcdir != builddir.   
9022         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
9023         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
9024         * demos/testpixbuf.c: Likewise.
9025         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
9026         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
9027         <gdk/x11/gdkx.h>.
9028         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
9029         "gdk-pixbuf.h".
9030         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
9031
9032 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
9033
9034         * TODO.xml: Change 1.4 version numbers to 2.0.
9035
9036 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
9037
9038         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
9039         fixups to GTK+ standard.
9040
9041 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
9042
9043         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
9044         gdk-pixbuf.
9045
9046         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
9047         fixups for GObject.
9048
9049         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
9050         gdk-pixbuf with GDK dependencies moved into GDK.
9051         
9052         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
9053         move gdk-pixbuf-loader here until GObject has signals.
9054
9055         * demos/: New directory of demos. Move demos from
9056         gdk-pixbuf here.
9057
9058         * demos/pixbuf-init.c: Small bit of code to check for
9059         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
9060         set GDK_PIXBUF_MODULEDIR appropriately.
9061
9062         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
9063         define which no longer makes sense.
9064
9065 2000-06-21  Havoc Pennington  <hp@redhat.com>
9066
9067         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
9068         gtk_get_default_language
9069
9070         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
9071         new function to get the default language
9072
9073         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
9074         s/gtk_text_view_style_values/gtk_text_style_values/
9075
9076         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
9077         Add a "language" field to tags.
9078
9079         (gtk_text_tag_set_arg): Fix bug in setting
9080         "bg_full_height_set" tag.
9081
9082 2000-06-21  Havoc Pennington  <hp@redhat.com>
9083
9084         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
9085         in the interfaces
9086
9087         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
9088         stuff instead when possible.
9089
9090         * gtk/gtktexttypes.h: Delete some unused constants
9091
9092         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
9093         testtextbuffer.c: use glib instead of custom unicode routines
9094
9095 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
9096
9097         * docs/es/: Removed mistakenly added generated sgml
9098
9099         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
9100         Remove outdated info files.
9101
9102         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
9103         Moved tutorial files into subdir
9104
9105         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
9106         subdir.
9107
9108         * docs/man/gtk_button.pod: Remove. (contents will be
9109         integrated into gtk-reference button page.)
9110
9111         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
9112         docs/faq/Makefile.am: Adjust for new organization
9113
9114 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
9115
9116         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
9117         not $(MKINSTALLDIRS)
9118
9119 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
9120
9121         * gtk/testgtk.c (create_text): Finish the job Elliot started
9122         of removing font setting test for text widget. (Since text widget
9123         and GdkFont are not deprecated, and cause portability problems.)
9124
9125 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
9126
9127         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
9128         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
9129         Remove use of libunicode in favor of new GLib functions.
9130
9131         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
9132         nano-x, framebuffer. The X11 include is just a hack until we get
9133         the necessary functions in gdkcolor.h, so there is no reason to
9134         add other includes of platforms.
9135
9136         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
9137         window bigger than the screen change.
9138
9139         * gtk/testgtk.c: Revert some random changes from Elliot
9140         that had no particular point and were causing testgtkrc
9141         not to function correctly.
9142         
9143         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
9144         because GdkSegment and GdkRegionBox have the same fields,
9145         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
9146         results in clearer code.
9147
9148         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
9149         gdk_input_translate_coordinates): Fix missed GdkObjectification
9150
9151 2000-06-18  Elliot Lee  <sopwith@redhat.com>
9152
9153         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
9154         * gtk/gtk{plug,socket}.h: Missed commits from previous.
9155
9156 2000-06-20  Havoc Pennington  <hp@redhat.com>
9157
9158         * modules/linux-fb/Makefile.am: Make this compile
9159         without framebuffer enabled
9160
9161         * gdk/linux-fb/Makefile.am: Add conditional to not build
9162         framebuffer unless specified in configure
9163
9164         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
9165         the size of the target instead of source if -1 was passed for
9166         width/height
9167
9168         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
9169         width/height confusion.
9170
9171 2000-06-19  Havoc Pennington  <hp@redhat.com>
9172
9173         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
9174         GDK_DRAWABLE_XID. In the future, we probably want to make it
9175         faster with G_DISABLE_CHECKS turned on.
9176
9177 2000-06-14  Havoc Pennington  <hp@redhat.com>
9178
9179         * gdk/Makefile.am: add gdkpixmap.c
9180
9181         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
9182         s/gdk_image_init/_gdk_windowing_image_init
9183
9184         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
9185         ref/unref
9186
9187         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
9188
9189         * gdk/gdkcompat.h: remove GdkWindowType compat, since
9190         GdkWindowType is now non-deprecated; 
9191         change gdk_window_get_type() compat to be
9192         gdk_window_get_window_type().
9193
9194         * gdk/gdkdnd.h: make GdkDragContext a GObject.
9195
9196         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
9197         virtual GObject. Make all functions call into the vtable.
9198         Move gdk_image_put() guts in here. Remove GdkDrawableType
9199         and gdk_drawable_get_type(), these are now GdkWindow-specific.
9200         draw_image, get_depth, get_size, set_colormap, get_colormap,
9201         get_visual added to the vtable.
9202         
9203         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
9204         GObject. Virtualize everything. 
9205         (gdk_gc_new_with_values): remove check for destroyed window,
9206         because now GdkWindow::create_gc will check this.
9207         (gdk_gc_set_values): New function to set GC values, this 
9208         was already implemented but wasn't in the header
9209
9210         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
9211
9212         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
9213         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
9214         remove _gdk_window_class; add _gdk_window_impl_get_type() and
9215         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
9216         _gdk_windowing_window_init, rename gdk_image_init to
9217         _gdk_windowing_image_init.
9218         
9219         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
9220         (gdk_draw_layout): Remove check for destroyed window, 
9221         because all the drawable methods already check it.
9222         
9223         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
9224         Add gdkpixmap.c which contains implementation of GdkDrawable
9225         virtual table (by chaining to a platform-specific implementation
9226         object).
9227         
9228         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
9229         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
9230         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
9231         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
9232         GdkColormapPrivate. 
9233
9234         * gdk/gdktypes.h: #include <glib-object.h>
9235
9236         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
9237         Move most functionality to platform-specific implementation
9238         object. GdkWindow itself now handles the backing store, then
9239         chains to the platform-specific implementation.
9240         (gdk_window_get_window_type): return GdkWindowType of the window.
9241         (gdk_window_peek_children): New routine, returns the children of 
9242         a GdkWindow
9243         (gdk_window_get_children): Was in X11-specific code and did 
9244         XQueryTree. Changed to simply return a copy of window->children; 
9245         so it can go in cross-platform code.
9246         
9247         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
9248
9249         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
9250         GdkColormap; just changed to use the new private data instead
9251         of casting to GdkColormapPrivate.
9252
9253         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
9254         gdk_cursor_new().
9255
9256         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
9257         (private data member in the GObject). 
9258         (xdnd_manager_source_filter): Function had broken 
9259         error handling, fix it (use gdk_error_trap_push).
9260
9261         * gdk/x11/gdkdrawable-x11.c: This file now implements
9262         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
9263         base class is purely for the convenience of the X port,
9264         and not part of the interface to cross-platform GDK.
9265
9266         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
9267         
9268         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
9269         specific to X, and returned by the create_gc virtual method
9270         of GdkDrawableImplX11. 
9271         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
9272         rather than gchar, this was also changed in the GdkGC vtable.
9273         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
9274         mask is 0, return immediately, instead of checking every flag.
9275         This is faster, and keeps us from segfaulting if values is NULL
9276         and the mask contains some nonzero flags.
9277
9278         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
9279         GdkWindow.
9280
9281         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
9282         GdkWindowPrivate is gone.
9283
9284         * gdk/x11/gdkim-x11.c: rename things that got renamed.
9285
9286         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
9287         remove the image_put stuff that got transferred to GdkDrawable.
9288         
9289         * gdk/x11/gdkinput.c: renamings
9290
9291         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
9292
9293         * gdk/x11/gdkpixmap-x11.c: GObject conversion
9294
9295         * gdk/x11/gdkprivate-x11.h: indentation fixes
9296
9297         * gdk/x11/gdkproperty-x11.c: renamings
9298
9299         * gdk/x11/gdkselection-x11.c: renamings
9300
9301         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
9302         implements the platform-specific "impl" object.
9303         Moved gdk_window_get_children to gdk/gdkwindow.c
9304
9305         * gdk/x11/gdkx.h: Remove all the private structs and private datas
9306         that no longer exist. Add declaration of GdkGCX11 object here.
9307         Fix all the macros to still work. 
9308
9309         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
9310         GdkDragContext from the boxed types since they are now GObjects.
9311
9312         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
9313         moved xthickness/ythickness into the instance. GtkStyleClass
9314         functions are now in the standard vtable for GtkStyle, so you have
9315         to create a GObject subclass to write a theme engine.
9316         (gtk_style_copy): fixed a leaked PangoFontDescription
9317         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
9318         can be the standard GObject function.
9319         
9320         * Throughout GTK:
9321         s/style->klass->[xy]thickness/style->[xy]thickness
9322         s/pango_layout_unref/g_object_unref/
9323
9324         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
9325         
9326         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
9327         accessing GDK internals.
9328
9329         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
9330         accessing GDK internals.
9331
9332 2000-06-18  Elliot Lee  <sopwith@redhat.com>
9333
9334         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
9335
9336         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
9337         problem by calculating event position relative to the trough
9338         rather than the slider.
9339         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
9340
9341         * gdk/gdkgc.h: Add GDK_NOR.
9342
9343         * configure.in, Makefile.am: Add modules top level dir
9344         * configure.in: Only use pangox library if building x11 target.
9345         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
9346
9347 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
9348
9349         * gtk/gtkcolorsel.c: Change private class member to be named
9350         private_data throughout the file.
9351
9352         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
9353         private_data to avoid clashing with keyword.
9354
9355 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
9356
9357         * gdk/gdkdnd.h: Add comment to remove warning.
9358
9359 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
9360
9361         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
9362         Byelorussian language; changed the Makefile and file names 
9363         to reflect that.
9364
9365 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
9366
9367         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
9368         rather than gdk_window_hide; this makes things work
9369         correctly if the window is programmatically hidden while
9370         iconified.
9371
9372 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
9373
9374         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
9375         cut and paste typo where wrong pixmap was being
9376         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
9377
9378 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
9379
9380         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
9381         Add helper function to compute format / bytes 
9382         relationship. Use in a couple places to fix up
9383         errors which assume 8 * format.
9384
9385         * gtk/gtkselection.c (gtk_selection_request): Use 32
9386         rather than 8 * sizeof (GdkAtom), to work correctly
9387         on Alpha.
9388
9389 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
9390
9391         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
9392         libgtk.la
9393         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
9394         versions
9395
9396         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
9397         checking macros return NULL since the function has a return value.
9398
9399 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
9400
9401         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
9402         GTK+ from building at all.
9403
9404         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
9405
9406 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
9407
9408         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
9409         gtk/Makefile.am: make it possible to configure gtk for different
9410         targets on the same platform. The library name is now 
9411         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
9412         flag. Only the x11 target compiles right now.
9413         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
9414         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
9415         * gdk/nanox/gdk*generic*: delete generic region code.
9416         * gdk/linux-fb/gdk*generic*: delete generic region code.
9417         * README.nanox: update information.
9418         
9419 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
9420
9421         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
9422         prepend not append. (Pointed out by Brett Hall.)
9423
9424 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
9425
9426         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
9427
9428 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
9429
9430         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
9431         need this later, and this makes sure that the atexit for
9432         glib gets called after that for GDK, so atexits are
9433         properly ordered for object leak checking.
9434
9435         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
9436
9437         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
9438         pango_x_shutdown_display()
9439
9440         * gtk/simple.c (main): Close window on destroy.
9441
9442 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
9443
9444         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
9445         to treat initial creation different from setting with 
9446         regards to the graphics-exposures parameter, so add a parameter
9447         indicating whether this is initial or not.
9448
9449 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
9450
9451         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
9452         to sort of work by adding an extra return_exposes arg
9453         to gdk_event_translate() - it might be better to simply
9454         deprecate the function altogether and force people to rewrite
9455         without it. gdk_window_scroll() handles most of it, and where
9456         gdk_window_scroll() doesn't work, simply redrawing more does.
9457
9458         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
9459         assertion.
9460
9461         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
9462
9463         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
9464         bunch of pretty much useless /* Print debugging info */ comments 
9465         which had drifted away from the code they were commenting.
9466
9467 2000-06-02  Havoc Pennington  <hp@pobox.com>
9468
9469         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
9470         is in working order.
9471         
9472         * gtk/testtext.c: Change to reflect anonymous mark API
9473
9474         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
9475
9476         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
9477         field, which was unused.
9478
9479         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
9480         saves some typing.
9481
9482         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
9483
9484         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
9485         flag on the insertion point and selection bound
9486
9487         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
9488         make mark-manipulation functions take a GtkTextMark* instead of a
9489         mark name.
9490         
9491         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
9492         GtkTextMarkBody; will be used to detect attempts to delete
9493         the permanent marks (insert and selection bound)
9494
9495         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
9496
9497 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
9498
9499         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
9500         flag to on.
9501
9502         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
9503         Honor DOUBLE_BUFFRED_FLAG
9504
9505         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
9506         function to set the DOUBLE_BUFFERED flag.
9507
9508         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
9509         or not exposes done on the widget should be double-buffered.
9510
9511         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
9512         to be what would be expected. (Fixes problem with a
9513         g_return_if_fail() validating a TextDirection enumeration)
9514
9515 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
9516
9517         * gtk/gtkwidget.c: Remove all references to 
9518         offscreen flag which was no longer used.
9519
9520         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
9521
9522         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
9523         for non-null label_widget->parent.
9524
9525         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
9526         which no longer was used.
9527
9528         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
9529
9530         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
9531         for null arguments.
9532
9533         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
9534         check for destroyed windows.
9535
9536 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
9537
9538         * gtk/gtkimmulticontext.c: Add a finalize method and unref
9539         the slave context there.
9540
9541         * gtk/gtkinvisible.[ch]: Make reference counting behavior
9542         identical to GtkWindow.
9543
9544 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
9545
9546         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
9547         pangox to here, so we can write them independent of rendering
9548         system, using GDK primitives.
9549
9550         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
9551         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
9552         since we have a rendering-system independent implementation in
9553         terms of draw_glyphs().
9554         
9555         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
9556         function to render a single line.
9557
9558         * gdk/x11/gdkpango.c: Move the guts of this file mostly
9559         into ../gdkpango.c, which simplifies things, since we
9560         don't have to deal with raw X gc's.
9561
9562 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
9563
9564         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
9565         get the logical attributes for a given GtkTextLine.
9566
9567 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
9568
9569         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
9570         g_locale_get_codeset() to g_get_codeset() change.
9571
9572 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
9573
9574         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
9575         descriptions.
9576
9577         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
9578         the entry.
9579
9580         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
9581         redoing (vastly simplifying) for Pango. Still needs quite
9582         a bit of work. (Size selection is currently poor. List of 
9583         predefined sizes is not a good idea, since all of these
9584         sizes won't necessarily be distinct.)
9585
9586 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
9587
9588         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
9589         CODESET results for LANG=C.
9590
9591 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
9592
9593         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
9594         which takes a stringized pango font description;
9595         ignore the older 'font' and 'fontset' declarations.
9596
9597         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
9598         field with a GdkFont derived via gdk_font_from_description(),
9599         for compatibility. (Should we just remove it entirely?
9600         Probably too much compatibility breakage, but people
9601         should be migrating to the new Pango stuff as quickly
9602         as possible.)
9603
9604 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
9605
9606         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
9607
9608 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
9609
9610         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
9611         redoing; there are some bugs in size allocation right
9612         now, the semi-existant distinction between header / day
9613         fonts was removed, but, with Pango, could actually
9614         be made functional in a nice way.
9615         
9616         * gtk/testcalender: Move calender from examples into this
9617         directory as a test program. (We really need to restrcture
9618         testgtk into a whole directory full of tests for every
9619         widget or functionality group, separated into multiple .c
9620         files.)
9621
9622 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
9623
9624         * gtk/testgtk.c (file_exists): Fix stupid typo that
9625         was keeping RC file from being loaded.
9626
9627         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
9628         RC file font code.
9629
9630 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
9631
9632         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
9633         Add function to load a GdkFont from a PangoFontDescription.
9634
9635 2000-05-29  Tor Lillqvist  <tml@iki.fi>
9636
9637         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
9638         variable should be of type GdkEventPrivate.
9639
9640 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
9641
9642         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
9643         to have any widget for the label, use a GtkLabel widget
9644         to display the text. (Based partially on a patch from
9645         Anders Carlson.)
9646
9647         (Quite a bit of code reorganization - strip 90% of the
9648         guts out of gtkaspectframe and add a single virtual
9649         func to GtkFrameClass - compute_child_allocation.)
9650
9651 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
9652
9653         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
9654         (Removed clist->row_center_offset field because caching
9655         it wasn't saving time or code, added private function
9656         _gtk_clist_create_cell_layout()).
9657
9658 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
9659
9660         * gtk/gtkaccellabel.c: Pangoized.
9661
9662         * gtk/[hv]ruler.c: Pangoized
9663
9664 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
9665
9666         * gtk/gtkfilesel.c (gtk_file_selection_init):
9667         Use gtk_clist_set_column_auto_resize() to remove need
9668         need for manual column width computations.
9669
9670 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
9671
9672         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
9673         ensuring Pango correctness, and considerably simplifying the
9674         code.
9675         
9676         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
9677
9678         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
9679         getting of numbers of lines.
9680
9681         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
9682         to the actual requested width of the lable, not to the wrap
9683         width we set.
9684
9685         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
9686
9687         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
9688           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
9689
9690         * gtk/gtktextview.c: Fix structure inheritance.
9691
9692         * gtk/gtkprogressbar.c: Pangoize.
9693
9694 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
9695
9696         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
9697         in a function.
9698
9699         * gtk/gtktextlayout.c (find_display_line_above): Fixed
9700         bug with computing line tops.
9701
9702         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
9703
9704 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
9705
9706         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
9707         and y_offset coordinates to do what we need now. (The offset between
9708         buffer and layout coordinates has been reintroduced, but is a 
9709         bit different than before.)
9710
9711         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
9712         handle the adjustments ourselves, and scroll as necessary using
9713         the new gdk_window_scroll().
9714         
9715         The advantage of this is that when we are incrementally revalidating,
9716         we are essentially rearranging things around the visible portion
9717         of the screen. With the old setup, the visible portion of the
9718         screen was moved around in the layout, so scrolling and redrawing
9719         to track that caused jumping of the display. Since we now
9720         control the scrolling ourselves, we can suppress this and
9721         only redraw when things actually change.
9722
9723 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
9724
9725         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
9726         the region not just redisplay it after-all, since we store the
9727         cursors in the LineDisplay. (Ugly interactions here between
9728         GtkLayout and GtkTextBTree here.)
9729         
9730         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
9731
9732 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
9733
9734         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
9735         Added function to scroll contents of a window while keeping the
9736         window constant. Works by XCopyArea or guffaw-scrolling depending
9737         on the details of how the window is set up. (guffaw-scrolling
9738         still needs to be filled in.)
9739
9740 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
9741
9742         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
9743         move the debugging that was tied to a global variable
9744         to that.
9745
9746         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
9747
9748         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
9749         validated flag, in line data instead of setting height/width to
9750         -1. This allows us to perform operations with partially invalid
9751         buffer (using the old size for invalid lines) and thus to do
9752         incremental vaidation. Keep height/width aggregates up to date
9753         when deleting text and rebalancing the tree.
9754
9755         * gtk/gtktextbtree.[ch]: Add functions validate a line
9756         (gtk_text_btree_validate_line), and to validate up
9757         to a number of pixels (gtk_text_btree_validate).
9758
9759         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
9760         that indicates that something is changed and a revalidation
9761         pass is needed. Change ::need_repaint to ::changed, and
9762         make it take old and new yranges instead of a rectangle.
9763
9764         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
9765         the line_data_destroy() function from 
9766         gtk_text_btree_add_view() to a virtual function in 
9767         GtkTextLayout
9768
9769         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
9770         since we are handling partial repaints in a different fashion
9771         now.
9772
9773         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
9774         of the selection instead of queueing a repaint on the
9775         entire widget.
9776
9777         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
9778         get_selection_bounds() down to btree, make the function
9779         in buffer a wrapper around the btree function.
9780
9781         * gtk/gtktextlayout.[ch]: Add functions to check if the
9782         layout is valid and to recompute either a range of pixels
9783         aroudn a line or a certain total number of pixels.
9784
9785         * gtk/gtktextlayout.[ch]: Cache a single line display;
9786         now that we only redraw the needed portions, the hit rate
9787         for this cache is quite high.
9788         
9789         * gtk/gtktextview.[ch]: Keep track of the first paragraph
9790         on the screen so that when re-laying-out the buffer, we can
9791         keep the same place. This requires connecting to ::value_changed
9792         on the adjustments
9793
9794         * gtk/gtktextview.[ch]: Add idle functions to revalidate
9795         the buffer after we receive an ::invalidated signal.
9796         
9797 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
9798
9799         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
9800         to max of allocation and layout size, not just to the
9801         layout size.
9802
9803         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
9804         Invalidate window so it gets redrawn properly.
9805
9806         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
9807         to mean the entire window.
9808
9809         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
9810         into public header.
9811
9812 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
9813
9814         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
9815         to get the name of a mark.
9816
9817         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
9818         to find the paragraph from a y position.
9819
9820 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
9821
9822         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
9823         nodes have width/height >= 0, not > 0.
9824
9825 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
9826
9827         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
9828         Add a size_only flag, so when we only need the size, we don't create
9829         useless appearance attributes.
9830
9831         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
9832         duplicate setting of font description.
9833
9834         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
9835
9836 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
9837
9838         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
9839         EXTRA_DIST. It does not work well when the file that
9840         everything depends on is not in the tarball.
9841
9842 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
9843
9844         * gtk/testgtk.c: Some hacks and fixes so that it basically
9845         works when not sitting in the GTK+ build tree.
9846
9847 2000-05-03  Havoc Pennington  <hp@redhat.com>
9848
9849         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
9850         Properly determine the ordering of the tag root and the current
9851         line within the tree. Previous algorithm only worked if the tag
9852         root's immediate parent was the common root of both the current
9853         line and the tag root.
9854
9855 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
9856
9857         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
9858         alignment.
9859
9860         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
9861         the widget text directional dynamically.
9862
9863         * gtk/gtktextview.[ch]: Added functions to get and set default
9864         wrap mode.
9865
9866 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
9867
9868         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
9869         in cursor location computation.
9870
9871 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
9872
9873         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
9874         vadjusment values properly when layout gets smaller.
9875
9876         * gtk/gtktextview.c (need_repaint_handler): Areas being
9877         passed in are far completely inaccurate, and sometimes
9878         too small, so, for now, just queue a redraw on the
9879         whole visible region.
9880
9881 2000-04-25  Havoc Pennington  <hp@redhat.com>
9882
9883         * gtk/gtktextbtree.c (summary_destroy): new function to 
9884         destroy tag summary nodes
9885         (gtk_text_line_next_could_contain_tag): this function was 
9886         totally broken if the line passed in wasn't below the tag
9887         root. Fix it.
9888         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
9889         "wildcard" case, we have to do a linear scan. Blah.
9890         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
9891         we have to do the linear scan
9892         (tag_removed_cb): When a tag is removed from the tag table, 
9893         remove the GtkTextTagInfo node from the btree.
9894         (gtk_text_btree_spew): Implement the spew function, for 
9895         our debugging pleasure.
9896
9897 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
9898
9899         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
9900         a problem with referring to the wrong buffer.
9901
9902         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
9903
9904         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
9905         font description to gtk_style_new() - otherwise things
9906         don't work without a .gtkrc file.
9907
9908         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
9909         tags table if we create it ourself, too.
9910
9911         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
9912         it was conflicting with XKB modifiers.
9913
9914         * gtk/gtktextview.[ch]: Add simple support for 
9915         GtkIMContext.
9916
9917 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
9918
9919         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
9920         with deletion from last commit.
9921
9922 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
9923
9924         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
9925         in the context from the current locale.
9926         
9927         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
9928         context, not hardcoded value.
9929
9930         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
9931         not logical.
9932
9933 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9934
9935         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
9936         attributes - that doesn't handle partial-glyph selection
9937         properly. Instead use new pango_layout_line_get_x_ranges()
9938         functionality to draw the selection.
9939
9940         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
9941         now properly handles out-of-range coordinates.
9942
9943         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
9944
9945         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
9946         public.
9947
9948         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
9949         for paragraphs opposite to the base direction of the widget.
9950
9951         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
9952
9953         * gtk/gtktextlayout.c: Don't split segments on marks, since that
9954         causes Arabic words to reshape as you cursor through.
9955
9956         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
9957         cursor position when moving vertically with the arrow keys and
9958         scrolling with page-up/page-down. (Arrow keys save only the X,
9959         scrolling saves both X and Y.)
9960
9961         This means you can line-up / line-down or page-up / page-down
9962         without losing your place, and also that moving vertically
9963         with the cursor keys keeps the same X position, not the same
9964         character count:
9965
9966         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
9967         arrow keys move by display lines, not paragraphs.
9968
9969 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
9970
9971         * gtk/gtklayout.c: Make sure that the bin window is at least
9972         as big as the allocation. (Should we also make sure that the
9973         bin window is big enough to completely cover widget->window?)
9974
9975         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
9976         function to get the onscreen rectangle.
9977
9978         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
9979         for offsets in window coordinates.
9980
9981 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
9982
9983         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
9984         confusion.
9985
9986         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
9987         from the widget direction.
9988
9989         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
9990         Add a "direction" attribute.
9991
9992         * gtk/gtktextview.c: global s/tkxt/text_view/.
9993
9994         * gtk/testtext.c: Added long block of text in Arabic, to test out
9995         the direction attributes. (Some problems with the shaping system
9996         for arabic become obvious - like the fact the cursor splits words
9997         into unjoined pieces.)
9998
9999 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
10000
10001         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
10002
10003         * gtk/gtktextlayout.c: Fix up alignment.
10004
10005         * gtk/testtext.c: Add some tests for centering, wrapping.
10006
10007 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
10008
10009         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
10010         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
10011         If we wrote GTK+-specific layout-render function this could just replace
10012         the draw_layout() operation in the vtable.
10013
10014         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
10015         pango_layout_get_cursor_pos() and use that function.
10016
10017         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
10018         is a non-static symbol.
10019
10020         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
10021         with gtk_text_btree_find_line_by_y()
10022
10023         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
10024         renderer that handles GtkTextAppearance attributes.
10025
10026         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
10027
10028           - Move the values in the style that don't affect geometry into a
10029             GtkTextAppearance structure.
10030           - Change underline to take a PangoUnderline and "font" a string
10031             representation of a font description
10032           - Add a "font_desc" attribute which takes a FontDescription structure.
10033
10034         * gtk/gtktextlayout.[ch]:
10035
10036           - Get rid of the display-line list per each line. Instead, we
10037             generate, on demand, a GtkTextLineDisplay structure which]
10038             contains a PangoLayout * and other necesary information
10039             (offsets, cursor locations) for displaying a paragraph.
10040           - Get rid of the code to wrap lines, create display chunks,
10041             etc. Instead, we just go through a paragraph and convert
10042             it into the necessary inputs to a PangoLayout.
10043           - Implement a new attribute type, GtkTextAttrAppearance. This
10044             holds a GtkTextAppearance, and is used to pass colors, 
10045             stipple, etc, through from the layout to the display without
10046             having to use lots and lots of individual attributes.
10047           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
10048             in terms of PangoLayout functions.
10049         
10050         * gtk/gtktextview.c: 
10051          
10052           - Handle passing the necessary PangoContext to the layout
10053           - Some fixups in painting to deal with the automatic backing store
10054             and offsetting of GTK+-1.4
10055           - Add a style_set handler so that the default style reacts
10056             properly to theme changes.
10057         
10058         * gtk/gtktext?*.[ch]: Random code-style fixes.
10059
10060         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
10061
10062 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
10063
10064         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
10065         in original form preparatory to Pango-ization and gdkimcontext-ization.
10066
10067 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
10068
10069         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
10070         so that we can derive from gtkimcontext in language bindings properly.
10071
10072 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
10073
10074         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
10075         Add a compose table including (almost) all the compose combinations
10076         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
10077         data in the XIM implementation.
10078
10079         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
10080         Moved functions to convert keyvalues from and to unicode here from
10081         the win32 port and made them public.
10082
10083 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
10084
10085         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
10086
10087 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
10088
10089         * gtk/gtkimcontext.[ch]: Base class for new input context system
10090
10091         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
10092         the real input context implementation to be loaded from modules
10093         and switched on the fly.
10094
10095         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
10096         context that just does direct keysymbol => unicode translation.
10097
10098         * gtk/gtkentry.[ch]: Start switching editing over to using
10099         GtkInputContext. (No handling of preedit yet.)
10100
10101 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
10102
10103         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
10104         many substitutions. (klass should not be subsituted.)
10105
10106 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
10107
10108         * configure.in: Add checks for Pango
10109
10110         * configure.in docs/Makefile.am: Add test for sgml2html
10111         and allow 'make dist' without building html, but print out
10112         warnings in that case. (For making snapshots)
10113
10114         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
10115         Add Pango libraries and C flags
10116
10117         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
10118         Add function (gdk_draw_layout) to draw a pango layout.
10119
10120         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
10121         for getting Pango contexts for GDK.
10122
10123         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
10124
10125         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
10126         editing.
10127
10128         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
10129         keysym => unicode translations. More languages can be added
10130         here, but real input-method support is needed.
10131
10132         * docs/Changes-1.4.txt: Added note about entry behavior.
10133         
10134         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
10135         to set the reading direction for a widget and the global direction.
10136         Add test which allows toggling the global direction. Two private
10137         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
10138
10139         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
10140           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
10141
10142         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
10143
10144         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
10145         underlining now handled by Pango.
10146
10147         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
10148         to RCStyle and Style. (Having both this and the old font name and GdkFont 
10149         is temporary.)
10150
10151         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
10152         convenience functions for creating contexts and layouts for widgets.
10153
10154         * gtk/testgtk.c: Enhance label tests with multilingual labels.
10155
10156 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
10157
10158         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
10159         titles to be active, even if they aren't visible.
10160         (gtk_clist_column_titles_passive):  Ditto.
10161
10162 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
10163
10164         * gtkmenu.c:
10165         * gtkmenu.h:
10166         * gtktypeutils.h: Spelling/grammar fixes in comments.
10167
10168 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
10169
10170         * gdk/nanox/*.h: add missing header files.
10171
10172 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
10173
10174         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
10175         send_event to TRUE.
10176         (gtk_drawing_area_size): queue a resize.
10177
10178 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
10179
10180         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
10181         the handlers, also invalidate them. bug nailed down by Karl Nelson
10182         <kenelson@ece.ucdavis.edu>.
10183
10184 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
10185
10186         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
10187         "(nil)" foundries, patch from Grigorios Magklis.
10188
10189         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
10190         on non-available fonts, based on a patch by Grigorios Magklis
10191         <maglis@cs.rochester.edu>.
10192
10193 2000-05-18  Elliot Lee  <sopwith@redhat.com>
10194
10195         * gdk/x11/gdkregion-generic.c: If a region does not have any
10196         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
10197         instead of GDK_OVERLAP_RECTANGLE_IN.
10198
10199 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
10200
10201         * gtk/gtklayout.c (gtk_layout_map): Remove references to
10202         OFFSCREEN, as it is no longer necessary.
10203
10204 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
10205
10206         * gtk/gtkcolorsel.c: Patch from David Santiago
10207         <mrcooger@cyberverse.com> to change things so that the 
10208         indicator of the active palette entry is done independently,
10209         not via the focus, since it should always be visible.
10210
10211 2000-05-17  Tor Lillqvist  <tml@iki.fi>
10212
10213         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
10214         refcount leaks as in the X11 backend.
10215
10216         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
10217         cosmetics.
10218
10219         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
10220         backend. Add _gdk_windowing_window_destroy().
10221
10222         * gtk/gtkcolorsel.c: Include correct backend-specific header.
10223         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
10224         either, but these probably do exist on nanox?)
10225         
10226         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
10227         which isn't necessarily defined by <math.h>.
10228
10229         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
10230         ancestry past GtkObject.
10231
10232         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
10233         from DLL on Win32.
10234
10235         * gtk/gtk.def: Update corresponding to recent changes.
10236
10237         * gtk/makefile.{cygwin,msc}: Updates.
10238
10239 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
10240
10241         * docs/Changes-1.4.txt: A bit of editing.
10242
10243         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
10244         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
10245         to clear the update area for the window, and clear it
10246         when hiding a window.
10247
10248         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
10249         if window destroyed.
10250
10251         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
10252
10253         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
10254         gdk_window_destroy() to the generic code, since there was a lot of 
10255         window-system-independent logic it in. Add a function:
10256         
10257          _gdk_window_destroy() 
10258
10259         to the internal API to destroy a window without unreferencing it.
10260         Add a function:
10261
10262          _gdk_windowing_window_destroy()
10263
10264         That does the windowing-system-dependent part of destroying 
10265         the window.
10266
10267 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
10268
10269         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
10270
10271 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
10272
10273         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
10274         Make gtk_widget_shape_combine_mask() keep a reference count on
10275         the pixmap since it keeps it around.
10276
10277 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
10278
10279         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
10280         leak.
10281
10282         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
10283         leak with event filters.
10284
10285 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
10286
10287         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
10288         signal handlers with the right data arguments. (Fixes
10289         some warnings when a widget was repeatedly set as a drag
10290         destination.)
10291
10292         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
10293         window so we can avoid avoid setting the DND properties on the
10294         toplevel window repeatedly.
10295
10296 2000-05-13  Tor Lillqvist  <tml@iki.fi>
10297
10298         * gdk/win32/gdkwin32.h: Define more message types missing from
10299         mingw headers.
10300
10301         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
10302         call gdk_window_destroy_notify(). It was never called. This
10303         probably meant that the GdkWindow was never freed. Thanks Owen for
10304         noticing (!).
10305
10306         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
10307         window as destroyed before calling DestroyWindow(). DestroyWindow()
10308         causes a call to the window procedure (gdk_WindowProc), which
10309         calls gdk_event_translate(), which calls
10310         gdk_window_destroy_notify(), which gets confused unless the window
10311         is set as destroyed.
10312
10313         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
10314         this function to indicate it's win32 only. Put inside #ifdef
10315         G_ENABLE_DEBUG.
10316
10317         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
10318         debugging function. (gdk_event_translate:) Add a default branch
10319         that uses the above function to print debug messages with all
10320         Windows messages symbolically.
10321
10322         * gdk/win32/gdkprivate-win32.h: Declare it, and
10323         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
10324
10325 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
10326
10327         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
10328         public header file.
10329
10330 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
10331
10332         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
10333
10334         * gtk/gtktext.c: made the adjustments no-construct args, simply
10335         provide default adjustments.
10336         (gtk_text_destroy): release adjustments.
10337
10338         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
10339         adjustment argument non-construct.
10340
10341         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
10342         instead of in finalize.
10343         (gtk_progress_get_text_from_value): 
10344         (gtk_progress_get_current_text): 
10345         (gtk_progress_set_value): 
10346         (gtk_progress_get_percentage_from_value): 
10347         (gtk_progress_get_current_percentage): 
10348         (gtk_progress_set_percentage): 
10349         (gtk_progress_configure): ensure an adjustment is present.
10350
10351 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
10352
10353         * gtk/gtkcolorsel.[hc]:
10354         * gtk/gtkcolorseldialog.[hc]:
10355         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
10356         their parent implementation, use bit fields for boolean values, don't
10357         create unused widgets, usage of glib types, braces go on their own
10358         lines, function argument alignment, #include directives etc. etc. etc..
10359
10360         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
10361
10362 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
10363
10364         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
10365
10366         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
10367         of NULL.
10368
10369         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
10370         to freed data.
10371         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
10372
10373         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
10374         to NULL when the toplevel is getting destroyed.
10375         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
10376         (gtk_menu_destroy): 
10377         (gtk_menu_init): store the information of whether we have to
10378         readd the initial child ref_count during destruction in a new
10379         GtkMenu field needs_destruction_ref_count.
10380
10381         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
10382         here, those reading: learn from my mistake! ;)
10383         in order for set_?adjustment to support a default adjustemnt if
10384         invoked with an adjustment pointer of NULL, the code read (pseudo):
10385         if (v->adjustment) unref (v->adjustment);
10386         if (!adjustment) adjustment = adjustment_new ();
10387         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
10388         now imagine the first unref to actually free the old adjustment and
10389         adjustment_new() creating a new adjustment from the very same memory
10390         portion. here, the latter comparision will unintendedly fail, and
10391         all hell breaks loose.
10392         (gtk_viewport_set_hadjustment):
10393         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
10394         after unreferencing it.
10395
10396         * gtk/gtkcontainer.[hc]: removed toplevel registration
10397         functions: gtk_container_register_toplevel(),
10398         gtk_container_unregister_toplevel() and
10399         gtk_container_get_toplevels() which had wrong semantics
10400         anyways: it didn't reference and copy the list.
10401
10402         * gtk/gtkwindow.c: we take over the container toplevel registration
10403         bussiness now. windows are registered across multiple destructions,
10404         untill they are finalized. the initial implicit reference count
10405         users are holding on windows is removed with the first destruction
10406         though.
10407         (gtk_window_init): ref & sink and set has_user_ref_count, got
10408         rid of gtk_container_register_toplevel() call. add window to
10409         toplevel_list.
10410         (gtk_window_destroy): unref the window if has_user_ref_count
10411         is still set, got rid of call to
10412         gtk_container_unregister_toplevel().
10413         (gtk_window_finalize): remove window from toplevel list.
10414         (gtk_window_list_toplevels): new function to return a newly
10415         created list with referenced toplevels.
10416         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
10417
10418         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
10419         adjustment a non-construct arg.
10420         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
10421         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
10422         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
10423
10424         * gtk/gtkrange.c: added some realized checks.
10425         (gtk_range_destroy): get rid of the h/v adjustments in the
10426         destroy handler instead of finalize. remove timer.
10427         (gtk_range_get_adjustment): demand create adjustment.
10428
10429         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
10430         we simply create them on demand now and get rid of them in
10431         the destroy handler.
10432         (gtk_viewport_destroy): get rid of the h/v adjustments in the
10433         destroy handler instead of finalize.
10434         (gtk_viewport_get_hadjustment): 
10435         (gtk_viewport_get_vadjustment): 
10436         (gtk_viewport_size_allocate): demand create h/v adjustment
10437         if required.
10438
10439         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
10440         gtk_widget_real_destroy () functionality.
10441         (gtk_widget_real_destroy): reinitialize with a new style, instead
10442         of setting widget->style to NULL.
10443
10444 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
10445
10446         * gtk/gtkcalendar.c:
10447         * gtk/gtkbutton.c: ported _get_type() implementation over to
10448         GType, either to preserve memchunks allocation facilities,
10449         or because Gtk+ 1.0 GtkTypeInfo was still being used.
10450
10451         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
10452         over. prepare for ::destroy to be emitted multiple times.
10453         removed reference tracer magic. chain into GObjectClass.shutdown()
10454         to emit ::destroy signal.
10455
10456         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
10457         fundamental.
10458
10459         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
10460         cludge.
10461
10462         * gtk/gtksocket.c:
10463         * gtk/gtkplug.c:
10464         * gtk/gtklayout.c:
10465         * gtk/gtklabel.c:
10466         * gtk/gtkargcollector.c:
10467         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
10468         not being a fundamental anymore, and to work with the new
10469         type system (nuked fundamental type varargs clutter).
10470
10471         * gtk/*.c: install finalize handlers in the GObjectClass
10472         part of the class structure.
10473         changed direct GTK_OBJECT()->klass accesses to
10474         GTK_*_GET_CLASS().
10475         changed direct object_class->type accesses to GTK_CLASS_TYPE().
10476
10477         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
10478         GType. made most of the GTK_*() type macros and Gtk* typedefs
10479         simple wrappers around macros and types provided by GType.
10480         most notably, a significant portion of the old API vanished:
10481         GTK_TYPE_MAKE(),
10482         GTK_TYPE_SEQNO(),
10483         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
10484         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
10485         GTK_TYPE_ARGS,
10486         GTK_TYPE_CALLBACK,
10487         GTK_TYPE_C_CALLBACK,
10488         GTK_TYPE_FOREIGN,
10489         GtkTypeQuery,
10490         gtk_type_query(),
10491         gtk_type_set_varargs_type(),
10492         gtk_type_get_varargs_type(),
10493         gtk_type_check_object_cast(),
10494         gtk_type_check_class_cast(),
10495         gtk_type_describe_tree(),
10496         gtk_type_describe_heritage(),
10497         gtk_type_free(),
10498         gtk_type_children_types(),
10499         gtk_type_set_chunk_alloc(),
10500         gtk_type_register_enum(),
10501         gtk_type_register_flags(),
10502         gtk_type_parent_class().
10503         replacements, where available are described in ../docs/Changes-1.4.txt.
10504         implemented compatibility functions for the remaining API.
10505
10506         * configure.in: depend on glib 1.3.1, use gobject module.
10507
10508 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
10509
10510         * TODO.xml: Various updates to current status.
10511
10512 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
10513
10514         * gtk.m4: Print out version when test succeeds.
10515
10516 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
10517
10518         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
10519         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
10520         
10521         (Original triangle color selector from Simon Budig
10522         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
10523         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
10524         Santiago <mrcooger@cyberverse.com>)
10525
10526         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
10527         out into a separate widget.
10528
10529         * gtk/testgtk.c: Add some checkbuttons for toggling palette
10530         and opacity controls.
10531
10532 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
10533
10534         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
10535         snuck in prematurely.
10536
10537 2000-05-07  Tor Lillqvist  <tml@iki.fi>
10538
10539         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
10540         had deleted a ! operator by mistake, which caused
10541         GDK_SELECTION_CLEAR events never to be generated, which caused
10542         only the first copy to the clipboard from an gtkeditable to
10543         actually cause a copy to the Windows clipboard.
10544
10545 2000-05-06  Tor Lillqvist  <tml@iki.fi>
10546
10547         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
10548         compilation, too. Current mingw gcc distributions include the
10549         necessary headers. Also the necessary IIDs are now in mingw
10550         headers/libraries, and own definitions unnecessary.
10551
10552         More hacking on OLE2 DND, still doesn't work though, and thus
10553         ifdeffed out.
10554
10555         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
10556         here, too.
10557
10558 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
10559
10560         * gdk/nanox/*: nano-X port work in progress.
10561         * gdk/simple.c: simple test for Gdk.
10562         * README.nanox: notes about the port: read this first!
10563         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
10564         with nano-X.
10565
10566 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
10567
10568         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
10569         gdk_window_clear() into common code, implement in terms of
10570         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
10571         not redirected to the backing rectangle.
10572
10573 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
10574
10575         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
10576         EXTRA_DIST. It does not work well when the file that
10577         everything depends on is not in the tarball.
10578
10579 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
10580
10581         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
10582         with recursion where process_updates() is called from
10583         an expose handler. (GtkTextView is highly broken in
10584         doing this, but it should work, so it is a nice test
10585         case.)
10586
10587 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
10588
10589         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
10590         handle the case where updates are queued during processing of
10591         updates.
10592
10593 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
10594
10595         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
10596         window is on gdk_display - use that instead of segfaulting.
10597
10598 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
10599
10600         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
10601         broken and require an empty arg, give it to them.
10602
10603 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
10604
10605         * gtk/gtklabel.h: indentation fixes.
10606
10607 2000-05-02  Tor Lillqvist  <tml@iki.fi>
10608
10609         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
10610         draw too narrow or too low arcs, they seem to fail, at least with
10611         some display drivers.
10612
10613         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
10614
10615         Large changes to the Win32 backend, partially made necessary by
10616         the changes to the backend-independent internal
10617         structures. Attempts to implement similar backing store stuff as
10618         on X11. The current (CVS) version of the Win32 backend is *not* as
10619         stable as it was before the no-flicker branch was merged. A
10620         zipfile with that version is available from
10621         http://www.gimp.org/win32/. That should be use by "production"
10622         code until this CVS version is usable. (But note, the Win32
10623         backend has never been claimed to be "production quality".)
10624
10625         * README.win32: Add the above comment about versions.
10626
10627         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
10628
10629         * gdk/gdk.def: Update.
10630
10631         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
10632         presumably be replaced by some more better mechanism as 1.4 gets
10633         closer to release shape.
10634
10635         * gdk/makefile.{cygwin,msc}: Update.
10636
10637         * gdk/win32/*.c: Correct inclusions of the backend-specific and
10638         internal headers. Change code according to changes in these. Use
10639         gdk_drawable_*, not gdk_window_* where necessary.
10640
10641         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
10642         our old DND.
10643
10644         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
10645         to interpret single characters as UTF-8. Thanks to Hans Breuer.
10646         Use correct function name in warning messages.
10647
10648         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
10649         GSourceFuncs gdk_event_prepare and gdk_event_check.
10650         (gdk_event_get_graphics_expose): Do implement, use
10651         PeekMessage. Thanks to Hans Breuer.
10652         (event_mask_string): Debugging function to print an GdkEventMask.
10653         (gdk_pointer_grab): Use it.
10654
10655         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
10656         (old) book I used claimed was Hangul actually is CJK Unified
10657         Ideographs Extension A. Also, Hangul Syllables were missing.
10658         Improve logging.
10659
10660         * gdk/win32/gdkgc-win32.c: Largish changes.
10661
10662         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
10663         g_win32_getlocale() from GLib, and not setlocale() to get current
10664         locale name.
10665
10666         * gdk/win32/gdkprivate-win32.h
10667         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
10668         gdkwin32.h, similarily as in the X11 backend.
10669
10670         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
10671         assignment was used instead of equals in if test. Thanks to Hans
10672         Breuer.
10673
10674         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
10675         the X11 version.
10676
10677         * gdk/win32/makefile.{cygwin,msc}
10678         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
10679         path to the Win32 headers that works also with the mingw compiler.
10680
10681         * gtk/gtkstyle.c: Include <string.h>.
10682
10683 2000-04-26  Havoc Pennington  <hp@redhat.com>
10684
10685         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
10686         replacing the broken gtk_label_get ()
10687
10688 2000-04-15  Havoc Pennington  <hp@pobox.com>
10689
10690         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
10691         this keeps scanner scripts from getting confused.
10692
10693         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
10694         data, rather than void
10695
10696 2000-04-15  Tor Lillqvist  <tml@iki.fi>
10697
10698         * gtk/gtkclist.c (gtk_clist_motion)
10699         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
10700         with is_hint FALSE, get x and y from the event. They used to be
10701         used uninitialised. The Win32 backend never sends motion events
10702         marked as hints. This for instance fixes the annoying file and
10703         font selector behaviour in the Win32 version.
10704
10705 2000-04-14  Tor Lillqvist  <tml@iki.fi>
10706
10707         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
10708         gtk_private_n_signals variables, they are used by some software,
10709         sigh.
10710
10711         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
10712         installation directory from the Registry, where the installer
10713         should have put it.
10714
10715 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
10716
10717         * gdk/x11/Makefile.am: Fix problem with installation directory for
10718         gdkx.h
10719
10720         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
10721         <mrcooger@cyberverse.com> so that when selecting menus with the
10722         mouse, the first item will not be selected, but when selecting
10723         with an accelerator, or navigating left-right on a menubar with
10724         the menus popped up, the first item will be selected.
10725
10726 2000-04-05  Dan Damian  <dand@dnttm.ro>
10727
10728         * configure.in: Added "ro" to ALL_LINGUAS.
10729
10730 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
10731
10732         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
10733         indentation.
10734
10735         * Makefile.am (EXTRA_DIST): Fix typo.
10736
10737         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
10738         to catch gdkconfig.h
10739
10740         * gtk/gtkitemfactory.c: Added FIXME.
10741
10742 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
10743
10744         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
10745         s/return_if_fail/return_val_if_fail/g and add a return value.
10746
10747 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
10748
10749         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
10750         merge slipup.
10751
10752         * gdk/gdkinput.h: Fix missing line from merge.
10753
10754 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
10755
10756         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
10757         instead of gdkprivate.h.
10758
10759 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
10760
10761         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
10762         parent class to correctly be GtkDialogClass.
10763
10764 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
10765
10766         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
10767         toplevel windows and their immediate children by their parents,
10768         since the size of toplevel windows is out of our immediate
10769         control and we don't get any real benefit from trying to track
10770         this size for clipping.
10771
10772         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
10773         for input_only windows.
10774
10775         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
10776         to fix some hacks and make sure that we don't try to set the
10777         background of input only windows.
10778
10779 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
10780
10781         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
10782         the _really_ internal stuff, and leave gdkprivate.h for the fake private
10783         stuff that we've traditionally exposed.
10784
10785         * gdk/**.c: Use gdkinternals.h where appropriate.
10786
10787         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
10788         not include gdkprivate-x11.h, move all stuff of conceivable public
10789         interest into gdkx.h; keep all really private stuff in
10790         uninstalled header gdkprivate-x11.h.
10791
10792         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
10793         image->image_put on windows through a new function _gdk_window_draw_image()
10794         to allow us to do backing store for images. (Sort of ugly)
10795
10796         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
10797         contexts locally so that we can offset them properly when drawing 
10798         onto backing pixmaps.
10799
10800         * gdk/gdkinput.h: Reindented
10801
10802         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
10803         pixmap or color for the window, so we can properly initialize
10804         our double-buffer pixmaps, and also so that we temporarily set
10805         a background of None while scrolling.
10806
10807         * gdk/gdkregion.h: Revise region boolean operators to have an
10808         interface that is actually convenient - switch from creating new
10809         regions on every op, to "methods" that modify existing regions
10810         (A = A OP B). 3 argument forms which allow dest == src, would also
10811         be possible, but the current interfaces seem to map nicely
10812         onto what needs to be done. (There is quite a lot of region
10813         code in GDK now.)
10814
10815         * gdk/gdkregion.h: Add constructor from rectangle and a copy
10816         operator.
10817
10818         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
10819         gdkpoly-generic.h: Copy region code from Xlib, switch it over
10820         to 32 bit coordinates, modify it to be mostly GTK+ style
10821         and to have interfaces that match gdkregion.h.
10822
10823         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
10824         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
10825         create a backing pixmap and redirect all drawing to
10826         that backing pixmap until a matching gdk_window_end_paint().
10827
10828         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
10829         Create a special drawable class for GtkWindow's that 
10830         redirects the drawing to the backing pixmap as necessary
10831         and then calls the real operations in _gdk_windowing_window_class.
10832
10833         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
10834         Store invalid region for each window. Generate expose events for invalid
10835         region in an idle. This replaces both the expose compression
10836         and the redrawing queuing in GTK+. It is both more efficient and
10837         simpler than either one individually and far more so then the
10838         combination.
10839
10840         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
10841         Emulate 32 bit coordinates for windows with 16 bit coordinates
10842         by offsetting drawing, guffaw scrolling techniques and
10843         mapping/unmapping child windows as necessary.
10844
10845         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
10846         where, when invalid regions are processed, the region is stored,
10847         and if expose events come in that are detectably duplicate
10848         the processed exposes (by comparison of event serial numbers),
10849         the stored region is subtracted out of those exposes.
10850
10851         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
10852         regions newly exposed when scrolling or resizing windows.
10853         This, combined with forcing processesing of queued invalidated
10854         regions, gives nice flicker-free scrolling.
10855
10856         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
10857         invalidated regions after every scroll.
10858
10859         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
10860         emulation in GDK. Its, for all practical purposes just a
10861         GtkViewport/GtkFixed hybrid now.
10862
10863         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
10864         (16-bit) structures as necessary instead of just casting.
10865
10866         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
10867         in terms of the structures from gdkregion-generic.c, using appropriate
10868         offsets from GDK to X11 coordinates. Cache clip mask and
10869         origin and ts origin locally and only flush to the server
10870         when drawing, to avoid constantly setting and resetting these
10871         values when offsetting GC's for scrolling and backing pixmaps.
10872
10873         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
10874
10875         * gtk/gtkcontainer.c: Call process_all_updates at end
10876         of resizing to reduce flicker. (Avoids having redraw
10877         lag arbitrarily behind resize under some circumstances)
10878
10879         * gtk/gtkentry.c: Remove old backing store code, and simply take
10880         advantage of the new backing store capabilities of GDK.
10881
10882         * gtk/gtkmain.c: Simple implementation of widget backing
10883         store - simply push a paint while handling each expose.
10884         (Should really be configurable widget for widget.)
10885         
10886         * gtk/gtkwidget.c: Remove all the old complicated redraw
10887         code, and simply invalidate the GDK windows from
10888         gdk_window_queue_clear(), etc. (Sigh, so much carefully
10889         debugged complexity ... gone to the winds.)
10890
10891         Remove all the code for suppressing expose events while
10892         resizes are pending; this isn't needed since the invalid
10893         areas won't be processed until after the resizes are
10894         processed, since they are in a lower priority idle.
10895
10896 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
10897
10898         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
10899         and height of dest rectangle for non-intersecting rectangles.
10900
10901 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
10902
10903         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
10904         for GdkRectangle.
10905
10906 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
10907
10908         * gdk/gdk{events,image,private,types,window}.h
10909          gdk/x11/gdkinputprivate.h: Change all coordinates
10910          from int16 to int. Also, Change width and height from
10911          unsigned to signed to avoid all the stupid C 
10912          signedness bugs.
10913
10914 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
10915
10916         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
10917         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
10918         Add some more detailed checking.
10919
10920         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
10921         New function to retrieve the depth of a drawable.
10922
10923         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
10924         field, reorder fields to save memory. 
10925
10926 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
10927
10928         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
10929         of the background image instead of scaling the background down to
10930         a line.
10931
10932         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
10933         which temporarily set slider to wrong size.
10934
10935         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
10936         queue_clear().
10937
10938 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
10939
10940 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
10941
10942         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
10943
10944 2000-03-17  Tor Lillqvist  <tml@iki.fi>
10945
10946         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
10947         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
10948
10949         * gdk/win32/gdkfont-win32.c
10950         * gdk/win32/gdkproperty-win32.c
10951         * gdk/win32/gdkselection-win32.c
10952         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
10953         now declared such.
10954
10955 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
10956
10957         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
10958
10959 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
10960
10961         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
10962         is called without trapping X errors.
10963
10964 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
10965
10966         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
10967         way into the fontset lists.
10968
10969 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
10970
10971         * gtk/gtkthemes.h: add extern "C" scope.
10972
10973 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
10974
10975         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
10976         to make appends to the list constant. (gtk-guy-990901-0.patch)
10977
10978 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
10979
10980         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
10981         for the typename hash table.
10982
10983 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
10984
10985         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
10986         to make sure we never divide by zero. 
10987         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
10988
10989 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
10990
10991         * gtk/gtkfontsel.c: Apply patch from
10992         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
10993         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
10994
10995         Also, some cleanups in atom handling.
10996
10997 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
10998
10999         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
11000         not GtkWidget.
11001
11002 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
11003
11004         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
11005         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
11006         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
11007         more guint wrap-around bugs before going to bed.
11008
11009 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
11010
11011         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
11012         guint wrap arounds in allocation.width.
11013
11014         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
11015         process untill we fit the allocation given.
11016
11017 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
11018
11019         * gtk/gtkwidget.c:
11020         (gtk_widget_unrealize): guard widget access with ref/unref
11021         around signal emission.
11022         (gtk_widget_hide): same here, but also check its destroyed
11023         state before queueing a resize.
11024
11025 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
11026
11027         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
11028         of gtk_default_insensitive_bg as insensitive base color.
11029
11030         * gtk/gtktext.c (gtk_text_style_set): set the background color according
11031         to the widget's state.
11032         (gtk_text_realize): same here.
11033         (gtk_text_state_changed): same here.
11034         (draw_bg_rect): compare background color against base[] from
11035         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
11036
11037 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
11038
11039         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
11040         grabs are active, unless a delete event is send to the toplevel
11041         of the currently grab holding widget.
11042
11043 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
11044
11045         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
11046         debugging g_print's.
11047
11048 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
11049
11050         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
11051         ever make the scrolled-window requisition ever depend on the 
11052         visibility state of the scrollbars for the AUTOMATIC policy. 
11053         This breaks the GTK+ requisition model, and causes loops.
11054
11055 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
11056
11057         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
11058         the default font to avoid problems with XFree86-4.0 where the
11059         default charset is iso10646-1, not iso8859-1.
11060
11061 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
11062
11063         * acinclude.m4
11064         * config.guess
11065         * config.sub
11066         * ltconfig
11067         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
11068
11069         * gtk/Makefile.am: minor cosmetic consistency tweak
11070
11071 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
11072
11073         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
11074         the activate_time to 0, so that we handle a quick
11075         press/release press/release properly and don't suppress
11076         the second release. (Red Hat bug #7545)
11077
11078 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
11079
11080         * gtk/gtkctree.c (row_delete):
11081         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
11082         bugs with destruction notifier, *always* update internal
11083         structures *before* calling user code.
11084
11085 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
11086
11087         A few more fixes for bug #5487, #2051, #2677.
11088         * gtk/gtkclist.c : 
11089         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
11090         not GDK_BUTTON_PRESS.
11091         (resync_selection): resync only if selection_mode is
11092         GTK_SELECTION_EXTENDED
11093         * gtk/gtkctree.c (resync_selection): same here
11094
11095 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
11096
11097         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
11098         gdk_drag_get_selection() and gtk_menu_detach().
11099
11100         [ From Jeroen Ruigrok/Asmodai ]
11101
11102 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
11103
11104         * gtk/gtknotebook.c (gtk_notebook_size_request): 
11105         page->tab_label can be NULL.
11106
11107 2000-01-25  Havoc Pennington  <hp@pobox.com>
11108         
11109         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
11110         arg is boolean
11111
11112         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
11113
11114         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
11115
11116         * gdk/gdkproperty.c (gdk_property_get): return boolean
11117
11118         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
11119
11120         * gdk/gdkim.c (gdk_im_ready): return boolean
11121
11122         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
11123
11124         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
11125         glib clash, should fix glib)
11126
11127         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
11128         (gdk_get_show_events): return gboolean, and canonicalize 
11129         to TRUE/FALSE
11130
11131         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
11132         colormap is private
11133         (gdk_colors_alloc): gboolean whether to be contiguous
11134         (gdk_color_equal): return gboolean since we are a predicate
11135         and not a qsort() (this looks semi-wrong due to glib breakage,
11136         IMO glib should be fixed)
11137         
11138         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
11139         (gdk_get_use_xshm): return gboolean
11140         (gdk_pointer_is_grabbed): return gboolean
11141
11142         * gdk/gdk.h: Change prototypes to match all the above changes,
11143         and re-run egtk-format-protos as required.
11144
11145 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
11146
11147         * gtk/gtkctree.c (resync_selection): 
11148         * gtk/gtkclist.c (resync_selection):
11149
11150         Return immediately if clist->drag_pos < 0. This is a workaround
11151         for the corrupt state that the clist gets into when a
11152         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
11153
11154         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
11155         
11156         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
11157         variable from recent commit.
11158
11159 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
11160
11161         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
11162
11163 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
11164
11165         * gtk/Makefile.am: prefix all autogenerated source that get build in
11166         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
11167         in builddir. since we subsequently cd into srcdir for autogeneration,
11168         the paths have to be stripped from the target file names, thusly we
11169         use $(@F) as target names now.
11170         put a comment about configure.in's --disable-rebuilds option,
11171         which can be used for non-writable source directories, for development
11172         setups though, srcdir has to be *writable*.
11173
11174 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
11175
11176         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
11177           Finish the job of allowing event to be NULL.
11178           (Fixes bug #4283, reported by Chris Blizzard)
11179
11180         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
11181           things so that the cursor appears on screen, properly
11182           take into account INNER_BORDER.
11183           (Fixes bug #4754, reported by Antonio Campos)
11184
11185 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
11186
11187         * gtk/gtknotebook.c (gtk_notebook_map): Don't
11188           show the tab_label unless it itself is visible.
11189
11190           gtk/gtknotebook.c (gtk_notebook_size_request):
11191           Do a better job of making sure that the visibility
11192           of the tab label corresponds to whether it should
11193           be mapped or not.
11194
11195 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
11196
11197         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
11198           Use the requisition, not the allocation, since the
11199           allocation has not necessarily been computed yet.
11200           (Pointed out by Eugene Osintsev)
11201
11202 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
11203
11204         * gtk/gtkstyle.c (gtk_style_new): Dont' set
11205           style/base[GTK_STATE_INSENSITIVE] both to
11206           gtk_default_insensitive_bg!
11207           (Bug #2187, reported by Jonathan Blandford)
11208
11209         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
11210           Add Alt_L, Alt_R to list of invalid accelerators.
11211           (Bug #3736, reported by Vlad Harchev)
11212
11213 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
11214
11215         * gtk/gtkfilesel.c (open_ref_dir): Fix several
11216         bugs which occured after an attempt to open 
11217         invalid home directory left cmpl_state->reference_dir == NULL.
11218
11219          - completion on files in home directory didn't work
11220          - completion on an empty string caused  segfault
11221
11222          (Bug #3678, reported by Steve Ratcliffe)
11223
11224         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
11225         cut and paste error that was causing scales to
11226         be incorrectly positioned.
11227         (Bug #2956,
11228          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
11229
11230 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
11231
11232         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
11233         when checking for dcgettext, if we've found we needed
11234         it for dgettext.
11235 +
11236 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
11237
11238         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
11239         queue_clear on NO_WINDOW widgets during a reparent,
11240         since at that point the window and widget heirarchies
11241         are out of sync. This stops crashing in some cases
11242         (the scrolled window reparent test, for instance), and
11243         _probably_ won't cause drawing errors.
11244
11245         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
11246         test do what it was supposed to do and be robust against
11247         window closings, etc. (Bug #2443)
11248
11249 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
11250
11251         * gtk/gtkentry.c: Fix return values on mouse events.
11252         (Bug #2686, Sky <seb_sky@yahoo.com>)
11253
11254         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
11255         (pointed out by George Lebl)
11256
11257         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
11258         (From Ettore Perazzoli  <ettore@helixcode.com>)
11259  
11260 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
11261
11262         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
11263         clicks between rows or outside calender area correctly.
11264         (Patch from Damon Chaplin)
11265
11266         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
11267         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
11268           Call destroy function when overwriting existing data. 
11269           (Pointed out by Damon Chaplin)
11270
11271 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
11272
11273         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
11274           which was causing problems on various systems with Xmu.
11275           This hasn't been needed for a very long time.
11276           (Fixes #1185 3167)
11277
11278 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
11279
11280         * gdk/gdki18n.h: Include <ctype.h> when defining
11281           gdk_isw* in terms of is* as a fallback.
11282           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
11283
11284 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
11285
11286         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
11287           realize the widget when it is size allocated!
11288           (old, old bug)
11289
11290         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
11291           Removed unused call to gdk_window_get_size() that
11292           showed up when the above was fixed.
11293
11294 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
11295
11296         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
11297           fix up widget->window when the widget is a
11298           NO_WINDOW container widget.
11299
11300 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
11301
11302         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
11303           to account for the fact that feof() does _not_ 
11304           return TRUE on errors, and thus avoid infinite loops
11305           when trying to use gdk_pixmap_create_from_xpm()
11306           on unreadable values.
11307
11308 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
11309
11310         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
11311
11312 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
11313
11314         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
11315           gdk_gc_set_dashes to take gint8 instead of gchar to
11316           make it clearer that it is _not_ a NULL terminated string.
11317
11318         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
11319           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
11320           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
11321           arguments.
11322
11323 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
11324
11325         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
11326         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
11327         background size relative to our allocation, guard against small
11328         allocations, we may have not yet been size allocated.
11329
11330 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
11331
11332         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
11333         not just version == 3. We implement all 3 + most of 4 - 
11334         (we don't support matching text/plain;charset=iso-8859-1
11335         to a dest that expects text/plain). We'll still advertise
11336         3 to be safe, but any client implementing version >= 3
11337         must interoperate with 3.
11338         
11339 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
11340
11341         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
11342         background and gc members, add a warning in gtk_tooltips_set_color()
11343         indicating that this function is deprecated.
11344
11345 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
11346
11347         * docs/gtkfaq.sgml: FAQ Update:
11348           - Minor cleanups (Emmanuel, me)
11349           - New questions:
11350                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
11351                 How can I retrieve the text from a GtkMenuItem? (timj)
11352                 How do I validate/limit/filter the input to a GtkEntry? (me)
11353                 Memory does not seem to be released when I free the list
11354                         nodes I've allocated (timj)
11355
11356 2000-03-07  Tor Lillqvist  <tml@iki.fi>
11357
11358         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
11359         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
11360         for which it is no use to call GetLastError onWin9x.
11361         (gdk_other_api_failed) New function, for general error
11362         reporting without calling GetLastError.
11363         (gdk_win32_api_failed) OTOH, this function always calls
11364         GetLastError. (gdk_win32_last_error_string) Remove this function,
11365         GLib has the equivalent now.
11366
11367         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
11368         call them with function name, file name and line number in the
11369         arguments.
11370
11371         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
11372         functions.
11373         
11374         * gtk/gtk.def: Add some missing entry points.
11375
11376         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
11377         gtk_paned_set_gutter_size, which don't exist any longer, as void.
11378         
11379         Fixes by Hans Breuer:
11380
11381         * gdk/makefile.msc: Update for debugging.
11382
11383         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
11384         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
11385         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
11386         in the dash_list.
11387
11388         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
11389         the x11 backend.
11390
11391         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
11392
11393         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
11394
11395 2000-03-04  Tor Lillqvist  <tml@iki.fi>
11396
11397         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
11398         just pixel value of background colour.
11399
11400         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
11401         containing code snippet previously duplicated in a couple of
11402         places.
11403         
11404         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
11405         gdk_colormap_color.
11406
11407         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
11408         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
11409         events for autorepeated Shift, Control and Alt keys. Use
11410         gdk_colormap_color.
11411
11412         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
11413         pointer is inside the window the cursor of which we are setting,
11414         call SetCursor immediately.
11415
11416         * gdk/win32/makefile.cygwin
11417         * gtk/makefile.cygwin: If we don't have the build number stamp
11418         file, use zero.
11419
11420         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
11421         gtk_paned_set_gutter_size as empty.
11422
11423         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
11424         
11425 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
11426
11427         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
11428           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
11429           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
11430           docs/gtk_tut.sgml docs/gtk.texi TODO:
11431
11432           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
11433
11434 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
11435
11436         * gtk/gtkcalendar.c: Implement num_marked_dates,
11437           and don't emit mutiple day_selected signals on
11438           month_prev.
11439
11440 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
11441
11442         * docs/make-todo (lineno): let title and logo be configurable so
11443         that GNOME can use this script too.
11444
11445         * TODO.xml: added logourl and a title
11446
11447 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
11448
11449         * TODO.xml: Added some UI items, and an explanatory
11450         comment at the top of the file.
11451
11452 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
11453
11454         * TODO.xml: some updates, added abunch of new entries.
11455         a note for those fiddeling with this file, when done
11456         with it, invoke:
11457         $ ./docs/make-todo TODO.xml >/dev/null
11458         and correct output errors before comitting changes.
11459
11460 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
11461
11462         * TODO.xml: Added XML-structured TODO file.
11463         * docs/make-todo: python script to turn TODO.xml into
11464           pretty XML output. 
11465
11466 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
11467
11468         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
11469         the function to let it draw the seven dots, instead of the old,
11470         much maligned, method.
11471         (draw_dot): New function to draw a dot.
11472
11473         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
11474         to draw the handle inside the border width as opposed to outside.
11475         Use paint function instead of gdk_draw_point.
11476
11477         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
11478         to draw the handle inside the border width as opposed to outside.
11479         Use paint function instead of gdk_draw_point.
11480
11481         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
11482         Change indenting to be more GTK like.
11483
11484 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
11485
11486         * docs/gtk_tut.sgml: New section on GtkCalendar
11487         * examples/calendar: Update example code
11488
11489 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
11490
11491         * docs/gtkfaq.sgml: FAQ Update
11492
11493 2000-02-19  Anders Carlsson  <andersca@gnu.org>
11494
11495         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
11496         to prevent the scroll event to be propagated upwards.
11497
11498 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
11499
11500         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
11501         OwnerGrabButtonMask from button entries for
11502         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
11503
11504         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
11505         to the event mask (which will result in button/press release
11506         being added to the event mask on Unix) so scrolling works
11507         for layouts in scroll windows.
11508
11509         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
11510
11511         Patch from Anders Carlsson  <andersca@gnu.org> to add
11512         a scroll event.
11513
11514         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
11515         scrolling to the "Test Scrolling" part of testgtk.
11516  
11517         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
11518  
11519         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
11520         it against GDK_SCROLL.
11521  
11522         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
11523         way of mouse wheel scrolling.
11524  
11525         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
11526  
11527         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
11528  
11529         * gtk/gtkmain.c: Removed previous mouse wheel hack.
11530  
11531         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
11532         gdk_event_mask_table.
11533  
11534         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
11535         GdkEventScroll handler.
11536  
11537         * gdk/gdkevents.h: Added GdkEventScroll structure.
11538  
11539 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
11540
11541         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
11542         and Anders Carlsson to change the Paned widgets so that they
11543         can be dragged from anywhere along the length. Also change
11544         the way that this is drawn to make this apparent.
11545
11546         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
11547         from George Lebl to check that option_menu->menu is present
11548         before getting history.
11549
11550 2000-02-14  Tor Lillqvist  <tml@iki.fi>
11551
11552         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
11553         before the assertion for non-NULL segment list.
11554
11555         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
11556         Seems that pattern brushes *must* be 8x8 pixels! At least on my
11557         machine, but it might be display driver dependent. Sigh, so make
11558         sure the stipple is that size. Does Windows suck or what?
11559
11560         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
11561         places.
11562
11563 2000-02-13  Havoc Pennington  <hp@pobox.com>
11564
11565         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
11566         refcount to 1
11567         (gdk_cursor_new): init refcount to 1
11568
11569         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
11570
11571 2000-02-13  Tor Lillqvist  <tml@iki.fi>
11572
11573         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
11574         so that we don't have to do unnecessary settings to the HDC.
11575
11576         * gdk/win32/gdkdrawable-win32.c
11577         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
11578         gdk_gc_predraw.
11579
11580         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
11581         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
11582         GDI paths, call WidenPath to get the outline of the stroken path,
11583         and then fill the outline (with the brush that was built from the
11584         stipple).
11585
11586         * gdk/win32/gdkgc-win32.c: Factor out common code from
11587         _gdk_win32_gc_new and gdk_win32_gc_set_values into
11588         gdk_win32_gc_values_to_win32values. Use correct colour for
11589         SetBkColor() (Until now the code actually used a random colour in
11590         the call to SetBkColor()... but that didn't show up as not many
11591         GDI APIs use the background colour. Pattern (opaque stippled)
11592         brushes do.)
11593
11594         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
11595         gdk_win32_api_failed): New functions for error logging.
11596
11597         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
11598         WIN32_API_FAILED to call them, passing function or file name and
11599         line number.
11600
11601         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
11602
11603         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
11604         GdkColor for foreground and background in GdkGCWin32Data.
11605
11606         * gdk/makefile.cygwin: Link in the resource object separately.
11607
11608         * gdk/win32/rc/gdk.rc
11609         * gtk/gtk.rc (New file)
11610         * gdk/win32/makefile.cygwin
11611         * gtk/makefile.cygwin: Update build number in DLLs automatically,
11612         as in GLib.
11613
11614 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
11615
11616         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
11617         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
11618         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
11619         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
11620         parameters given and cursor->ref_count. coding style fixups.
11621
11622         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
11623         not GtkWidget.
11624         
11625         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
11626         fix up widget macros and add _GET_CLASS() variant.
11627         
11628         * gtk/*.c: some GtkType fixups.
11629
11630 2000-02-09  Tor Lillqvist  <tml@iki.fi>
11631
11632         * gdk/win32/gdkproperty-win32.c
11633         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
11634         were reversed.
11635
11636 2000-02-04  Tor Lillqvist  <tml@iki.fi>
11637
11638         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
11639         g_filename_to_utf8 to convert the font names Windows gives us from
11640         whatever is the default codepage to UTF-8.
11641         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
11642         in the other direction.
11643
11644         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
11645         error in debugging output.
11646
11647 2000-02-02  Tor Lillqvist  <tml@iki.fi>
11648
11649         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
11650         and height parameters to gdk_window_clear_area(). Not minus one.
11651
11652 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
11653
11654         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
11655         checks if the widget passed to gtk_drag_get_data() was not the
11656         dest widget.
11657
11658 2000-02-01  Tor Lillqvist  <tml@iki.fi>
11659
11660         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
11661         g_filename_from_utf8 functions (which were added a moment ago to
11662         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
11663         size buffers.
11664
11665         gtk_file_selection_get_filename returns the filename in the C
11666         runtime encoding. It calls g_filename_from_utf8, but copies the
11667         returned string to a static buffer, which is returned. I think
11668         this is better than returning the result from g_filename_from_utf8
11669         directly, which would mean all apps that use it would have to free
11670         the return value. Or should this function care about this issue at
11671         all? Maybe a new function with clearly defined semantics.
11672
11673         * gtk/gtkfilesel.h: Add comment about
11674         gtk_file_selection_get_filename returning the filename in the C
11675         runtime's encoding.
11676
11677         * README.win32
11678         * gdk/gdk.def
11679         * gdk/makefile.{cygwin,msc}
11680         * gtk/gtk.def: Updates.
11681
11682         * gdk/gdkcursor-win32.c: Initialise refcount.
11683
11684 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
11685
11686         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
11687
11688 2000-01-30  Havoc Pennington  <hp@pobox.com>
11689
11690         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
11691         destroy
11692
11693         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
11694
11695         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
11696         implemented in platform-specific code
11697
11698         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
11699
11700         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
11701         underscore in front
11702
11703         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
11704         put an underscore in front
11705
11706         * gdk/gdkcursor.c: new file, implements
11707         gdk_cursor_ref/gdk_cursor_unref
11708
11709         * gdk/gdkcursor.h: Refcount GdkCursor
11710
11711         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
11712
11713 2000-01-29  Tor Lillqvist  <tml@iki.fi>
11714
11715         * gdk/gdkwindow.h
11716         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
11717
11718 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
11719
11720         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
11721         structures to properly inherit from GtkWidget not GtkBin.
11722
11723 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
11724
11725         * gtk+.spec.in: Added lib/gtk+/include/* to %files
11726         (bug #5178 - Peter Wainright)
11727         
11728         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
11729         so that it will be installed.
11730         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
11731
11732 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
11733
11734         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
11735         for the GtkStyleClass vtable const.
11736
11737         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
11738         take a const string argument like GtkTranslateFunc. This will
11739         require changes in use code.
11740
11741 2000-01-19  Tor Lillqvist  <tml@iki.fi>
11742
11743         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
11744         semantics (to mimic the X11 backend, which just calls XClearArea)
11745         is to check for zero width (and height), and in that case use the
11746         window's width minus x (height minus y). This fixes for instance
11747         some redraw problems with gtkclist, which were easily noticeable
11748         in the gtk file selection widget.
11749
11750         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
11751         windows.
11752
11753 2000-01-13  Tor Lillqvist  <tml@iki.fi>
11754
11755         * configure.in
11756         * gdk/Makefile.am
11757         * gdk/x11/Makefile.am
11758         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
11759         (bug #5177).
11760         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
11761         out later.
11762
11763 2000-01-09  Tor Lillqvist  <tml@iki.fi>
11764
11765         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
11766         WM_MOVE for iconified or invisible windows. This fixes various
11767         problems when minimising windows. Thanks to Bernd Herd.
11768
11769 2000-01-05  Tor Lillqvist  <tml@iki.fi>
11770
11771         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
11772         backend's draw_lines method, not draw_points.
11773
11774 2000-01-02  Tor Lillqvist  <tml@iki.fi>
11775
11776         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
11777         before Owen's reorganisation: Don't have queued_events and
11778         queued_tail statics in this file, but use gdk_queued_events and
11779         gdk_queued_tail. This makes exposure event compression work again.
11780
11781         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
11782         seem to be needed?
11783
11784 1999-12-30  Tor Lillqvist  <tml@iki.fi>
11785
11786         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
11787         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
11788         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
11789         doesn't do anything.
11790
11791         * gdk/gdk.def: Add gdk_xid_table_insert.
11792
11793         * gdk/win32/gdkprivate-win32.h
11794         * gdk/win32/gdkevents-win32.c
11795         * gdk/win32/gdkinput-win32.c
11796         
11797         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
11798         extension_events field in the GdkWindowWin32Data struct. Use only
11799         the extension_events field in GdkWindowPrivate. Previously one was
11800         set, and the other one tested, which broke tablet
11801         functionality. Thanks to Keishi Suenaga for pointing this out.
11802
11803 1999-12-18  Tor Lillqvist  <tml@iki.fi>
11804
11805         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
11806         When handling a single character (text length == 1), don't handle
11807         it as if it was UTF-8.
11808
11809 1999-12-11  Tor Lillqvist  <tml@iki.fi>
11810
11811         * Makefile.am: Distribute README.win32.
11812         
11813         * gdk/Makefile.am
11814         * gdk/win32/Makefile.am: Distribute Win32 files.
11815
11816         * gdk/makefile.msc: New file.
11817
11818         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
11819         after label).
11820
11821         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
11822         gdk_error_code as GDKVAR, as they are referred outside GDK.
11823
11824         * gdk/win32/makefile.msc: Update.
11825
11826         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
11827         tweaks. Check only if at least one of those Unicode subrange bits
11828         we care for is set. If no code page bits are set, guess (wildly)
11829         based on the charset.
11830
11831         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
11832
11833         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
11834         non-NULL.
11835
11836         * gtk/gtkdnd.c
11837         * gtk/gtklayout.c
11838         * gtk/gtkplug.c
11839         * gtk/gtkselection.c
11840         * gtk/gtksocket.c
11841         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
11842         appropriate. There must be a cleaner way to handle this?
11843
11844         * gtk/gtkrc.c: Must include windows.h on Win32.
11845
11846         * gtk/testgtk.c: No need to include gdkx.h.
11847
11848         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
11849
11850 1999-12-07  Tor Lillqvist  <tml@iki.fi>
11851
11852         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
11853         the rbearing is set to the same as the width, but this should be
11854         fixed.
11855
11856 1999-12-06  Tor Lillqvist  <tml@iki.fi>
11857
11858         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
11859         function. If Windows doesn't tell us what Unicode subranges a font
11860         covers, guesstimate based on the codepages it covers. This will
11861         hopefully help those Windows versions or fonts that don't give us
11862         any useful Unicode subrange information with GetTextCharsetInfo.
11863         Call this function in gdk_font_load_internal.
11864
11865         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
11866         minor changes.
11867
11868 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
11869
11870         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
11871         New function, long needed.
11872
11873 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
11874
11875         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
11876         only_if_exists argument of gdk_atom_intern to
11877         bool.
11878
11879 1999-11-25  Tor Lillqvist  <tml@iki.fi>
11880
11881         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
11882         Fix two copy&paste errors.
11883
11884         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
11885         win32 has changed.
11886
11887         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
11888         GdkWin32SingleFont struct.
11889
11890         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
11891         subranges of loaded fonts. Clear font signature first, in case
11892         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
11893         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
11894
11895         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
11896         Unoffset clip region.
11897
11898 1999-11-23  Tor Lillqvist  <tml@iki.fi>
11899
11900         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
11901         event->any.window before calling filter functions.
11902
11903 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
11904
11905         * gtk/gtkgamma.h: Adapt cast macros to standard.
11906
11907 [ Merges from 1.2 ]
11908
11909 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
11910
11911         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
11912         If translation does not include a '/', use entire
11913         translation instead of crashing.
11914
11915 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
11916
11917         * docs/gtk_tut.sgml:
11918         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
11919
11920 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
11921
11922         * gtk/gtkselection.c (gtk_target_list_remove): Use
11923         g_list_remove_link, not g_list_remove.
11924
11925         [ From Geert Bevin <gbevin@thunderstorms.org> ]
11926         
11927 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
11928
11929         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
11930         statement upon unselection (how the heck did that slip in?).
11931
11932 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
11933
11934         * gtk/gtktext.c (gtk_text_freeze): 
11935         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
11936         in frozen state (and aparently crashes). patch provided by Anders
11937         Melchiorsen <and@kampsax.dtu.dk>.
11938
11939 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
11940
11941         * fix insensitive default/focus widget activation,
11942         reported by Matt Goodall <mgg@isotek.co.uk>.
11943
11944         * gtk/gtkwindow.c (gtk_window_key_press_event): 
11945         (gtk_window_activate_default):
11946         (gtk_window_activate_focus):
11947         return handled=FALSE for actiavtion of insensitive default
11948         widgets. return handled=TRUE for activation of insensitive
11949         focus widgets. don't activate in either case.
11950
11951 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
11952
11953         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
11954         and $glib_cflags to match library order and in the
11955         theory that an old version of GLib is more likely to
11956         be in the include directory for X then vice-versa.
11957         (Bug #2776)
11958
11959 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
11960
11961         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
11962         to determine the locale for fontsets, not LC_MESSAGES;
11963         the user may want English messages with a handling
11964         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
11965         will still be broken) (Bug #2891)
11966
11967 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
11968
11969         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
11970
11971 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
11972
11973         * gtk/gtkrc.ko: Changed the Korean default fontset.
11974
11975 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
11976
11977         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
11978         where when scrolling to the left or top double exposes
11979         were done, causing major slowdowns.
11980
11981 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
11982
11983         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
11984         names to lowercase and alphanumeric, before looking
11985         them up.
11986
11987         * gtk/Makefile.am: Install codeset variant gtkrc files
11988         with normalized names.
11989
11990 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
11991
11992         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
11993         popup menus when the menu is already visible, but its parent
11994         is still hidden, (happens after tornoff window got hidden).
11995
11996 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
11997
11998         * gtk/Makefile.am (install-data-local): Fix
11999         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
12000         deleted, causing error messages on install.
12001
12002 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
12003
12004         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
12005         the handle as well, since we now sometimes ignore
12006         exposes on the handle while resizing.
12007
12008 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
12009
12010         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
12011         extra g_free introduced in one of the last one or two 
12012         commits.
12013
12014 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
12015
12016         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
12017         consistent, put each style that a gtkrc.* file creates
12018         in a unique namespace, remove old files before installing.
12019
12020 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
12021
12022         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
12023         gtk_rc_init is called multiple times. (Yes, people who
12024         do that have bugs in their code.)
12025
12026 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
12027
12028         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
12029         Remove it since it's generated by the Makefile anyway
12030
12031 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
12032
12033         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
12034         device->info.axes for core pointer.
12035
12036 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
12037
12038         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
12039         idle_id, to deal with obsolete, broken C libraries.
12040
12041 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
12042
12043         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
12044         allocation->x/y twice!
12045
12046         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
12047         consistent with gtk_vscale_pos_trough().
12048
12049 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
12050
12051         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
12052         be queueing a resize on a toplevel container between
12053         the time we show it and when we map it. So, we need
12054         to test GTK_WIDGET_VISIBLE() for toplevels, and only
12055         use GTK_WIDGET_DRAWABLE() for child windows.
12056
12057 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
12058
12059         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
12060         (fixes bug #2144)
12061
12062 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
12063
12064         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
12065         container DRAWABLE (instead of VISIBLE), so we don't queue
12066         resizes on non-toplevel containers.
12067
12068 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
12069
12070         * gtk/gtkselection.[ch]: Make the data argument
12071         const guchar *.
12072
12073 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
12074
12075         * gtk/gtkwindow.c: Try to behave sensibly if 
12076         the focus widget is the window itself. (Should
12077         we allow this at all?)
12078
12079 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
12080
12081         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
12082         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
12083         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
12084         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
12085         in prototypes and implementations consistent (Tomas Ogren).
12086
12087         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
12088         before the widget is unparented (reported by damon).
12089
12090         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
12091         since we provide unsigned data anyways.
12092
12093 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
12094
12095         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
12096         the call to gtk_tooltips_layout_text() until later.
12097
12098         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
12099         Call gtk_widget_ensure_style() before using the style.
12100
12101 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
12102
12103         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
12104         for old widgets that don't propagate draws to all
12105         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
12106
12107 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
12108
12109         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
12110         for a redraw but just the widget that requested the resize.
12111
12112 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
12113
12114         * gtk/gtkcontainer.c: added new widget level method
12115         gtk_container_set_reallocate_redraws() and a GtkContainer flag
12116         reallocate_redraws : 1 to reflect the setting, exported this through
12117         the argument system as a boolean ::reallocate_redraws.
12118
12119         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
12120         on the widget because the allocation changes, do so as well for
12121         widget->parent if the parent has reallocate_redraws set to TRUE.
12122         with that containers requesting reallocation redraws get automatically
12123         redrawn if their children changed allocation (this unfortunately
12124         affects also other children that didn't change allocation, but we
12125         cannot work around that before 1.3).
12126
12127 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
12128
12129         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
12130         _and_ height are >0 (not _or_).
12131
12132         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
12133         instead of gtk_container_queue_resize(), which is a core gtk internal
12134         function (must have been on crack when i queued that).
12135
12136         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
12137         we can check more reliably if we want to discard expose events.
12138         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
12139         flag.
12140         
12141         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
12142         we simply trust these events. for deciding whether to discard exposes,
12143         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
12144         
12145 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
12146
12147         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
12148         queues of areas that are completely off screen.
12149
12150         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
12151         logic for handleboxes.
12152
12153         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
12154         check on width/height.
12155
12156 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
12157
12158         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
12159         we are fine with using $@ the way we do (if we actually encounter
12160         brokeness with $@ in VPATH builds because of additional path prefixes,
12161         we need to use $(@F) actually).
12162
12163 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
12164
12165         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
12166         short lived bugs, that would allow language bindings to do surgeries
12167         to our guts.
12168
12169 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
12170
12171         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
12172         where comparison was being done against an uninitialized
12173         value causing intermittant results depending on
12174         compiler flags. Also make it clearer that we aren't
12175         ever initializing the child as 0x0 (though this will
12176         be caught in gtk_widget_size_allocate())
12177
12178 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
12179
12180         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
12181         gtk_window_unset_transient_for() call after we do checks
12182         involving the old transient parent.
12183         [ From Lance Capser <lmc@cyberhighway.net> ]
12184
12185 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
12186
12187         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
12188         an empty file.
12189
12190 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
12191
12192         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
12193         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
12194
12195 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
12196
12197         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
12198         `$@' is valid only in the build dir, not after we've done 
12199         `cd $srcdir'.  Also use `test -f' instead of less portable
12200         `test -e'.
12201
12202 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
12203
12204         * gtk/gtktext.c (correct_cache_insert): Rewrite
12205          for simplicity, and hopefully correctness.
12206          (Fixes bug #1322, which was a segfault when
12207           on some insertions with the properties around
12208           the insertion set up just wrong.)
12209
12210         * gtk/gtktext.c (gtk_text_adjustment): When we receive
12211          a "changed" signal, clamp the new value to the adjustment
12212          bounds to avoid segfaulting if someone tries to change
12213          the adjustment to a bogus value. (Bug #1795)
12214
12215 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
12216
12217         * gtk/gtkmain.c: Ignore unexpected destroy notifies
12218         for children, for toplevel windows handle them
12219         like delete_event.
12220
12221         * gtk/gtkplug.c: Add an unrealize handler so that
12222         we unref plug->socket_window when we are done
12223         with it.
12224
12225 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
12226
12227         * gtk/gtktext.c (clear_area): Fix stupid signedness
12228          problem that was causing background to sometimes
12229          be misaligned.
12230
12231 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
12232
12233         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
12234         
12235         * gtk/gtkmenu.c (gtk_menu_position): Make
12236          sure we never position menus with negative x, y,
12237          since gtk_widget_set_uposition() can't handle that.
12238
12239         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
12240          Modify the positioning code a bit so that we always
12241          put the top-left corner onscreen. (This is for
12242          UI reasons, gtk_menu_position() now takes care of
12243          gtk_widet_set_uposition() brokeness.)
12244
12245 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
12246
12247         * gtk/Makefile.am: fixed up things for -jx, x > 1.
12248
12249 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
12250
12251         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
12252           RC style that is passed in. The lack of the ref
12253           before was a bug. If people worked around this
12254           bug, this will introduce a slight memory leak
12255           in their code. The code should typically look like:
12256
12257             rc_style = gtk_rc_style_new ();
12258             [...]
12259             gtk_widget_modify_style (widget, rc_style);
12260             gtk_rc_style_unref (rc_style);
12261
12262         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
12263           the style if it was already set.
12264
12265         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
12266           style if it was set before.
12267
12268 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12269
12270         * gtk/testgtk.c (main): Add a check to see if we
12271           are being run from the correct directory and
12272           to quit nicely if we are not.
12273
12274         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
12275           static.
12276
12277 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
12278
12279         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
12280
12281         * gtk/gtkwindow.c:
12282         queue resizes unconditionally (gtk_widget_queue_resize will figure
12283         what to do if the window is not realized).
12284         (gtk_window_move_resize): only recenter the window
12285         for GTK_WIN_POS_CENTER_ALWAYS.
12286         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
12287         the same way as GTK_WIN_POS_CENTER.
12288
12289 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
12290
12291         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
12292         with (!(info->last_flags & GDK_HINT_POS)) instead of
12293         (!info->last_flags & GDK_HINT_POS).
12294
12295         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
12296         new_height unconditionally, because we use these values even if
12297         !default_size_changed && !hints_changed.
12298         comented the (default_size_changed || hints_changed) case with
12299         respect to resize rejects from the window manager.
12300
12301         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
12302         in the zvt condition hack, since this includes the window hints, set
12303         the hints after the handling_resize case.
12304
12305         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
12306         window is initially shown with to the geometry.
12307
12308 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
12309
12310         * gtk/gtkwindow.c (gtk_window_move_resize):
12311         s/size_changed/default_size_changed/g so i know what's
12312         really going on (frying brain on smaller flame now).
12313
12314 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
12315
12316         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
12317         we have size_changed upon handling_resize. this is a gross
12318         workaround for the broken zvt widget and should be removed in
12319         1.3 again (search for FIXME).
12320         Owen provided an accurate comment for this:
12321
12322         /* We could be here for two reasons
12323          *  1) We coincidentally got a resize while handling
12324          *     another resize.
12325          *  2) Our computation of size_changed was completely
12326          *     screwed up, probably because one of our children
12327          *     is broken. It's probably a zvt widget.
12328          *
12329          * For 1), we could just go ahead and ask for the
12330          * new size right now, but doing that for 2)
12331          * might well be fighting the user (and can even
12332          * trigger a loop). Since we really don't want to
12333          * do that, we requeue a resize in hopes that
12334          * by the time it gets handled, the child has seen
12335          * the light and is willing to go along with the
12336          * new size. (this happens for the zvt widget, since
12337          * the size_allocate() above will have stored the
12338          * requisition corresponding to the new size in the
12339          * zvt widget)
12340          *
12341          * This doesn't buy us anything for 1), but it shouldn't
12342          * hurt us too badly, since it is what would have
12343          * happened if we had gotten the configure event before
12344          * the new size had been set.
12345          */
12346
12347 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
12348
12349         * gtk/gtkrc.c: deal properly with the fact that RC
12350           style lists may include rc styles more than once.
12351
12352         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
12353           unused static function.
12354
12355         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
12356           stack of directories of RC files currently being
12357           parsed and implicitely add them to pixmap path.
12358           
12359           This fixes a bug where the directory would get
12360           appended then overwritten by pixmap_path declarations.
12361
12362           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
12363
12364         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
12365           theme's exit function. (Patch from Peter Wainwright,
12366           bug #1454)
12367
12368         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
12369           Add a destroy() handler to take care of removing
12370           group for menu item. (Fixes bug #1197)
12371
12372         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
12373           in warning message.
12374
12375 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
12376
12377         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
12378         roundtrip to figure window's width and height, since we know that
12379         anyways from widget->allocation.
12380
12381 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
12382
12383         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
12384           the hints after we request the new size.
12385
12386 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
12387
12388         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
12389           GTK_WIDGET_REALIZED() assertion - we can compute the
12390           hints before we are realized.
12391
12392         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
12393           hint changing so that we have a value of hints_changed
12394           when we decide whether to constrain the window size.
12395
12396         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
12397
12398         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
12399         change back to G_MAXINT.
12400
12401 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
12402
12403         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
12404         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
12405         contain uncluttered values.
12406         (gtk_window_compute_hints): simply assert that window is realized
12407         and that geometry_info is valid, since we rely on this anyways.
12408         (gtk_window_constrain_size): major cleanups to the code.
12409         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
12410         for the base size, instead of the minimums. use 32767 as max width
12411         and height (like in gtkwindow.c) instead of G_MAXINT.
12412
12413 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
12414
12415         * cleaned up the GtkContainer.need_resize flag handling mess, we
12416         only need to force resize requests when we were prematurely
12417         realized, or our widget tree was modified when we were temporarily
12418         hidden. handling these cases directly upon showing the window (i.e.
12419         while the GdkWindow is still unmapped) avoids the need to wait for
12420         a configure event response and therefore makes the GUI more snappier
12421         and avoids blank windows during the roundtrip.
12422
12423         * gtk/gtkwidget.c:
12424         (gtk_widget_hide): 
12425         (gtk_widget_show): don't queue resizes on toplevels, they know how
12426         to deal with matters.
12427
12428         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
12429         flag directly for not visible resize containers and spare us unecessary
12430         signal emissions.
12431
12432         * gtk/gtkwindow.c:
12433         (gtk_window_realize): if we need to enforce premature size allocation,
12434         queue a container resize so we are correctly resized later on.
12435         (gtk_window_init):
12436         (gtk_window_size_request):
12437         don't freak around with the ->need_resize flag,
12438         gtk_container_queue_resize() will care about that.
12439         (gtk_window_show):
12440         handle initial resizing issues here, we can handle matters better in
12441         this place, especially since we know that our GdkWindow is still
12442         unmapped.
12443         (gtk_window_move_resize):
12444         don't care about ->need_resize at all.
12445         handle size changes properly that occoured while we waited for a
12446         configure event.
12447
12448 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
12449
12450         * gtk/gtkwidget.c (gtk_widget_set_uposition):
12451         * gtk/gtkwindow.[hc] (gtk_window_reposition):
12452         Move the hint setting code from gtk_widget_set_uposition
12453         to here; set the hints so that we respect any previously
12454         set geometry hints.
12455
12456         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
12457         change the window hints here or move the window here,
12458         let that happen in gtk_window_move_resize().
12459
12460 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
12461
12462         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
12463         to already queued resizes (and therefore redraws) on a widget, check
12464         its anchestry as well.
12465
12466         * gtk/gtkcontainer.c:
12467         (gtk_container_queue_resize): clear resize widgets for resize
12468         containers before aborting prematurely. this is especially important
12469         for toplevels which may need imemdiate processing or their resize
12470         handler to be queued.
12471         (gtk_container_dequeue_resize_handler): added new internal function for
12472         gtkwindow.c.
12473
12474         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
12475         configure event, take possible changes in window position into account
12476         as well.
12477         if we request a new window size, queue up a resize handler that will
12478         last until the configure event response arrives.
12479         combined the ->need_resize case (initial show) with the general size
12480         (hints) changed case and added even more comments.
12481         if !auto_shrink, only revert to the old allocation if the new size
12482         is smaller than the current allocation.
12483
12484 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
12485
12486         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
12487                            gtk_window_set_geometry_hints
12488                            gtk_window_set_default_size):
12489         When hints are set, queue a resize so that the hints will
12490         be eventually reset on the toplevel.
12491
12492         * gtk/gtkwindow.c (gtk_window_show): Use
12493         gtk_window_compute_default_size(). Clear the need_resize flag
12494         on the initail map so that we don't unnecessarily trigger the
12495         resize code.
12496
12497         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
12498         into separate functions. Compare the hints we are setting
12499         with what we set last time so that we can accurately
12500         tell when we need to reset the hints.
12501
12502         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
12503         function to figure out the size from requisition
12504         and default_size.
12505
12506         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
12507         from fvwm to constrain a size to the geometry hints.
12508
12509         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
12510         to compare two sets of geometry hints.
12511
12512         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
12513         from gtk_window_set_hints(), just compute the hints,
12514         don't set them.
12515
12516         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
12517         code from gtk_window_move_resize() to separate function,
12518         rationalize a bit.
12519
12520 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
12521
12522         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
12523         structure into a new private structure.
12524
12525         * gtkrc.c: Split GtkRcStyle into public/private.
12526         In the private part, add a list of pointers to the
12527         RcStyle lists this RcStyle participates in.
12528
12529         * gtkrc.c: When a RcStyle is free, remove all
12530         lists referencing it from the 
12531         realized_style_ht hash, and free those lists.
12532         
12533         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
12534         gtk_rc_init(), since that adds the default styles
12535         to the list of parsed RC files again.
12536
12537         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
12538         
12539 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
12540
12541         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
12542         checks that ensure that a widget's allocation is at least 1 in width
12543         and height. (GNOME note: this doesn't affect old panel code anymore,
12544         because GtkSocket will request width and height of at least 1 since
12545         Fri Jul 23).
12546
12547         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
12548         allocated yet (happens if the user realizes the window prematurely),
12549         size request and allocate it.
12550         (gtk_window_size_allocate): guard against guint underflows.
12551
12552 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
12553
12554         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
12555         in gtk_built_sources, so gtk.defs gets built prior to all other
12556         sources.
12557
12558 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12559
12560         * gtk/Makefile.am:
12561         invoke indent on gtkmarshal.*. 
12562         rewrote source generation rules, use COPYING as oldest source tag for
12563         a piggyback rule to generate all sources from (don't touch it ;).
12564         major cleanups, strip spaces on build rules for GNU Make.
12565
12566         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
12567         source and target files from commandline arguments. don't invoke indent.
12568
12569 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
12570
12571         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
12572         notebook after switch to avoid drawing problems.
12573         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
12574         
12575         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
12576         show them instead. 
12577         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
12578
12579 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
12580
12581         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
12582         notebook after switch to avoid drawing problems.
12583         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
12584         
12585         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
12586         show them instead. 
12587         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
12588
12589 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
12590
12591         * gtk/gtkwindow.c:
12592         we use window->need_resize from configure_event now, to indicate that
12593         the gtkwindow should keep its allocation (e.g. because the user resized
12594         the window through window manager handles). resize_count is now reliably
12595         used to figure whether we got the allocation we requested from the
12596         window manager.
12597         configure events get queued as resizes now, the real stuff (size
12598         computation and allocation) now only goes on in gtk_window_move_resize().
12599         GtkWindow's requisition now contains its *real* requisition (like all
12600         other widgets), *not* taking usize into account.
12601         geometry_info->last_{width|height} is now updated from set_hints() only
12602         so it always contains the last hints we set for the window manager.
12603         made some event handlers return TRUE instead of FALSE.
12604         the overall code should be much more straight forward now, and the
12605         significant code portions are accompanied by comments now.
12606         (gtk_window_set_hints):
12607         removed requisition argument and made it
12608         fetch the requisition through gtk_widget_get_child_requisition.
12609         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
12610         does that now.
12611         (gtk_window_show):
12612         ensure that the widget is realized before calling 
12613         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
12614         ensure that we got properly size requested and allocated before
12615         realization.
12616         (gtk_window_configure_event):
12617         ignore plain window moves, or reallocate the widget tree through the
12618         resize queue otherwise.
12619         (gtk_window_move_resize):
12620         mostly rewrote this function to figure window manager hints more
12621         reliably, coalesce window moves and resizes to reduce configure events
12622         and do actuall size allocations.
12623
12624 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
12625
12626         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
12627         that have a resize pending, because a redraw is already queued for them.
12628
12629         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
12630         hack to clear resize_widgets.
12631
12632         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
12633         for resize containers prior to size allocation. (this is also a bit
12634         ugly, but avoids side effects for stopped emissions and is thus more
12635         reliable).
12636         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
12637
12638         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
12639         function from gtk_tooltips_expose, as we connect to ::expose_event
12640         *and* ::draw now.
12641
12642 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
12643
12644         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
12645         checks.
12646         (gtk_target_list_unref): Likewise.
12647
12648         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
12649
12650 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
12651
12652         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
12653         guard against division by zero. (Fixes bug #1339)
12654
12655 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
12656
12657         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
12658         Prevent the trivial leak of information of allowing
12659         word motion when the entry is not visible.
12660
12661 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
12662
12663         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
12664         modality to error dialog as well as confirmation dialogs.
12665         (Bug #1803, reported by Rosanna Wing Sze Yuen)
12666
12667 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
12668
12669         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
12670         tree->view_lines.
12671         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
12672
12673         * gtk/Makefile.am (install-data-local): Solaris apparently
12674         has various troubles with ln -f; use rm first instead.
12675         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
12676
12677 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
12678
12679         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
12680         use `cp' followed by `rm' (the `rm' was already there).
12681
12682 July 30, 1999 Elliot Lee <sopwith@redhat.com>
12683         
12684         * configure.in: Fix autoconf warnings about cross compilation by
12685         trying to provide sane defaults for AC_TRY_RUN.
12686         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
12687         put them into $(srcdir) when generated. Also add a dependency of
12688         gtksignal.h on gtkmarshal.h for -j builds. 
12689         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
12690
12691 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
12692
12693         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
12694         GDK_THREADS_{LEAVE,ENTER} pair.
12695         (From Paul Fisher <pnfisher@redhat.com>)
12696
12697 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
12698
12699         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
12700         width and height are always >0 (owen).
12701
12702 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
12703
12704         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
12705         change that assured that a widget's allocated with and height are
12706         always >1, since this breaks *buggy* panel code. unfortunately this
12707         back-breaks the gimp's color selector.
12708
12709         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
12710         allocation is always >0 in width and height, before sending the
12711         configure event; this is a *gross* hack to get the gimp back to work.
12712         
12713         * marked both cases with TODO-1.3
12714
12715 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
12716
12717         * gtk/gtktext.c: Don't display wrap indicators when
12718         text is not editable and word wrap is on.
12719
12720 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
12721
12722         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
12723         option menus here as they are not derived from menu shell, assure that
12724         the option menu has a menu we can add items to.
12725
12726 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
12727
12728         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
12729         width/height to (gint) before calculations and check against < 0 to
12730         avoid guint wraparounds.
12731
12732 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
12733
12734         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
12735         width and height is never zero. sanity check both dimensions against
12736         32767 and issue a warning if the allocation is greater than that.
12737
12738 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
12739
12740         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
12741         to g_main_pending() as well.
12742
12743 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
12744
12745         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
12746         call to g_main_iteration() - since that will regrab
12747         GTK+ lock to process events.
12748
12749 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
12750
12751         * gtk/gtkwindow.c
12752         - Regularize with the rest of GTK+ by making widget->requisition
12753           not reflect the set_usize()
12754         - Always recompute geometry hints, then check if they
12755           changed before sending them to the X server. The
12756           previous checks for changes would fail in a number
12757           of circumstances. 
12758
12759 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
12760
12761         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
12762
12763 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
12764
12765         * gtk/gtkdnd.c:
12766         - Code cleanups
12767         - Instantaneously update on modifier key presses
12768         - Allow cancellation of the drag with Escape.
12769
12770 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
12771
12772         * gtk/testgtk.c (create_handle_box): Set the policy
12773         to auto_shrink - otherwise the appearance is rather
12774         strange when flipping between horizontal and vertical.
12775
12776 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
12777
12778         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
12779         (gtk_window_set_default_size): don't change a value if it's < 0.
12780         queue a resize.
12781
12782 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
12783
12784         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
12785
12786 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
12787
12788         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
12789         add an extra "/" when concating "/" + filename.
12790         (From Matt Grossman <mattg@oz.net>)
12791
12792 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
12793
12794         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
12795         for fg_gc if we set it for drawing pixmap.
12796
12797 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
12798
12799         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
12800         
12801         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
12802         already set, call old engine's destroy function and
12803         unref the old engine.
12804
12805 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
12806
12807         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
12808
12809 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
12810
12811         * gtk/gtkaccelgroup.h: mark certain functions as internal.
12812
12813 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
12814
12815         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
12816         expand behaviour changed.
12817
12818         * gtk/gtklabel.c (gtk_label_set_pattern):
12819         (gtk_label_set_justify):
12820         (gtk_label_set_line_wrap):
12821         don't bother invoking queue_clear, the reallocation does
12822         that for us, always free_words so the upcoming resize will
12823         relayout the label's contents.
12824
12825 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
12826
12827         * applied argument implementation patches from Elena Devdariani
12828         <elena@cogent.ca>.
12829
12830         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
12831         ::space_style, ::relief
12832         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
12833         * gtk/gtkpreview.c: ::expand
12834         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
12835         * gtk/gtknotebook.c: ::homogeneous
12836         * gtk/gtklabel.c: ::wrap
12837         * gtk/gtklist.c: ::selection_mode
12838         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
12839         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
12840         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
12841         * gtk/gtkclist.c: ::sort_type
12842         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
12843         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
12844
12845 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
12846
12847         * gtk/gtkstyle.c: Removed ill-thought-out part of last
12848         comment.
12849
12850 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
12851
12852         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
12853         counting right when we have to attach a new style
12854         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
12855
12856         * gtk/gtkstyle.c: Documented the refcounting
12857         peculularities of gtk_style_attach.
12858
12859 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
12860
12861         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
12862         window types.
12863
12864         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
12865         of GTK_TOPLEVEL for creating the window.
12866
12867 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
12868
12869         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
12870         the last argument (reported by Per Winkvist).
12871         
12872 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
12873
12874         Fixes for invisible XOR lines (Frank Loemker
12875         <floemker@TechFak.Uni-Bielefeld.DE>)
12876         
12877         * gtk/gtkclist.c (gtk_clist_realize): Always use
12878         a non-zero pixel for GDK_XOR.
12879
12880         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
12881         Use GDK_INVERT instead of GDK_XOR.
12882
12883 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
12884
12885         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
12886         signals if h/voffsets differ from adjustment values.
12887         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
12888
12889 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
12890
12891         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
12892         ::selection-done emissions up to the topmost menu shell.
12893
12894 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
12895
12896         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
12897         the user data on the window before destroying it.
12898
12899         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
12900         unrealize handler to take care of destroying 
12901         notebook->panel properly. 
12902         (Bug #1198 - Morten Welinder <terra@diku.dk>)
12903
12904         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
12905         of g_new and g_realloc to stop memory leak. (Actually,
12906         we could just use g_realloc(), but I'm not 100% sure
12907         that is portable).
12908         (Bug #1196 - Morten Welinder <terra@diku.dk>)
12909
12910 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
12911
12912         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
12913
12914         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
12915         for fontsets.
12916
12917         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
12918         with bin/button confusion.
12919
12920 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
12921
12922         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
12923         and show how preselection of radio items is done.
12924
12925 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
12926
12927         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
12928         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
12929         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
12930         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
12931         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
12932         * gtk/gtktable.c (gtk_table_attach): 
12933         * gtk/gtklist.c (gtk_list_insert_items): 
12934         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
12935         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
12936         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
12937         * gtk/gtkbin.c (gtk_bin_add): 
12938         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
12939         * gtk/gtkfixed.c (gtk_fixed_put): 
12940         * gtk/gtklayout.c (gtk_layout_put):
12941         general fixups to container_add logic. always realize child if
12942         child->parent is realized, only map the child and queue a resize
12943         if child and child->parent are both visible.
12944
12945 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
12946
12947         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
12948         instead of gtk_container_foreach to walk and unrealize children, so
12949         composite children get also unrealized.
12950         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
12951         (gtk_widget_map): assert that the widget is visible (basic constrain).
12952         (gtk_widget_real_map): assert that the widget is realized (basic
12953         constrain).
12954
12955 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
12956
12957         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
12958
12959 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
12960
12961         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
12962         file for iso-8859-2 locales.
12963
12964         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
12965
12966 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
12967
12968         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
12969          (Pointed out by andy@rz.uni-karlsruhe.de and others).
12970          Remove some suspicious and useless lines. 
12971
12972 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
12973
12974         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
12975         width,height = 0, 0 to mean - here to edge of window,
12976         instead of -1, -1, since the former is all we support.
12977
12978 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
12979
12980         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
12981         when removing from quit_functions list.
12982
12983 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
12984
12985         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
12986
12987 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
12988
12989         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
12990          When redrawing characters on non-visible entry, use appropriate
12991          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
12992
12993 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
12994
12995         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
12996         from drag coordinates.
12997         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
12998         use drag_dest_cell.
12999
13000         * gtk/gtktree (drag_dest_cell)
13001         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
13002         (Bug #1129)
13003
13004 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
13005
13006         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
13007         translate_* fields.
13008         (gtk_item_factory_finalize): invoke translate_notify independant from
13009         translate_data.
13010         (gtk_item_factory_set_translate_func): likewise.
13011         (gtk_item_factory_destroy): only remove ifactory pointer from those
13012         widgets that belong to us (stupid me).
13013
13014 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
13015
13016         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
13017         rc_style list when lookup succeeeds.
13018
13019 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
13020
13021         * gtk/gtkctree.c (resync_selection): 
13022         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
13023         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
13024         bug.
13025
13026 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
13027
13028         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
13029         Add some missing GDK_THREADS_ENTER()/LEAVE around
13030         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
13031
13032 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
13033
13034         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
13035         rather than emit_by_name.
13036
13037         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
13038         on the widget across multiple signal emissions.
13039         (gtk_editable_delete_text): same here.
13040         (gtk_editable_class_init): set widget_class->activate_signal after
13041         editable_signals[ACTIVATE] has been created.
13042
13043 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
13044
13045         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
13046         position here prematurely -- we might not have the
13047         right ->min_position and ->max_position yet.
13048
13049 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
13050
13051         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
13052         Add error traps so if the other end of the connection
13053         dies, we survive.
13054
13055         * gtk/gtkselection.c (gtk_selection_notify): Clean
13056         up properly when selection property retrieval fails.
13057         
13058         * gtk/gtkselection.c (gtk_selection_request): Correctly
13059         reject SelectionRequest notifies where the handler
13060         returns no data.
13061
13062 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13063
13064         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
13065         when we've previously highlighted.
13066
13067         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
13068         emit two "drag_leave" signals for Motif drops.
13069
13070         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
13071         back the correct status messages when dropping from
13072         Motif onto a proxy window that is rejecting the
13073         drop.
13074
13075 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
13076
13077         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
13078         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
13079         to compare two argument values. added gtk_arg_to_valueloc() to set a
13080         variable from an arg through its location (pointer).
13081
13082         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
13083         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
13084         as gfloat*, uchars are collected as guchar*, ints are collected as
13085         gint*, etc...
13086
13087 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
13088
13089         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
13090         Include <string.h> instead of <strings.h>.
13091
13092         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
13093         (actually, a lot more duplicate includes occur if
13094          you trace through the sequence of #include's)
13095         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
13096         
13097 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
13098
13099         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
13100         gtk-a-higuti-990322-[0-3]
13101
13102         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
13103         that was causing -DX_LOCALE not to work.
13104
13105         * gtk/gtkrc.c (gtk_rc_init):
13106         X_LOCALE will never have LC_MESSAGES defined
13107
13108 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
13109
13110         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
13111         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
13112
13113         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
13114         left/right as well (gtk-michael-980726-0.patch.gz).
13115
13116         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
13117         for pointer values, use gchar instead of char. fixed uline allocation
13118         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
13119         chunks instead of G_ALLOC_ONLY.
13120         (gtk_label_size_request): always alter requisition as passed and leave
13121         widget->requisition alone.
13122         (gtk_label_set_text): allow NULL strings.
13123         (gtk_label_new): likewise.
13124
13125 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
13126
13127         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
13128
13129 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
13130
13131         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
13132         *and* mapped (i.e. drawable).
13133         (gtk_bin_expose): only send exposes to drawable children.
13134
13135         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
13136         (gtk_box_expose): only send exposes to drawable children.
13137
13138         * gtk/gtkhscale.c (gtk_hscale_draw): 
13139         * gtk/gtkvscale.c (gtk_vscale_draw):
13140         hm, this is an ugly one. we first compute the size of our trough area
13141         here (window relative) and then check intersection with the draw_area
13142         which is parent relative because we're a NO_WINDOW widget, so we need
13143         to offset the trough area by allocation.x and allocation.y before the
13144         check. (this must not be done for the background area though, since
13145         that's already computed parent relative).
13146
13147 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
13148
13149         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
13150         unrealize title buttons.
13151
13152 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
13153
13154         * gtk/gtkclist.c (gtk_clist_column_title_passive)
13155         (gtk_clist_column_title_active): 
13156         only connect/disconnect to GtkWidgetClass::event to block mouse events.
13157
13158         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
13159         zero initialize event, removed superfluous gdk_window_get_pointer call
13160
13161         * gtk/gtklist.c (gtk_list_vertical_timeout)
13162         (gtk_list_horizontal_timeout): removed superfluous
13163         gdk_window_get_pointer call
13164
13165 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
13166
13167         * plugging problems reported by "Bruce Mitchener, Jr."
13168         <bruce@puremagic.com> due to a purify session.
13169
13170         * gtk/gtkstyle.c:
13171         (gtk_style_ref): 
13172         (gtk_style_unref): assert ref_count to be > 0.
13173
13174         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
13175         the requisition.
13176         (gtk_clist_set_shift): likewise.
13177
13178         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
13179         adjustments.
13180
13181         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
13182         event before sending it and set send_event to TRUE (which needs to
13183         be done for *all* synthesized events).
13184         (gtk_list_vertical_timeout): likewise.
13185
13186         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
13187         leaks.
13188
13189         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
13190         to TRUE when synthesizing events.
13191
13192 [ *** end of merges from 1.2 *** ]      
13193         
13194 1999-11-21  Tor Lillqvist  <tml@iki.fi>
13195
13196         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
13197         (or copied from gdkconfig.h.win32 on Win32, sigh).
13198
13199         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
13200
13201         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
13202
13203         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
13204
13205         * gdk/gdkconfig.h.win32: New file.
13206
13207         * gdk/win32/makefile.cygwin: Build just a static archive here.
13208
13209         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
13210         for the DLL from the static archive built above.
13211
13212         * gdk/gdk.def: Moved here from the win32 subdirectory.
13213
13214         * gdk/win32/*: Adapt for the changed private struct organisation.
13215
13216         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
13217
13218 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
13219
13220         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
13221         for wheel mice (buttons 4 and 5).
13222
13223 1999-11-18  Tor Lillqvist  <tml@iki.fi>
13224
13225         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
13226         drawables use just the pixel field in the foreground and
13227         background GdkColor of the GdkGC.
13228
13229         gdk_gc_set_{fore,back}ground() are called in the GIMP with
13230         GdkColors containing uninitialized (red,green,blue) fields, and
13231         just the pixel field filled in, and furthermore in the
13232         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
13233         It thus turns out that we really don't need to have the full
13234         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
13235         it later to have just the pixel values.
13236
13237 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
13238
13239         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
13240
13241 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
13242
13243         * docs/gtkfaq.sgml: threads example from Erik Mouw.
13244         New question on GtkLabel background colors.
13245
13246         * docs/gtk_tut.sgml:
13247           - Correct the example code callback
13248             function definitions.
13249           - Update the gtkdial example code, from Frans van Schaik.
13250           - Update setselection.c to current API.
13251
13252         * examples/Makefile examples/*/*.c: Update to code
13253         listed in tutorial.
13254
13255 1999-11-10  Tor Lillqvist  <tml@iki.fi>
13256
13257         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
13258         subrange table (from the "Developing International Software for
13259         WIndows 95 and Windows NT" book) was missing the Hangul syllable
13260         block... Get the loaded font's charset correctly.
13261
13262         (Note that this, and the other *-win32.c files, still really are
13263         the old ones, the win32 subdirectory is not ready for compilation
13264         yet after the reorg.)
13265
13266 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
13267
13268         * gtk/gtkclist.c: Fix off-by-one bug in parameter
13269         check.
13270
13271 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
13272
13273         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
13274         on results of XQueryDeviceState().
13275
13276 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
13277
13278         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
13279         we need to accesss only ->children. We need an accessor
13280         for the children.
13281
13282         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
13283         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
13284         to get rid of gdkx.h include.
13285         
13286         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
13287         and random references to 'None'.
13288
13289         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
13290         Get rid of unused #include <gdk/gdkx.h>
13291
13292         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
13293         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
13294         gdkconfig.h.
13295
13296 1999-11-08  Tor Lillqvist  <tml@iki.fi>
13297
13298         * gdk/win32/gdkdraw.c
13299         * gdk/win32/gdkfont.c
13300         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
13301         following yesterday's changes. (Unrelated to Owen's reorg.)
13302
13303 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
13304
13305         * gdk/x11/gdkinput-gxi.c: Add missing include,
13306           fix GdkWindowPrivate => GdkDrawablePrivate.
13307
13308         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
13309
13310         * gdk/x11/Makefile.am (xinput_sources): Add missing
13311         backslash to fix building with --with-xinput=none
13312
13313 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
13314
13315         Move all X specific code into the x11/ directory.
13316         Aside from shuffling things around, did the following:
13317
13318        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
13319          gdk_arg_context_* - a simple argument parsing system
13320          in the style of popt.
13321
13322        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
13323          gdk/x11/gdkprivate-x11.h:
13324          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
13325          add ->klass and ->klass_data fields. The klass_data
13326          field points to an auxilliary structure that is
13327          windowing system dependent.
13328
13329        * gdk/gdkfont.c: Make most of the measurement functions
13330          simply wrappers around gdk_text_extents().
13331
13332        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
13333          _gdk_font_strlen() function that hides the weird
13334          behavior in gtk+-1.[02] where a string is interpreted
13335          differently for 8-bit and 16-bit fonts.
13336
13337        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
13338          to store common code for synthesizing double/triple
13339          press events.
13340         
13341        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
13342          Make all the function that modify an existing GC
13343          simply wrappers around gdk_gc_set_values().
13344          
13345        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
13346          for throwing out later.
13347
13348        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
13349          GdkImagePrivate and GdkColormapPrivate to have a
13350          windowing system dependent part (GdkFontPrivateX etc.)
13351          that "derives" from the system-independent part.
13352
13353        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
13354          Got rid of the included-source-files for XInput in
13355          favor of automake conditionals. (Which didn't exist
13356          when XInput support was originally added.)
13357
13358        * gdk/gdkrgb.c: Remove the visual id from the debugging
13359          statements since that is X11 specific; print out
13360          type/depth info instead.
13361          
13362
13363 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
13364
13365         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
13366         loading duplicates of hashed fonts.
13367
13368         * gdk/gdk.c (gdk_keysym_convert_case): rename
13369         gdk_XConvertCase to gdk_keysym_convert_case, allow
13370         results to be NULL in the GTK+ style.
13371
13372         * gdk/gdkcompat.h: Started compatibility header
13373         for renames.
13374
13375 1999-11-07  Tor Lillqvist  <tml@iki.fi>
13376
13377         * gdk/win32/gdkprivate.h: New font private structures, related to
13378         fontsets.
13379
13380         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
13381         gdk_font_list_free(). On X11, will just be wrappers to
13382         XListFonts() and XFreeFontNames(). On Win32, the code previously
13383         in gtkfontsel.c is now here.
13384
13385         New function gdk_font_xlfd_create(). On X11 will get the FONT
13386         property of the font (for GDK_FONT_FONTs), or call
13387         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
13388         builds a XLFD style name from the font information in the LOGFONT
13389         struct(s).
13390
13391         New function gdk_font_xlfd_free(), which correspondingly frees the
13392         string returned by gdk_font_xlfd_create().
13393
13394         Implement fontsets on Win32. Add a function that iterates over a
13395         wide char string and calls a callback function for each substring
13396         of wide chars from the same Unicode subrange (and thus probably
13397         available in the same real font).
13398
13399         Improve the XLFD emulation a bit.
13400
13401         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
13402
13403         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
13404         Beta3, WM_IME_CHAR messages don't seem to contain the composed
13405         multi-byte char as with the Active IMM on Win9x. Oh well, handle
13406         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
13407         ImmGetCompositionStringW() to get the composed Unicode chars.
13408
13409         * gdk/win32/gdkgc.c
13410         * gdk/win32/gdkdraw.c: Changes needed because of the font private
13411         struct changes.
13412
13413         * gdk/win32/gdk.def: Add the new functions.
13414
13415 1999-11-04  Tor Lillqvist  <tml@iki.fi>
13416
13417         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
13418         get the Platform SDK to get <dimm.h>.
13419
13420         * gdk/win32/gdkevents.c: More event handling fixes and
13421         simplification. Never generate motion events with is_hint true. We
13422         used to do that on bogus grounds earlier. Windows sends
13423         WM_MOUSEMOVE messages on button events even if the mouse hasn't
13424         moved, ignore these.
13425
13426         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
13427
13428         * gdk/win32/gdkglobals.c
13429         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
13430         the TrackMouseEvent function, and use it.
13431
13432         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
13433         char before calling WideCharToMultiByte in order to get a string
13434         for the window title.
13435
13436         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
13437
13438         * gdk/win32/gdk.def: Remove obsolete functions.
13439
13440         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
13441         /nodefaultlib and /defaultlib switches.
13442
13443         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
13444
13445 1999-10-31  Tor Lillqvist  <tml@iki.fi>
13446
13447         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
13448         EuroSign).
13449
13450         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
13451         same type as GdkWChar, especially on Win32.
13452
13453         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
13454
13455         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
13456         before passing to Windows GDI for drawing etc. Convert to the
13457         system default codepage before passing to Windows as window
13458         titles.
13459
13460         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
13461         support changing input locale on the fly.
13462
13463         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
13464         on-the-fly changes. Convert incoming characters from the current
13465         codepage to Unicode (and then to a UTF-8 multi-byte string) based
13466         on the current input language. Use keysym<->Unicode mapping tables
13467         and functions borrowed from xterm sources.
13468
13469         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
13470         editions of Win9x, use the ActiveX-based Active IMM (Input Method
13471         Manager) if available. IMEs and the Active IMM are available under
13472         the disguise of Chinese, Korean and Japanese support for IE and
13473         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
13474         support is present in all editions (as long as you install it).
13475
13476         Call DispatchMessage from gdk_events_queue() (and thus
13477         gdk_WindowProc()), instead of duplicating the code in
13478         gdk_WindowProc().
13479
13480         Reworked the grab handling and propagation code, factored out
13481         duplicated code snippets into separate functions. Other cleanups,
13482         too.
13483
13484         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
13485         the <dimm.h> header describing the Active IMM.
13486
13487         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
13488         just do the same as for "single" fonts.
13489
13490         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
13491         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
13492         the new keysyms from gdkkeysyms.h.
13493
13494         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
13495         fontset, so that gtkentry uses wide characters.
13496
13497         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
13498         GTk+'s system directory "gtk+", not "gtk".
13499
13500 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
13501
13502         * docs/gtkfaq.sgml: FAQ update
13503
13504 1999-10-21  Tor Lillqvist  <tml@iki.fi>
13505
13506         * gdk/win32/gdkprivate.h: Add more font private data.
13507
13508         * gdk/win32/gdkfont.c
13509         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
13510         fonts and strings. Now works much better. You still have to
13511         have a correct font selected, though. No fontset emulation yet.
13512
13513 1999-10-19  Tor Lillqvist  <tml@iki.fi>
13514
13515         * gtk/maketypes.awk: Use G_OS_WIN32.
13516
13517         * gtk/gtk.def: Add some missing entry points. Also some non-public
13518         ones, but PyGTK porter claims to need them.
13519
13520         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
13521         built-in type generation.
13522
13523 1999-10-14  Tor Lillqvist  <tml@iki.fi>
13524
13525         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
13526         GDK_FONT_FONT fonts (which is all we have for now, we don't
13527         emulate fontsets). The X11 version uses plain XDrawString in that
13528         case, too. The string passed to gdk_draw_text_wc seems to be in
13529         fact (at least, when used by gtkentry and gtktext) either in a
13530         single-byte charset, or a DBCS. Not Unicode.
13531
13532         This fixes the problem in gtkfontsel, where even if you had
13533         selected a font with a non-Latin1 charset (windows-greek, for
13534         instance), the preview still used Latin-1 glyphs.
13535
13536         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
13537         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
13538         (gdk_font_load): Recognize the demibold etc weights, even if we
13539         don't have the corresponding constants in the headers.
13540         (gdk_font_hash_insert): Use same hash mechanism as in the X11
13541         version. Should save font resources a bit, when we don't have
13542         multiple HFONTs for the same font.
13543
13544         * gdk/win32/gdkprivate.h: Add the names field as in the X11
13545         version.
13546
13547 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
13548
13549         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
13550         X values
13551
13552 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
13553
13554         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
13555         layout support (as mentioned on
13556         http://www.jcinteractive.com/gnome-ui/software/widgets/)
13557
13558 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
13559
13560         * gtk/fnmatch.c
13561         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
13562
13563 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
13564
13565         * configure.in (ALL_LINGUAS): Added Galician (gl)
13566
13567 1999-10-05  Tor Lillqvist  <tml@iki.fi>
13568
13569         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
13570
13571         * gdk/win32/gdkcompat.c: New file, actually provide an
13572         implementation for the deprecated functions. (Just temporarily.)
13573
13574         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
13575
13576         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
13577
13578         * gdk/win32/gdk.def gtk/gtk.def: Updates.
13579
13580 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
13581
13582         * configure.in: Added "uk" to ALL_LINGUAS.
13583         
13584 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
13585
13586         * configure.in: correct checking for BeOS check
13587
13588         * gdk/gdktypes.h
13589         * gtk/fnmatch.c
13590         * gtk/gtkfilesel.c
13591         * gtk/gtkitemfactory.c
13592         * gtk/gtkmain.[ch]
13593         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
13594
13595 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
13596
13597         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
13598         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
13599         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
13600         by Bulgarian). 
13601
13602 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
13603
13604         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
13605         Fix a reference to window_private->destroyed.   
13606
13607         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
13608         (ugly) setting of an internal GdkWindow member to use
13609         a _slightly_ cleaner macro.
13610
13611         * gdk/gdkprivate.h: Split GdkWindowPrivate into
13612         GdkDrawablePrivate and GdkWindowPrivate.
13613         Add extra macros for accessing GDK_DRAWABLE_ components.
13614
13615         * *.[ch]: Massive adjustments for the above, use the
13616         new macros in a lot of places.
13617
13618 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
13619
13620         * gdk/gdktypes.h: Make GdkDrawable the base type,
13621         not GdkWindow.
13622
13623 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
13624
13625         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
13626
13627 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
13628
13629         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
13630
13631 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
13632
13633         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
13634         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
13635
13636         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
13637
13638         * docs/gtk-config.1: Now autogenerated.
13639         * docs/Changes-1.4.txt: started
13640         
13641 1999-10-03  Tor Lillqvist  <tml@iki.fi>
13642
13643         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
13644         to #ifdef also here.
13645
13646         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
13647         Owen did to the X11 backend.
13648
13649         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
13650         ScrollWindowEx when blitting inside a window, it can't be correct
13651         in the general case.
13652
13653         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
13654         WM_GETMINMAXINFO is easier.
13655
13656         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
13657         depth equal to the bitspixel value, not the visual's depth.
13658
13659         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
13660         to 24 even if the bitspixel value is 32.
13661
13662         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
13663         need to check for depth==32 when bpp==32, depth will always be 24.
13664
13665 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
13666
13667         * docs/Changes-1.4.txt: Started
13668         
13669         * gtk/Makefile.am (gdk_headers): Include all the new headers.
13670
13671         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
13672         
13673         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
13674         into C file.
13675         
13676         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
13677         header to gdkinputprivate.h.
13678
13679         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
13680         unused since before 1.2.
13681
13682 1999-09-30  Tor Lillqvist  <tml@iki.fi>
13683
13684         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
13685         expand possible hex escapes in the font family (put there by
13686         logfont_to_xlfd if the font name isn't a legal XLFD font family,
13687         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
13688         On Win32, add hex escapes here, too.
13689
13690 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
13691
13692         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
13693         to #ifdef GDK_WINDOWING_X11.
13694
13695 [ Merges from gtk-1-2 ]
13696
13697 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
13698
13699         * configure.in: fixed "GNU Make" check to pass with new make version
13700         3.77.95.
13701
13702 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
13703
13704         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
13705         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
13706         AM_PATH_GTK() macros don't get confused by the -pre1.
13707
13708 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
13709
13710         * configure.in (REBUILD): Change check for perl5
13711           to check explicitely for v >= 5.002. (5.001
13712           does not work with our scripts.)
13713
13714 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
13715
13716         * configure.in: evaluate $PERL for the perl version check. added
13717         --disable-rebuilds to give the user an option to completely disable
13718         any source autogeneration rules.
13719
13720 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
13721
13722         * configure.in: evaluate $ac_make when checking for GNU Make.
13723
13724 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
13725
13726         * docs/Makefile.am: added generation.txt.
13727
13728         * Makefile.am: require automake 1.4, build README from README.in and
13729         INSTALL from INSTALL.in in dist-hook.
13730         
13731         * README.in:
13732         * INSTALL.in: new files to autogenerate README and INSTALL from.
13733
13734         * configure.in: figure whether we have GNU Make
13735
13736         * docs/generation.txt: minor additions/corrections.
13737
13738 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
13739
13740         * docs/gtkfaq.sgml: FAQ Update
13741
13742 July 30, 1999 Elliot Lee <sopwith@redhat.com>
13743         
13744         * configure.in: Fix autoconf warnings about cross compilation by
13745         trying to provide sane defaults for AC_TRY_RUN.
13746
13747 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
13748
13749         * ltconfig
13750         * ltmain.sh: upgrade to libtool 1.3.3
13751
13752 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
13753
13754         * INSTALL: Indicate that the --with-glib= configure
13755         time flag is unsupported.
13756
13757 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
13758
13759         * docs/generation.txt: Added a file that gives
13760         documenation about the autogeneration process for
13761         various autogenerated files.
13762         
13763 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
13764
13765         * configure.in (LIBS): Look for libgmodule in the
13766         right location.
13767
13768 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
13769
13770         * docs/gtk_tut.sgml: Removed references to
13771         code examples in my directory on gtk.org as
13772         they should all be in the tutorial now.
13773
13774         * docs/gtk_tut.sgml: Added sources for dial-test
13775         and scribble-xinput programs that were previously
13776         missing.
13777
13778 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
13779
13780         * TODO: Added entry about menu keyboard navigation, removed
13781         some finished items.
13782
13783 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
13784
13785         * acinclude.m4: Standardize on func_dgettext
13786         not func_gettext, so that the checks for dgettext
13787         actually are paid attention to.
13788
13789 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
13790
13791         * configure.in (LIBS): Add $INTLLIBS into $LIBS
13792         directly, rather than repeating the checks for
13793         gettext.
13794
13795         * INSTALL: Added information about gettext and
13796         NLS support.
13797
13798         * acinclude.m4 (LIBM): Check for dgettext, not
13799         just gettext. This should hopefully fix things wrt
13800         systems with old versions of GNU gettext installed.
13801
13802 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
13803
13804         * configure.in (LIBS): Look for libgmodule in the
13805         right location.
13806
13807 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
13808
13809         * autogen.sh: add --enable-maintainer-mode
13810
13811         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
13812
13813 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
13814
13815         * docs/gtk-config.1.in:
13816           docs/Makefile.am:
13817           configure.in: gtk-config is now generated.
13818
13819         * docs/gtk-config.1: Removed, now generated.
13820
13821 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
13822
13823         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
13824         handle CreateNotify itself, still put out a debuging message for
13825         --gdk-debug=events. made the ReparentNotify debugging message more
13826         verbose.
13827         wrap xcoords translation for ConfigureEvents into an error trap,
13828         a destroy event may already be pending, and in that case, the
13829         actuall coordinate values are not at all critical.
13830
13831 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
13832
13833         * gdk/gdkcc.c: Stop leaking the color_hash all over
13834         the place. Simplify and improve the logic.
13835
13836 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
13837
13838         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
13839         for prototypes and function implementations consistent (reported
13840         by Tomas Ogren).
13841
13842 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
13843
13844         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
13845         send_event set in debugging output.
13846         (gdk_compress_exposures): default initialize the event so we don't
13847         operate on bogus values (namely send_event).
13848
13849 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
13850
13851         * gdk/gdkwindow.c: When we receive an unexpected
13852         destroy notify on one of our windows, don't just
13853         warn about it, also mark our windows as destroyed.
13854
13855 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
13856
13857         * gdk/gdkfont.c (gdk_font_hash_insert): Add
13858           name => font and name => fontset hashes. The 
13859           name => fontset hash is a _big_ win since we
13860           weren't previously caching fontsets at all and loading
13861           fontsets is expensive. The name => font hash
13862           is less of a win, but it does save us from doing
13863           repeated XQueryFont calls on the same font.
13864
13865         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
13866           list so we can remove font/fontset from hash.
13867
13868 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
13869
13870         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
13871           and slightly confusing test. [ XInternAtom (,,TRUE)
13872           will never return None ].
13873
13874 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
13875
13876         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
13877           gdk/gdkwindow.c (gdk_window_set_hints):
13878
13879         Don't omit setting the properties if flags == 0 -
13880         there may be an existing set of properties there
13881         already. (Very old bug. Would it be better to
13882         delete the property instead?)
13883
13884         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
13885           spelling error in comment.
13886
13887 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
13888
13889         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
13890           to avoid stomping over gdk_error_warnings.
13891
13892         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
13893           as (bits_per_pixel + 7) / 8. This gives the same
13894           result as before for multiples of 8, but actually
13895           a "reasonable" value for 1bit or 4bit displays.
13896
13897 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
13898
13899         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
13900         GNU Make.
13901
13902 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
13903
13904         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
13905         discarding configure events.
13906
13907 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
13908
13909         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
13910         refcount is greater than zero.
13911
13912         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
13913
13914         * gdk/gdkfont.c (gdk_font_unref): Likewise.
13915
13916         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
13917
13918         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
13919
13920 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
13921
13922         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
13923         that format 32 => sizeof(item) == 4. It really is
13924         sizeof(long).
13925
13926 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
13927
13928         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
13929         core dump at all on X IO errors, only core dump
13930         if --enable-debug for X errors.
13931
13932 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
13933
13934         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
13935         unknown window:" message. disabled ConfigureNotify discarding code,
13936         because it led to events being processed out of order.
13937
13938 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
13939
13940         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
13941
13942         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
13943         we export this function, supress error warnings and don't reset the
13944         error code in the first half of this function.
13945
13946         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
13947         code (instead of just -1) so gdk_error_trap_pop() reveals something
13948         actually informative about the error that happened.
13949
13950         * gdk/*.c:
13951         don't rely on gdk_error_code being -1 if an error occoured, but just
13952         gdk_error_code != 0.
13953
13954 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
13955
13956         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
13957         pointer *before* invoking the filter function, so we at least don't
13958         crash if a filter is removed that is currently executed. window filters
13959         *really* need to be made truely reentrant at some point.
13960
13961 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
13962
13963         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
13964         PropertyNotify debug messages.
13965
13966 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
13967         
13968         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
13969         
13970         * gdk/gdkim.c: Fix cut-and-paste errors for 
13971         x/y and PreeditAttributes/StatusAttributes.
13972
13973 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13974
13975         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
13976         G_MAXINT to 2^16 to alleviate overflow problems in
13977         various window managers.
13978
13979 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
13980
13981         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
13982         for fontsets.
13983
13984 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
13985
13986         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
13987         Initialize size_hints.x and size_hints.y because kwm
13988         brokenly pays attention to them.
13989         (Bug #1181 -  Lars Heete <hel@admin.de>)
13990
13991 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
13992
13993         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
13994         return value of gdk_list_visuals(). 
13995         (Bug #1193 - Morten Welinder <terra@diku.dk>)
13996
13997 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
13998
13999         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
14000         XSetIMValues to (void *) when comparing to NULL, to workaround
14001         the problem of some compilers barfing since older X headers don't
14002         have the prototype for it.
14003
14004 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
14005
14006         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
14007         for pseudocolor where colormap->colors was double
14008         allocated.
14009
14010         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
14011         color value in the hash table with the pixel filled
14012         in so when we do later hash table lookups, the color
14013         value is correct.
14014         
14015 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
14016
14017         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
14018         making the call
14019
14020 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
14021
14022         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
14023         pointed out by Morten Welinder <terra@diku.dk>.
14024
14025 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
14026
14027         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
14028           default filter from the list
14029
14030 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
14031
14032         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
14033           default filter from the list
14034
14035 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
14036
14037         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
14038
14039         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
14040         g_strdup_printf instead of calcing the length separately
14041
14042 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
14043
14044         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
14045         that we don't do in many other places. (Fixing duplicate 
14046         #include of config.h)
14047
14048         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
14049         Otherwise, #ifndef XINPUT_NONE check in the latter
14050         doesn't work. (Bug #546)
14051
14052 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
14053
14054         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
14055         "None" case insensitive.
14056
14057 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
14058
14059         * gdk/gdkselection.c: 
14060         Add error traps so if the other end of the connection
14061         dies, we survive.
14062
14063 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
14064
14065         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
14066         dest_xid field into two fields - one for the window
14067         to send in messages, one to indicate the last looked
14068         up window for caching purposes. This is needed, so
14069         that Leave messages get the correct window.
14070
14071 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
14072
14073         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
14074         Fix warning created by people mucking around
14075         with the gsource API.
14076
14077         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
14078         Change mapping between GIOCondition and GdkInputCondition
14079         to match the way the Linux kernel does it. This should
14080         fix problems where closed pipes were no longer signalling
14081         GDK_INPUT_READ on systems with a native poll().
14082
14083 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
14084
14085         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
14086         explicitly for the string "None" - it is in the XPM
14087         spec and some servers treat unknown colors in odd ways
14088         (like asking the user!)
14089
14090 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
14091
14092         * gdk/gdkevents.c: made "->" into a "." of previous change so
14093         it compiles
14094
14095 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
14096
14097         * gdk/gdkevents.c (gdk_compress_exposures): Set the
14098         window field of the event structure before calling
14099         user filters.
14100
14101 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
14102
14103         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
14104         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
14105
14106 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
14107
14108         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
14109         intermediate text property - prevents major memory
14110         leak when gdk_use_mb.
14111         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
14112
14113 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
14114
14115         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
14116         gtk-a-higuti-990322-[0-3]
14117
14118         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
14119         sizeof(wchar_t) != sizeof (GdkWChar)
14120
14121         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
14122         that was causing -DX_LOCALE not to work.
14123
14124         * gtk/gtkrc.c (gtk_rc_init):
14125         X_LOCALE will never have LC_MESSAGES defined
14126
14127         * gdk/gdk.c (gdk_init_check):
14128         Remove --xim-preedit and --xim-status from argv properly.
14129
14130         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
14131         that the client window is present on the X server
14132         before we pass it to the input method.
14133
14134 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
14135
14136         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
14137         if --display is specified on the command line, than
14138         the drag window will not be created on that display.
14139         
14140 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
14141
14142         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
14143         lookups with only_if_exists == TRUE were inserting
14144         bogus values into the atom cache.
14145
14146 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
14147
14148         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
14149         then reset it to NULL.
14150
14151         * gdk/gdkcolor.c:
14152         (gdk_colors_free): 
14153         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
14154         key for g_hash_table_remove() in both functions, this prevents us
14155         from accessing possibly uninitialized portions of a GdkColor structure
14156         where we are only interested in its pixel value.
14157
14158 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14159
14160         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14161         font hash table, if we have a GdkFontPrivate entry for this font
14162         already, simply increment its reference count, provided by Olaf Dietsche
14163         <olaf.dietsche+list.gtk@netcologne.de>.
14164
14165 1999-09-21  Tor Lillqvist  <tml@iki.fi>
14166
14167         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
14168         just to be sure.
14169
14170         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
14171         unused variables, leftovers from the X11 version.
14172
14173         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
14174
14175         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
14176         downcase fields on X11.
14177
14178 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
14179         
14180         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
14181         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
14182
14183 1999-09-17  Tor Lillqvist  <tml@iki.fi>
14184
14185         * gdk/win32/gdk.def: Add gdk_threads_mutex.
14186
14187         * gtk/makefile.msc: Correct path to libintl.
14188
14189         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
14190         use of gint vs. int, and gint vs. gboolean in headers and
14191         definitions. Use GtkType for the *_get_type functions. Note that
14192         these changes preserve binary compatibility.
14193
14194         * gdk/gdk.c
14195         * gdk/win32/gdk.c
14196         * gdk/gdk.h: Fix inconsistencies: gint vs int.
14197
14198         * gtk/gtkmain.c
14199         * gtk/gtkclist.c
14200         * gtk/gtkmenufactory.c
14201         * gtk/gtknotebook.c
14202         * gtk/gtkwidget.c: Fix inconsistencies, also gint
14203         vs. gboolean.
14204
14205         * gtk/gtkcolorsel.[ch]
14206         * gtk/gtkcombo.[ch]
14207         * gtk/gtkdrawingarea.[ch]
14208         * gtk/gtkgamma.[ch]
14209         * gtk/gtkhandlebox.[ch]
14210         * gtk/gtkhpaned.[ch]
14211         * gtk/gtkhruler.[ch]
14212         * gtk/gtkplug.[ch]
14213         * gtk/gtkpreview.[ch]
14214         * gtk/gtkruler.[ch]
14215         * gtk/gtksocket.[ch]
14216         * gtk/gtkstatusbar.[ch]
14217         * gtk/gtktoolbar.[ch]
14218         * gtk/gtkvbbox.[ch]
14219         * gtk/gtkvpaned.[ch]
14220         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
14221         functions.
14222
14223         * gtk/gtkgamma.h: Fix bug, missing () in call of
14224         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
14225
14226 1999-09-14  Tor Lillqvist  <tml@iki.fi>
14227
14228         * gdk/gdkcolor.c (gdk_colormap_new)
14229         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
14230         colormap->colors was allocated twice.
14231
14232         * gdk/win32/gdk.c: Remove some unused stuff.
14233
14234         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
14235         colormap.
14236
14237         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
14238         * gtk/gtklabel.h (gtk_label_get_type)
14239         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
14240         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
14241         in a couple of places, not guint.
14242
14243 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
14244
14245         * configure.in,po/et.po: added Estonian language file
14246
14247 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
14248
14249         * configure.in,po/da.po: added Danish file
14250
14251 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
14252
14253         * docs/gtkfaq.sgml: Minor FAQ Update
14254
14255 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
14256
14257         * docs/gtkfaq.sgml: FAQ update
14258
14259 1999-08-27  Tor Lillqvist  <tml@iki.fi>
14260
14261         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
14262         way to get window contents continually refreshed while resizing. I
14263         didn't like the effects myself, so it's not on by default.
14264
14265         * gdk/win32/gdkprivate.h: New flag variable
14266         gdk_event_func_from_window_proc, FALSE by default.
14267
14268         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
14269         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
14270         are passed --gdk-event-func-from-window-proc.
14271
14272         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
14273         and we have am event_func, call it instead of enqueing the event.
14274
14275 1999-08-23  Tor Lillqvist  <tml@iki.fi>
14276
14277         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
14278         Kelley: Set expose_count in GdkEventExposes correctly.
14279
14280         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
14281         MULTIPLE_WINDOW_CLASSES).
14282
14283         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
14284         for bug in NT, apparently NT *does* draw the end pixel, too, in
14285         LineTo with a one-pixel pen, so we don't have to do it ourselves.
14286
14287 1999-08-21  Tor Lillqvist  <tml@iki.fi>
14288
14289         Improvements by Hans Breuer: 
14290
14291         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
14292
14293         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
14294         CS_?REDRAW flags as they cause lots of (late) redraws when "show
14295         window contents while dragging" is turned on. Allocate at least
14296         one unique class for every GdkWindowType. If support for single
14297         window-specific icons is ever needed (eg. Dialog specific), every
14298         such window should get its own class.
14299
14300 1999-08-19  Tor Lillqvist  <tml@iki.fi>
14301
14302         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
14303         error that caused crashes.
14304
14305 1999-08-17  Tor Lillqvist  <tml@iki.fi>
14306
14307         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
14308         window, use ScrollWindowEx, and call UpdateWindow. This prevents
14309         bugs when for instance part of the window was outside the
14310         display. Thanks to Philippe Colantoni for finding and fixing this.
14311
14312 1999-08-16  Tor Lillqvist  <tml@iki.fi>
14313
14314         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
14315         endpoint calculations which were totally wrong. (A little RTFMing
14316         helps a lot ;-)
14317
14318         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
14319         from a separate directory, not from gettext, because of licensing
14320         issues (we want to use the LGPL version).
14321
14322         * README.win32: Mention the intl from glibc vs from gettext issue.
14323
14324 1999-08-13  Tor Lillqvist  <tml@iki.fi>
14325
14326         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
14327         in the key event handling: Now AltGr chars work again. Also,
14328         now Alt-digits are passed up as well as Control-digits.
14329         Pass keypad plus and minus as normal plus and minus.
14330
14331 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
14332
14333         * docs/gtkfaq.sgml: FAQ Update
14334
14335 1999-07-25  Tor Lillqvist  <tml@iki.fi>
14336
14337         * README.win32
14338         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
14339         the Wintab SDK.
14340
14341         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
14342         OK, but getting closer. Guard against bogus tilt data from Wacom
14343         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
14344         enable easier building without Wintab.
14345
14346         * gdk/win32/gdkinput.h
14347         * gdk/win32/gdkevents.c 
14348         * gdk/win32/gdkwindow.c: Minor changes related related to above.
14349         
14350         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
14351         code. As we have just one visual on Win32, no sense to have it in a
14352         table, and no need for the hash table.
14353
14354         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
14355         better on white background.
14356
14357 1999-07-21  Tor Lillqvist  <tml@iki.fi>
14358
14359         * README.win32: Update gcc build instructions. Mention gettext is
14360         GPL.
14361
14362         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
14363         supported cursor size with GetSystemMetrics.
14364
14365         * gdk/win32/gdkfont.c
14366         * gtk/gtkfontsel.c: Guard against some font weight and charset
14367         symbols being undefined (in mingw32 headers).
14368
14369         * gdk/win32/makefile.cygwin
14370         * gtk/makefile.cygwin
14371         * gtk/gtkthemes.c: No longer need to have differently named
14372         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
14373
14374 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
14375
14376         * docs/gtkfaq.sgml: Long awaited FAQ update.
14377
14378 1999-07-15  Tor Lillqvist  <tml@iki.fi>
14379
14380         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
14381         it. Obscure bit manipulation needed.
14382
14383         * gdk/win32/gdkevents.c: Logging.
14384         
14385         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
14386         style (file name include compiler name) for theme engines.
14387
14388 1999-07-13  Tor Lillqvist  <tml@iki.fi>
14389
14390         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
14391
14392         * gdk/win32/gdkevents.c: Fix long-standing bug in key
14393         events. The key.string wasn't zero-terminated, still we strdup'ed
14394         it in gdk_event_copy(). Synthesize crossing events for button
14395         events before possible propagation.
14396
14397         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
14398
14399         * gdk/win32/makefile.cygwin
14400         * gtk/makefile.cygwin: Use new DLL naming style for the
14401         GCC-compiled ones.
14402
14403         * gdk/win32/makefile.msc
14404         * gtk/makefile.msc: Cosmetics mostly.
14405
14406         * gtk/gtk.def: Add missing entry points.
14407
14408         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
14409
14410 1999-07-09  Tor Lillqvist  <tml@iki.fi>
14411
14412         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
14413         or height is zero. Don't print a warning if Pie or Arc fails, they
14414         always fail (?) for very narrow ellipses.
14415
14416         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
14417         the part or the destination window corresponding to source area
14418         outside of the source drawable's boundary.
14419
14420         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
14421         anything if less than two points.
14422
14423         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
14424         return NULL. Gtk cut-and-paste inside a single program works
14425         better this way. (It always gets the clipboard contents from
14426         Windows, not from its own copy, which is cleared anyway. I can't
14427         say I fully understand what happens... Emulating the X selection
14428         and property stuff is a bit of a mess.)
14429
14430         * gdk/win32/gdkevents.c
14431         * gdk/win32/gdkproperty.c: A bit more verbose logging.
14432
14433         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
14434         that never got deleted). Revamp gdk_region_shrink.
14435
14436         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
14437         after use.
14438
14439         * gtk/gtk.def: Add some missing entry points.
14440
14441         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
14442         component.
14443
14444 1999-07-04  Tor Lillqvist  <tml@iki.fi>
14445
14446         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
14447         Control-digits specially.
14448
14449 1999-07-03  Tor Lillqvist  <tml@iki.fi>
14450
14451         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
14452
14453 1999-06-28  Tor Lillqvist  <tml@iki.fi>
14454
14455         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
14456         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
14457         finding this.)
14458
14459 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
14460
14461         * gtk+.spec.in: Corrected some typos in files section.
14462         
14463 1999-06-15  Tor Lillqvist  <tml@iki.fi>
14464
14465         * README.win32: Mention using GNU gettext.
14466         * config.h.win32: Enable NLS stuff.
14467         * gtk/makefile.msc: Use GNU gettext.
14468         * gdk/win32/gdkdnd.c: Minor header reorg.
14469         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
14470         cosmetics.
14471         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
14472         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
14473
14474 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
14475
14476         * acinclude.m4
14477         * config.guess
14478         * config.status
14479         * ltconfig
14480         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
14481
14482 1999-05-30  Tor Lillqvist  <tml@iki.fi>
14483
14484         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
14485         SafeAdjustWindowRectEx. Don't override all calls to
14486         AdjustWindowRectEx by it, but use it only in two places: When
14487         creating a new top-level window and when moving a top-level
14488         window.
14489
14490         Use screen coordinate rectangle, not client rectangle, in
14491         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
14492         when we try to place a window so that the decoration (mainly,
14493         title bar) isn't visible.
14494
14495         These changes fix the bug that showed up for instance as the
14496         GIMP's saved top-level windows moving right and down (by an amount
14497         equal to the window decoration) for each session. This bug showed
14498         up also in testgtk's "Saved Position".
14499
14500         gdk_window_resize also redone a bit.
14501
14502 1999-05-25  Tor Lillqvist  <tml@iki.fi>
14503
14504         * gtk/testgtkrc: Add (commented out) Windows-style theme
14505         include line.
14506
14507         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
14508
14509 1999-05-18  Tor Lillqvist  <tml@iki.fi>
14510
14511         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
14512         gdkx.h to a gdk subdirectory, so that applications can include
14513         these with <gdk/*.h> without trouble.
14514
14515         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
14516         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
14517         have their bitmap destroyed.
14518
14519         * gdk/win32/gdk.def: Add gdk_root_parent.
14520
14521 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
14522
14523         * configure.in
14524           gtk-config.in
14525           ltconfig
14526           ltmain.sh     
14527           gtk/Makefile.am: changes to compile nicely (with xlib) 
14528           on BeOS
14529
14530 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
14531
14532         * acinclude.m4
14533         * config.guess
14534         * config.sub
14535         * ltconfig
14536         * ltmain.sh: upgrade to libtool 1.3
14537
14538 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
14539
14540         * gtk/gtkclist.c:
14541         * gtk/gtkctree.c: merges from gtk-1-2
14542
14543 1999-04-25  Tor Lillqvist  <tml@iki.fi>
14544
14545         Support added for building using a GNU toolchain on Win32,
14546         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
14547
14548         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
14549         * config.h.win32: Changes for gcc.
14550         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
14551         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
14552         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
14553         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
14554         Protect shl stuff unavaiilable with mingw32 headers.
14555         * gdk/win32/gdkevents.c: Fix typo.
14556         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
14557         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
14558         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
14559         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
14560         the mingw32 headers.
14561         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
14562         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
14563         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
14564         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
14565         Test for NATIVE_WIN32, not _MSC_VER.
14566         * gtk/gtkmain.c: No use warning about developer version on Win32,
14567         there aren't any non-developer versions anyhow.
14568         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
14569         * gtk/makefile.msc: Use pthread from another directory. Minor other
14570         changes. 
14571
14572 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
14573
14574         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
14575           default filter from the list
14576
14577 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
14578
14579         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
14580          when gtk_widget_grab_default() is called for a widget that
14581          is not within a GtkWindow.
14582
14583 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
14584
14585         * docs/gtk_tut.sgml, examples/clist.c: use a
14586           scrolled window in the clist example. Minor
14587           tutorial fixes.
14588
14589 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
14590
14591         * docs/gtk_tut.sgml: Style check from David King
14592           <dking@youvegotmail.net>
14593
14594 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
14595
14596         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
14597         compile with unknown value of GDK_WINDOWING
14598
14599 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
14600
14601         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
14602         after the rule is fired.
14603         (install-exec-local): Install gdkconfig.h only if the contents are
14604         different from the currently installed gdkconfig.h.
14605
14606 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
14607
14608         * gdk/Makefile.am (configexecincludedir): Rename from 
14609         configincludedir so that gdkconfig.h will be installed 
14610         as part of `make install-exec'. 
14611
14612 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
14613
14614         * acinclude.m4
14615         * config.guess
14616         * config.sub
14617         * ltconfig
14618         * ltmain.sh: upgrade to libtool 1.2f
14619
14620         * autogen.sh: libtool is not required to autogen gtk+
14621
14622         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
14623         needed)
14624
14625 1999-03-18  Tor Lillqvist  <tml@iki.fi>
14626
14627         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
14628         declaring gdk variables exported/imported from the DLL. New image
14629         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
14630         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
14631         GDK_DRAG_PROTO_OLE2.
14632
14633         * gdk/gdk.h: Merge in Win32 version: Two new functions,
14634         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
14635         declared only for the Win32 version, but could be in the X11
14636         version as well. (Needed for a Xlib-less gdk_imlib.)
14637         gdk_color_hash should have only one parameter. Declare
14638         gdk_threads_mutex with GDKVAR.
14639         
14640         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
14641         just one parameter.
14642
14643         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
14644         per pixel, not bits.
14645
14646         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
14647         Fetch bpp (which means bits-per-pixel here) from another place on
14648         Win32. Accept also depth==32 (which we might get on Win32) with
14649         bpp==32.
14650
14651         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
14652         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
14653         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
14654         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
14655         in the backend-dependent directory, not in the common gdk
14656         directory.
14657
14658         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
14659         headers.
14660
14661 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
14662
14663         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
14664         want to use the Gtk+ devel version (which is true, and yes - even i am
14665         currently working with the 1.2.x branch). so everyone reading this, you
14666         probably want to issue
14667         cvs checkout -r glib-1-2 glib
14668         and
14669         cvs checkout -r gtk-1-2 gtk+
14670         as your next two comands.
14671
14672 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
14673
14674         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
14675         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
14676
14677         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
14678         file. strongly deprecated the GTK_HAVE_* macros, we provide
14679         GTK_CHECK_VERSION() for people that need to check for certain
14680         Gtk+ versions.
14681
14682         * gtk/gtkcompat.h: removed this from CVS.
14683         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
14684         idea right from the start, it just didn't seem like that back then.
14685
14686 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
14687
14688         * merges from gtk-1-2:
14689
14690 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
14691
14692         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
14693         item factory class has been created.
14694         (gtk_item_factory_parse_rc): likewise.
14695
14696         * gtk/gtkmenu.c:
14697         keep proper references for old_active_menu_item.
14698         (gtk_menu_reparent): unset the usize of the new parent,
14699         so the menu can sanely be size requested and we don't get nasty screen
14700         artefacts upon next reparentation.
14701         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
14702         enter notify. only synthesize enter notifies if the pointer really is
14703         inside the event window.
14704         (gtk_menu_popdown): use gtk_menu_shell_deselect().
14705         (gtk_menu_popup): move the background setting stuff into
14706         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
14707
14708         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
14709         gtk_menu_shell_select_item() to select the new item.
14710         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
14711         do the right thing for deselection as well.
14712
14713 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
14714
14715         * gtk/gtkwidget.[hc]:
14716         (gtk_widget_accelerators_locked): return whether a widget's accelerators
14717         are locked.
14718
14719         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
14720         existing accelerators if the widget's accelerators are locked.
14721
14722 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
14723
14724         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
14725
14726         * gtk/gtkmenu.c: truely forward key press and key release events to
14727         the menu widget from the toplevel or tearoff window. we can't simply
14728         connect to that, we need to stop further processing of the events as
14729         well.
14730
14731 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
14732
14733         * gtk/gtkmenu.c:
14734         (gtk_menu_key_press): pass event->keyval, event->state to
14735         gtk_accelerator_valid, instead of event->keyval twice.
14736         refuse to install single letter accelerators for menus that use
14737         single letter shortcuts.
14738
14739         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
14740         gtk_menu_ensure_uline_accel_group().
14741
14742         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
14743         which will always return an uline accel group, made
14744         gtk_menu_get_uline_accel_group() return NULL if the group isn't
14745         yet created.
14746
14747 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
14748
14749         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
14750
14751         * gtk/gtkclist.c (gtk_clist_column_title_passive):
14752         Leave button sensitive, trap  button_press, button_release,
14753         motion_notify, enter_notify and leave_notify events instead.
14754         (gtk_clist_column_title_active): disconnect event handler.
14755         (gtk_clist_drag_data_get): fixed memory leak. Reported by
14756         Guillaume Laurent <glaurent@worldnet.fr>
14757
14758 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
14759
14760         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
14761         width/height mixups.
14762
14763         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
14764         if needed.
14765
14766 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
14767
14768         * gtk/testgtk.c (create_item_factory): unref the item factory after
14769         window's destruction.
14770
14771         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
14772         count on the menu shell around the menu item's activation, since the
14773         signal emission may cause menu shell destruction.
14774
14775         * gtk/gtkitemfactory.c:
14776         the previous code leaked one accel group per menu. we use
14777         gtk_menu_get_uline_accel_group() now to fix that, and with that
14778         also create the underline accelerator group of the menus only if
14779         required (i.e. an underline accelerator has been specified).
14780         (gtk_item_factory_construct):
14781         (gtk_item_factory_create_item): removed code that would create an
14782         extra accel group for the menu (and leak references).
14783         (gtk_item_factory_create_item): adapted the underline accelerator
14784         installation code to properly feature gtk_menu_get_uline_accel_group().
14785
14786         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
14787         menu->accel_group, this may return NULL if the accelerator group
14788         hasn't been set yet.
14789         added gtk_menu_get_uline_accel_group() to retrive the underline
14790         accelerator group of the menu, this will be created on demand
14791         and proper care is taken about its reference count.
14792
14793         * gtk/gtkitemfactory.h:
14794         * gtk/gtkitemfactory.c:
14795         dumped the approach of keeping a widgets by action list on the
14796         factory since the factory<->widget destroy negotiation didn't work
14797         and would be hard to get going at all. instead we keep a list of
14798         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
14799         persistant throughout a program's life time).
14800         also, i removed the static const gchar *key_* variables, and made
14801         them inline strings (they weren't actually used anyways).
14802         (gtk_item_factory_add_item): update ifactory->items.
14803         (gtk_item_factory_destroy): destroy ifactory->items (and remove
14804         the item factory pointer from the remaining ifactory widgets).
14805         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
14806         list to find the widget.
14807         (gtk_item_factory_get_item): new function that works around
14808         gtk_item_factory_get_widget() limitations, this function will only
14809         return menu items, even for <Branch> entries.
14810
14811 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14812
14813         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14814         font hash table, if we have a GdkFontPrivate entry for this font
14815         already, simply increment its reference count, provided by Olaf Dietsche
14816         <olaf.dietsche+list.gtk@netcologne.de>.
14817
14818         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
14819         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
14820
14821 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
14822
14823         * gtk/gtkcontainer.c:
14824         (gtk_container_add_with_args):
14825         (gtk_container_addv):
14826         (gtk_container_add): before adding a child to a conatiner, make sure
14827         it is (default) constructed, this is neccessary because under certain
14828         circumstances the child will get relized and mapped immediatedly, in
14829         which case it has to be constructed already.
14830
14831 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
14832
14833         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
14834         values > 1 as TRUE also.
14835
14836 1999-03-16  Tor Lillqvist  <tml@iki.fi>
14837
14838         * README.win32: New file.
14839                 
14840         * configure.in: Check for lstat.
14841
14842         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
14843         completeness.
14844
14845         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
14846
14847         * gtk/gtk.def: Removed CRs.
14848
14849         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
14850         ..\gdk\win32).
14851
14852         * gdk/win32/makefile.msc: Correct upwards relative paths.
14853         
14854 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
14855
14856         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
14857           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
14858           it was connecting a void function to expose_event and the int
14859           returning function to the draw signal
14860
14861 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
14862
14863         * configure.in:
14864         Use correct path to libgmodule.la when ref'ing uninstalled copy
14865         of glib.  (Already in stable branch, Bug #417)
14866
14867 1999-03-15  Tor Lillqvist  <tml@iki.fi>
14868
14869         Win32 merge and general portability stuff:
14870                 
14871         * acconfig.h,configure.in: Check for <sys/time.h>.
14872
14873         * gdk/win32: New directory (actually, been there for a while).
14874         
14875         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
14876         NATIVE_WIN32, and use these. Always case fold on Win32. No
14877         backslashed escapes on native Win32.
14878
14879         * gtk/{gtk.def,makefile.msc}: New files.
14880
14881         * gtk/Makefile.am: Add above new files.
14882         
14883         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
14884         instead of <strings.h>.
14885
14886         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
14887         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
14888         <unistd.h> appropriately.
14889
14890         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
14891         Use ABS() (from <glib.h>) instead of abs().
14892         
14893         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
14894         of gtk (and thus glib) headers, so that WIN32 will be
14895         defined. With MS C, include <direct.h> for mkdir prototype.
14896
14897         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
14898         some casts, needed by MS C.
14899
14900         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
14901         implemented).
14902
14903         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
14904         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
14905         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
14906
14907         * gtk/gtkmain.h: Mark variables for export/import on Win32.
14908                 
14909         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
14910         the event is not a hint, or its window is not the slider. Needed
14911         on Win32, at least.
14912
14913         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
14914         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
14915         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
14916         a subdirectory of the Windows directory as gtk system
14917         configuration directory.
14918
14919         * gtk/gtkselection.c: No chunks on Win32.
14920
14921         * gtk/gtksocket.c: Not implemented on Win32.
14922
14923         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
14924
14925         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
14926
14927         * gtk/maketypes.awk: Declare variables with a macro that expands to
14928         necessary export/import magic in the case of Win32.
14929                 
14930         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
14931
14932 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
14933
14934         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
14935         since those were meant only for gdki18n.h.  
14936         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
14937         for widechar tests.
14938         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
14939
14940 1999-03-13  Tor Lillqvist  <tml@iki.fi>
14941
14942         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
14943         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
14944
14945         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
14946         installed) to CFLAGS.
14947
14948         * gdk/Makefile.am: Add rules for gdkconfig.h.
14949
14950         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
14951         APIs.
14952
14953         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
14954         gdkx.h anyway when compiling for X11.
14955         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
14956         general): Merge in Win32 version.
14957         
14958         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
14959         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
14960         expansion (if we don't have HAVE_PWD_H), allow for drive
14961         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
14962         included code from Craig Setera's port to Win32 (the one that uses
14963         X11, and the cygwin dll), even if it probably will be abandoned.
14964
14965         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
14966         the user entered one herself.  This way one can complete *.h and
14967         don't get matches on any .help files, for instance.
14968         
14969 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14970
14971         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14972         font hash table, if we have a GdkFontPrivate entry for this font
14973         already, simply increment its reference count, provided by Olaf Dietsche
14974         <olaf.dietsche+list.gtk@netcologne.de>.
14975
14976         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
14977         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
14978
14979 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
14980
14981         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
14982         the number of calls to gdk_draw_point() (and thus to X) by
14983         clipping the points by hand.
14984
14985         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
14986         the clip parameter.
14987         (gtk_handle_box_paint): Only paint the handle if the expose area
14988         intersects it.
14989
14990 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
14991
14992         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
14993
14994 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
14995
14996         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
14997         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
14998
14999 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
15000
15001         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
15002          textmode (O_TEXT) for OS/2 version.
15003
15004 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
15005
15006         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
15007         GtkSpinButton, "input" and "output", to make the output more flexible.
15008         The user has to provide a mapping between adjustment->value and the
15009         output string (and vice versa, if the spin button is editable). 
15010         See testgtk for examples.
15011
15012 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
15013
15014         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
15015         new one.
15016         
15017         * configure.in: set gtk+ version to 1.3.0.