]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-10
fix use of magic constant "-1" in the aux info structure.
[~andy/gtk] / ChangeLog.pre-2-10
1 2001-03-31  James Henstridge  <james@daa.com.au>
2
3         * gtk/gtkwidget.c (gtk_widget_size_adjust): fix use of magic
4         constant "-1" in the aux info structure.
5
6 2001-03-30  Alexander Larsson  <alexl@redhat.com>
7
8         * gtk/gtkbutton.c (gtk_button_get_property):
9         * gtk/gtklabel.c:
10         Remove leaks.
11         
12         * gtk/gtkcontainer.c:
13         * gtk/gtkhscale.c:
14         * gtk/gtkhscrollbar.c:
15         * gtk/gtklayout.c:
16         * gtk/gtkmisc.c:
17         * gtk/gtkprogress.c:
18         * gtk/gtkprogressbar.c:
19         * gtk/gtkrange.c:
20         * gtk/gtktable.c:
21         * gtk/gtkviewport.c:
22         * gtk/gtkvscale.c:
23         * gtk/gtkvscrollbar.c:
24         * gtk/gtkwidget.c:
25         Property patches, based on patches from John Margaglione and Lee Mallabone.
26
27 Thu Mar 29 21:20:38 2001  Mike Kestner  <mkestner@ameritech.net>
28
29         * gtk/gtkspinbutton.c : added value_changed signal which proxies for the
30         adjustment. Cleaned redundant preconditions (spin != NULL). Added
31         inline API function docs.
32         (gtk_spin_button_new_with_range): New convenience constructor.
33         (gtk_spin_button_set_increments): New adjustment helper.
34         (gtk_spin_button_set_range): New adjustment helper.
35
36         * gtk/testgtk.c : added test of the new convenince constructor and
37         value_changed signals.
38
39 Thu Mar 29 20:20:38 2001  Jonathan Blandford  <jrb@redhat.com>
40
41         * gtk/gtktreemodel.c (gtk_tree_row_ref_reordered_callback): Now we
42         listen to the reorder signal.
43
44 Wed Mar 28 20:30:26 2001  Owen Taylor  <otaylor@redhat.com>
45
46         * gtk/gtkwidget.[ch] (_gtk_widget_get_aux_info): Add private function
47         to get the aux info structure fo the widget.
48
49         * gtk/gtklabel.c gtk/gtkscrolledwindow.c gtk/gtkwindow.c: Use
50         above function.
51
52         [ Patch from  Havoc Pennington  <hp@redhat.com> ]
53
54         * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): function
55         to get the size of the window manager frame, basically the same
56         code that gdk_window_get_root_origin() had
57         (gdk_window_get_root_origin): use gdk_window_get_frame_extents()
58
59         * gtk/gtkwindow.c (gtk_window_set_default_size): use
60         gdk_window_resize() if the window is realized and resizeable
61
62         * gdk/x11/gdkwindow-x11.c (gdk_window_set_geometry_hints): fix
63         typo so that setting gravity works
64
65         * gtk/gtkwindow.c (gtk_window_move_resize): don't ever use
66         allocation if auto_shrink is on, even if the default size
67         has not changed.
68
69         * gtk/gtkwidget.c (gtk_widget_render_icon): remove bogus
70         g_return_if_fail
71
72 Thu Mar 29 16:29:12 2001  Jonathan Blandford  <jrb@webwynk.net>
73
74         * gtk/gtkliststore.c (gtk_list_store_iter_changed): Massive
75         reordering/sorting work.  Now pretty much works.
76
77         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): Lots of work to make
78         reorder mostly work.  Still need to get the parity correct.
79
80         * gtk/gtktreeviewcolumn.c: Listen for "model" property changed
81         signal, so I can listen for the sort_column_changed signal so I
82         can change my "sort_indicator" property.  Cool.
83
84 Wed Mar 28 00:03:10 2001  Owen Taylor  <otaylor@redhat.com>
85
86         [ Patch from Havoc Pennington, hp@redhat.com ]
87
88         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c:
89         Add functions gdk_window_begin_resize_drag/begin_move_drag
90         to start resizing or moving a toplevel window. This
91         is done either using the _NET_WM_MOVERESIZE protocol,
92         or, if that isn't present, by emulation.
93
94         * gtk/gtkwindow.[ch]: Add functions gtk_begin_move/resize_drag
95         to export the above to GTK+-land.
96
97         * gtk/gtkstyle.[ch]: Add ->draw_resize_grip() paint func.
98         
99         * gtk/gtkwindow.c gdk/gdkwindow.[ch] (gdk_window_constrain_size):
100         Move this function into gdkwindow, since we need it
101         when implementing fallback resizing.
102
103         * gdk/x11/gdkwindow-x11.c: gdk_window_set_geometry_hints.
104         Fix typo when setting gravity.
105
106         * gtk/gtkstatusbar.[ch] (gtk_statusbar_set_has_resize_grip):
107         Add an optional (but on by default) resize grip for resizing 
108         the parent window.
109
110 01-03-29  Alexander Larsson  <alexl@redhat.com>
111
112         * gtk/gtktooltips.c (gtk_tooltips_event_handler):
113         Don't return TRUE from the event handler, that blocks all
114         event signals on the tooltip widget. Now you can press buttons
115         in toolbars again.
116
117 Wed Mar 28 19:20:43 2001  Owen Taylor  <otaylor@redhat.com>
118
119         * gtk/testtext.c (create_buffer): Add missing NULL on
120         valist.
121
122         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Fix
123         c-n-p problem with INCONSISTENT property.
124
125         [ Patch from Havoc Pennington  <hp@redhat.com> ]
126
127         * gtk/gtkentry.h (struct _GtkEntryClass): add same populate_popup
128         hook.
129
130         * gtk/gtktextview.h (struct _GtkTextViewClass): add populate_popup
131         signal as a hook for extending the default popup menu
132
133         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
134         use radio menu items for the input method menuitems
135
136         * gtk/gtkimcontextsimple.c (check_hex): do better validation of 
137         inserted unicode from Ctrl-Shift-hex input method
138
139         * gtk/gtktextbtree.c (_gtk_text_btree_insert): remove utf8
140         validatation here, already done at GtkTextBuffer level.
141
142         * gtk/gtkwidget.c (gtk_widget_class_init): add binding set, add
143         popup_menu run action signal and Shift+F10 and Menu keybindings.
144
145         * gtk/gtkentry.c: implement a default handler for popup_menu
146
147         * gtk/gtktextview.c: implement a default handler for popup_menu
148
149         * gtk/gtkmenu.c (gtk_menu_popup): select first item if popup is
150         from a key event
151         
152         * gtk/gtklabel.c: remove "trailer" cruft
153
154 Wed Mar 28 17:27:12 2001  Jonathan Blandford  <jrb@redhat.com>
155
156         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): new function to
157         handle reordering of trees.  Seems to mostly work w/ the exception
158         of the parity flag.
159
160         * gtk/gtktreeview.c (gtk_tree_view_reordered): handle "reordered"
161         signal.
162
163 Wed Mar 28 21:12:37 2001  Tim Janik  <timj@gtk.org>
164
165         * gtk/gtkwidget.h: c++ fixes.
166
167 Sun Mar 25 15:51:28 2001  Owen Taylor  <otaylor@redhat.com>
168
169         * gtk/gtksettings.c (gtk_settings_init): Fix use of uninitialized
170         memory.
171
172 Tue Mar 27 22:36:07 2001  Owen Taylor  <otaylor@redhat.com>
173
174         * gtk/gtkwidget.h gtk/gtkrange.h: Apply patch from 
175         Nils Barth fixing event return values. (#51041)
176
177         * gtk/gtkwidget.c: Fix some return values for default
178         functions.
179
180         * gtk/gtk[vh]scrollbar.c gtk/gtk[vh]range.c: Fix
181         return values for trough_keys functions.
182
183         * gtk/gtkwidget.h (struct _GtkWidgetClass): Fix return
184         value for add_accelerator (shoudl have been a void
185         return.)
186
187         * gtk/gtkcellrenderer.[ch]: gtkcellrenderertoggle.h:
188         Fix return type of EVENT.
189
190         * gtk/gtkmarshal.list gtk/gtktexttag.c: Make EVENT
191         signal return a boolean.
192
193 Tue Mar 27 22:07:44 2001  Jonathan Blandford  <jrb@webwynk.net>
194
195         * gtk/gtkliststore.c (gtk_list_store_sort): Fix arguments to
196         reordered signal.
197
198         * tests/testtreesort.c (main): fix spelling.
199
200 Tue Mar 27 20:55:29 2001  Jonathan Blandford  <jrb@redhat.com>
201
202         * gtk/gtkliststore.c: More work on implementing sortable
203         interface.
204
205 Mon Mar 26 15:48:45 2001  Owen Taylor  <otaylor@redhat.com>
206
207         * gtk/gtkwindow.c (gtk_window_list_toplevels): Don't
208         reference the widgets in the resulting list. (#11821)
209         This makes this consistent with gtk_container_children.
210
211         * gtk/gtkwindow.c gtk/gtkwidget.c: Fix up the two
212         uses of gtk_window_list_toplevels.
213
214 Mon Mar 26 15:26:17 2001  Owen Taylor  <otaylor@redhat.com>
215
216         * gtk/gtkimcontext.c (gtk_im_context_set_use_preedit): Add
217         a virtual function to set whether the IM context should use 
218         the preedit string. (#51922)
219         
220 Mon Mar 26 14:42:59 2001  Owen Taylor  <otaylor@redhat.com>
221
222         * gdk/gdkpango.h: Remove stale FIXME comment.
223
224 2001-03-26  Alexander Larsson  <alla@lysator.liu.se>
225
226         * gtk/gtkfilesel.c (gtk_file_selection_get_filename):
227         Fixed bug that returned NULL if a filename was selected.
228
229 2001-03-24  Havoc Pennington  <hp@pobox.com>
230
231         * gtk/gtkthemes.c (gtk_theme_engine_load): improve error message
232         to contain the word "theme"
233
234 2001-03-24  Havoc Pennington  <hp@pobox.com>
235
236         * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much
237         slower but finer-grained
238         (gtk_hsv_focus): get initial focus on the ring or triangle 
239         according to tab direction
240
241         * gtk/testgtk.c (main): get rid of weird sleep(1) on exit
242
243 2001-03-23  Havoc Pennington  <hp@pobox.com>
244
245         * gtk/gtkhsv.c: make this somewhat key-navigable
246
247         * gtk/gtkfontsel.c: mnemonics
248
249         * gtk/gtkgamma.c: mnemonics
250
251         * gtk/gtkcolorsel.c: add mnemonics to labels
252
253 2001-03-22  Havoc Pennington  <hp@pobox.com>
254
255         Applied big patch from Seth Lytle to fix event handler return
256         values, slightly modified.
257
258         * gtk/gtkcalendar.c (gtk_calendar_button_press): return TRUE if
259         handled.
260         (gtk_calendar_key_press): return TRUE for GDK_space triggers
261         select_day
262
263         * gtk/gtkclist.c (gtk_clist_button_press): return TRUE if handled
264         (gtk_clist_button_release): return TRUE if handled
265
266         * gtk/gtkcolorsel.c (mouse_release):
267         (palette_activate): 
268         (palette_press): 
269         (palette_new): 
270         (mouse_press): 
271         (get_screen_color): 
272         fixed return type (void to gboolean), return TRUE,
273         added GTK_SIGNAL_FUNC cast
274
275         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fixed return type
276         (void to gboolean), and return TRUE
277         (gtk_combo_button_release): changed return value to TRUE after
278         gtk_grab_add on combo->popwin
279
280         * gtk/gtkctree.c (gtk_ctree_button_press): return TRUE if triggers a
281         collapse or expand
282
283         * gtk/gtkcurve.c (gtk_curve_graph_events): return TRUE for
284         button/motion
285
286         * gtk/gtkdnd.c (gtk_drag_source_event_cb): return TRUE for button
287         press/release and motion that trigger act
288
289         * gtk/gtkentry.c (gtk_entry_button_release): return TRUE
290
291         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): return TRUE
292         for GDK_Return
293         
294         * gtk/gtklist.c (gtk_list_button_press): return TRUE mostly
295         (gtk_list_button_release): return TRUE if selection
296
297         * gtk/gtklistitem.c (gtk_list_item_button_press): return TRUE on
298         press
299
300         * gtk/gtkmenushell.c (gtk_menu_shell_button_press):
301         (gtk_menu_shell_button_release): chain parent_menu_shell retval
302
303         * gtk/gtknotebook.c (gtk_notebook_button_press): return FALSE if
304         nothing triggered
305         (gtk_notebook_button_release): return TRUE if we do anything
306
307         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): 
308         (gtk_spin_button_button_release): return TRUE or chained retval
309
310         * gtk/gtktext.c (gtk_text_button_press): 
311         (gtk_text_button_release): return TRUE
312         (gtk_text_key_press): remove redundant retval code
313         
314         * gtk/gtktreeitem.c (gtk_tree_item_button_press): return TRUE if button
315         and sensitive
316         (gtk_tree_item_subtree_button_click): changed type to gint, and return
317         TRUE if sensitive
318
319         * gtk/gtktooltips.c (gtk_tooltips_event_handler): deactivate implies 
320         return TRUE
321
322 2001-03-23  Havoc Pennington  <hp@redhat.com>
323
324         * gtk/testgtk.c: fix warnings
325
326         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): fix return value
327
328         * gtk/gtktextview.c: fix warnings
329
330         * gtk/gtktext.c (find_cursor_at_line): fix warning
331
332         * gtk/gtkselection.c (gtk_selection_notify): fix warning 
333
334         * gtk/gtkitemfactory.c (gtk_item_factory_menu_pos): fix signature
335         of this function
336
337         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
338         fix warning
339
340         * gtk/gtkhandlebox.c (gtk_handle_box_style_set): fix warning
341
342         * gtk/gtkfontsel.c: fix warning
343
344         * gtk/gtkcolorsel.c: fix warnings
345
346 2001-03-23  Havoc Pennington  <hp@redhat.com>
347
348         * gtk/gtkhandlebox.c: Apply property patch from Lee Mallabone
349
350         * gtk/gtkbox.c: Apply property patch from Lee Mallabone
351
352         * gtk/gtkcheckmenuitem.c: Apply property patch from Lee Mallabone,
353         and deprecated gtk_check_menu_item_set_show_toggle().
354         
355         * gtk/gtkbutton.c: Apply property patch from Lee Mallabone
356
357         * gtk/gtkfilesel.c: Apply property patch from Lee Mallabone
358
359         * gtk/gtkframe.c: Apply property patch from Lee Mallabone
360
361 2001-03-23  Havoc Pennington  <hp@redhat.com>
362
363         * gtk/gtktoolbar.c, gtk/gtkimcontext.c, gtk/gtklabel.c: fix up
364         some docs
365
366 Fri Mar 23 16:13:43 2001  Jonathan Blandford  <jrb@redhat.com>
367
368         * gtk/gtktreeviewcolumn.h (GtkCellDataFunc): Forgot to namespace
369         this.
370
371         * gtk/gtktreestore.c (gtk_tree_store_set_value): change from
372         set_cell to set_value
373
374         * gtk/gtkliststore.c (gtk_list_store_set_value): change from
375         set_cell to set_value
376
377 Thu Mar 22 19:27:34 2001  Jonathan Blandford  <jrb@redhat.com>
378
379         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
380         fix braino.
381         * gtk/gtktreesortable.[ch]: New interface to add cleanup sortable
382         support.
383
384         * gtk/gtktreeview.c: Addition of initial sortable support.
385
386         * gtk/gtktreestore.c: Addition of initial sortable support.
387
388         * gtk/gtkliststore.c: Addition of initial sortable support.
389
390         * gtk/gtkmarshal.list: yet another marshaller.
391
392         * gtk/gtktreedatallist.[ch]: shared code between the store models
393         for handling sorting headers.
394
395 2001-03-22  Havoc Pennington  <hp@redhat.com>
396
397         * gtk/gtkcontainer.c (gtk_container_set_focus_chain): 
398         (gtk_container_unset_focus_chain): Add ability to override the 
399         focus chain for a container explicitly
400
401 Thu Mar 22 13:01:44 2001  Tim Janik  <timj@gtk.org>
402
403         * gtk/gtklabel.[hc]: some cleanups, fixed mnemonic_widget handling,
404         added PROP_MNEMONIC_WIDGET.
405
406         * gtk/gtkwindow.c (gtk_window_activate_mnemonic): 
407         (gtk_window_remove_mnemonic): 
408         (gtk_window_add_mnemonic): fixed assertions.
409         (gtk_window_activate_mnemonic): constrain modifier checks to those
410         permitted by gtk_accelerator_get_default_mod_mask().
411         got rid of gtk_window_get_default_accel_group().
412
413         * gtk/gtkwidget.c (gtk_widget_real_activate_mnemonic): handle non
414         activatable widgets either by focussing or a warning.
415         added a signal accumulator to ::activate_mnemonic which stops the
416         emission once a handler returned TRUE.
417
418 2001-03-22  Havoc Pennington  <hp@pobox.com>
419
420         * gtk/gtktoolbar.c (gtk_toolbar_insert_stock): handle mnemonics in
421         the stock item label
422
423         * gtk/gtklabel.c: s/@gtk_func/gtk_func()/ in docs
424
425         * gtk/gtkstock.c (builtin_items): add mnemonics where missing
426
427         * demos/gtk-demo/*.c: Add mnemonics all over the place
428
429         * gtk/gtklabel.h: mark parse_uline deprecated
430
431 2001-03-21  Alexander Larsson  <alexl@redhat.com>
432
433         * gtk/gtkitemfactory.[ch]:
434         Add support for stock and normal imagemenuitems.
435         
436         * gtk/testgtk.c:
437         Add some tests for mnemonics, stock toolbars, stock
438         and image menuitems in itemfactory and gdk_window_scroll.
439
440 2001-03-21  Alexander Larsson  <alexl@redhat.com>
441
442         * gtk/gtkbutton.[ch]:
443         * gtk/gtkdialog.c:
444         Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and
445         removed accel_group argument. Renamed gtk_button_new_accel() to
446         gtk_button_new_with_mnemonic() and removed accel_group argument.
447
448         * gtk/gtkcheckbutton.[ch]:
449         New function gtk_check_button_new_with_mnemonic().
450
451         * gtk/gtkentry.c:
452         Override activate_mnemonic and just grab focus.
453
454         * gtk/gtkitemfactory.c:
455         Don't add menu uline accel group, instead use mnemonics support.
456
457         * gtk/gtklabel.[ch]:
458         New support for mnemonics.
459
460         * gtk/gtkmarshal.list:
461         Needed BOOLEAN:BOOLEAN for activate_mnemonic.
462
463         * gtk/gtkmenu.[c]:
464         * gtkmenushell.c:
465         Use mnemonics instead of accel groups for uline
466         support in menu items.
467         Removed gtk_menu_get_uline_accel_group() and
468         gtk_menu_ensure_uline_accel_group().
469
470         * gtk/gtkmenuitem.c:
471         Override activate_mnemonic to handle switching between
472         menu items if there are collisions.
473         
474         * gtk/gtknotebook.c:
475         Connect to activate_mnemonic on the tab_label, so that
476         activating it switches to that notebook page.
477
478         * gtk/gtkwidget.[ch]:
479         Add activate_mnemonic signal. New function
480         gtk_widget_activate_mnemonic() to emit it.
481         Default implementation does activate/grab_focus.
482
483         * gtk/gtkwindow.[ch]:
484         Add support for mnemonics in windows.
485         New functions:
486         gtk_window_add_mnemonic, gtk_window_remove_mnemonic,
487         gtk_window_activate_mnemonic, gtk_window_set_mnemonic_modifier
488
489         * gtk/testgtk.c:
490         Update to function name changes.
491         
492 2001-03-21  Alexander Larsson  <alexl@redhat.com>
493
494         * gtk/gtkimagemenuitem.[c]:
495         Add gtk_image_menu_item_new_from_stock()
496
497 Tue Mar 20 15:00:43 2001  Jonathan Blandford  <jrb@webwynk.net>
498
499         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
500         Fix buglet in meeting.
501
502 2001-03-19  Havoc Pennington  <hp@redhat.com>
503
504         * gtk/gtkiconfactory.c: Make GtkIconSource an opaque datatype, and
505         add a bunch of accessor functions. This is because we have
506         reasonable expectations of extending what fields it contains in
507         the future.
508
509         * gtk/gtkstyle.c (gtk_default_render_icon): adapt to icon source
510         changes
511
512         * gtk/gtkrc.c (gtk_rc_parse_icon_source): fix to use new
513         GtkIconSource   
514
515 Mon Mar 19 15:53:36 2001  Owen Taylor  <otaylor@redhat.com>
516
517         * gtk/gtkitemfactory.c gtk/testgtk.c: Handle quoting of / with \; properly
518         handle __ in paths, quote " and \n in gtk_item_factory_dump_items().
519
520         * gtk/gtkadjustment.[ch] gtk/gtkclist.c gtk/gtkhruler.c gtk/gtklayout.c 
521           gtk/gtklist.c gtk/gtkprogress.[ch] gtk/gtkprogressbar.[ch] gtk/gtkrange.[ch]
522           gtk/gtkruler.[ch] gtk/gtkscale.c gtk/gtkscrolledwindow.c gtk/gtkspinbutton.[ch]
523           gtk/gtktext.c gtk/gtktextview.c gtk/gtkvruler.c gtk/testgtk.c:
524         Change float to double everywhere with the exception of 0<->1.0 alignment
525         and GtkCurve.
526
527 2001-03-19  Tor Lillqvist  <tml@iki.fi>
528
529         * gdk/win32/gdkdrawable-win32.c
530         * gdk/win32/gdkimage-win32.c: Use correct casts in debugging
531         output.
532
533         * demos/testpixbuf-drawable.c: If GDK_WINDOWING_WIN32, include
534         gdkwin32.h.
535
536 2001-03-18  Tor Lillqvist  <tml@iki.fi>
537
538         * gdk/win32/gdkevents-win32.c (print_window_state): New function.
539         print_event_state, print_event): Use preprocessor macro to make
540         code more compact. Print also GDK_WINDOW_STATE events.
541         (synthesize_crossing_events): Remove the old #ifdeffed-out code.
542         
543         * gtk/gtk.def
544         * gtk/makefile.mingw.in: Update.
545
546         * gtk/gtkmain.h: Check for G_PLATFORM_WIN32, not only G_OS_WIN32,
547         to catch also Cygwin.
548
549 Sun Mar 18 01:15:30 2001  Tim Janik  <timj@gtk.org>
550
551         * gtk/gtkspinbutton.[hc]: added rc-style argument
552         GtkSpinButton::shadow_type.
553         removed spin_button->shadow_type, gtk_spin_button_set_shadow_type()
554         and ARG_SHADOW_TYPE as it doesn' make much sense to try to override
555         rc-style settings.
556
557         * gtk/gtkfixed.c: removed gtk_fixed_paint() (was unused).
558
559         * gtk/gtkwidget.c: quark cleanups.
560
561         * gtk/gtkrc.[hc]: added gtk_rc_scanner_new() to create an rc-file
562         scanner with appropriate configuration, renamed GtkRcStyleClass.clone
563         to create_rc_style() (we don't do cloning in standard OO sense).
564         added per rc style properties.
565         
566         * gtk/gtkstyle.[hc]: added code to retrive pspec conformant rc-style
567         property values and for caching those. some cleanups.
568         
569         * gtk/Makefile.am: -DG_DISABLE_CONST_RETURNS.
570         
571         * gtk/gtksettings.[hc]: new file for global rc-file properties
572         (at least currently, should get extended to support X properties
573         and other communication mechanisms).
574         
575         * gtk/gtkwidget.[hc]: added style property support:
576         (gtk_widget_class_install_style_property_parser): install style
577         property pspec with parser function for rc-file values other
578         than LONG, DOUBLE or STRING.
579         (gtk_widget_class_install_style_property): same as above without
580         parser (parsers are going to be needed quite infrequently).
581         (gtk_widget_style_get_property): retrive style property value.
582         (gtk_widget_style_get_valist): same as above with varargs support,
583         has NOCOPY semantics.
584         (gtk_widget_style_get): wrapper around gtk_widget_style_get_valist().
585
586 Fri Mar 16 18:24:53 2001  Jonathan Blandford  <jrb@redhat.com>
587
588         * demos/gtk-demo/main.c (row_activated_cb): modified to use
589         "row_activated" signal.
590
591         * gtk/gtktreeview.c (gtk_tree_view_row_activated): oh, the
592         stupidity.  Lets actually pass in the row with this signal...
593
594 Fri Mar 16 18:01:17 2001  Jonathan Blandford  <jrb@redhat.com>
595
596         * gtk/gtktreeviewcolumn.[ch]: s/GTK_TREE_COLUMN/GTK_TREE_VIEW_COLUMN
597
598         * gtk/gtktreeview.c (gtk_tree_view_row_activated): New signal.
599
600         * gtk/gtktreeview.c (gtk_tree_view_destroy): moved pretty much
601         everything into the ::destroy function, and freed a lot more.
602
603 2001-03-16  Havoc Pennington  <hp@redhat.com>
604
605         * gtk/gtkwidget.h (struct _GtkWidgetAuxInfo): change to use gint
606         instead of gint16, to avoid overflow issues, since sizes > 16-bit
607         are now allowed.
608
609 2001-03-16  Havoc Pennington  <hp@redhat.com>
610
611         * Applied patch from Nils Barth (bug # 51041) to 
612         replace "gint" with "gboolean" and 0/1 with TRUE/FALSE
613         in various places.
614
615 2001-03-15  Havoc Pennington  <hp@redhat.com>
616         
617         * gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): add varargs 
618         for properties to set on the tag.
619
620         * gtk/testtext.c: fixups to reflect create_tag change
621         
622         * gtk/gtktexttag.c (gtk_text_tag_set_property):
623         background/foreground stipple are objects, not boxed.
624
625         * demos/gtk-demo/textview.c: intellihancing
626
627 Fri Mar 16 11:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
628
629         * gtk/gtktreeview.c (gtk_tree_view_set_model): Fixed some
630         braindeadness spotted by Jamie Strachan <frostfreek@yahoo.com>.
631
632 2001-03-16  Alexander Larsson  <alexl@redhat.com>
633
634         * gdk/x11/gdkgeometry-x11.c (_gdk_window_process_expose):
635         Fix sign error with queued region translations.
636
637 2001-03-15  HideToshi Tajima  <tajima@happy>
638
639         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_set_cursor_location): 
640         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_location):
641         * gtk/gtkentry.c (update_im_cursor_location): 
642         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_location):
643         * gtk/gtkimcontext.h (struct _GtkIMContextClass): rename
644         set_cursor_pos to set_cursor_location in GtkInputContext class
645
646 Thu Mar 15 18:22:44 2001  Jonathan Blandford  <jrb@redhat.com>
647
648         * gtk/gtkcellrenderer.h: Changed prototype to allow for getting
649         the location of the cell relative to its area.
650         * gtk/gtkcell*: modified for above change
651         * gtk/gtktreeview.c: modified for above change.
652
653 Wed Mar 14 13:58:32 2001  Jonathan Blandford  <jrb@redhat.com>
654
655         * gtk/gtktreeview.c (gtk_tree_view_set_model): Ref the model.
656          (gtk_tree_view_finalize): actually unref the model.  Thanks to
657         Jamie Strachan <frostfreek@yahoo.com> for noticing this error.
658
659 2001-03-14  Havoc Pennington  <hp@redhat.com>
660
661         * gtk/gtkdata.h, gtk/gtkdata.c: Delete.
662         
663         * gtk/gtk.h: remove gtkdata.h
664
665         * gtk/Makefile.am: remove gtkdata
666         
667         * gtk/gtktext.c (gtk_text_set_adjustments): connect to "destroy"
668         not "disconnect" on the adjustments.
669         
670         * gtk/gtktooltips.h, gtk/gtktooltips.c: derive from GtkObject not
671         GtkData
672
673         * gtk/gtkadjustment.h, gtk/gtkadjustment.c: derive from GtkObject
674         not GtkData
675
676         * configure.in: handle case where X render exists, but Pango lacks
677         Xft support.
678
679 2001-03-15 Alexander Larsson  <alexl@redhat.com>
680
681         * gtk/gtktoolbar.[ch]:
682         New functions gtk_toolbar_set_icon_size and gtk_toolbar_insert_stock
683         to add stock items to toolbars.
684
685         * gtk/Makefile.am:
686         Remove ../gdk/gdkim.h from gdk_headers.
687
688 2001-03-15  Sven Neumann  <sven@gimp.org>
689
690         * gdk/gdkim.h: removed
691         
692         * gdk/gdkprivate.h
693         * gdk/x11/gdkim-x11.c: do not include gdkim.h 
694
695 2001-03-14  HideToshi Tajima  <tajima@happy.sunsoft.eng.sun.com>
696
697         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos):
698         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos):
699         * gtk/gtkimcontext.h (struct _GtkIMContextClass): add
700         set_cursor_pos() virtual method
701
702         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init):
703         (gtk_im_context_xim_set_cursor_pos): add implementation for
704         set_cursor_pos() method
705
706         * gtk/gtkentry.c (recompute_idle_func): set current cursor
707         position to input methods
708
709 Mon Mar 12 21:02:08 2001  Jonathan Blandford  <jrb@redhat.com>
710
711         * gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus
712         code a lot.
713
714         * gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use
715         g_mem_chunk.
716         (_gtk_tree_data_list_alloc): use g_mem_chunk.
717         (_gtk_tree_data_list_node_to_value): Fix to switch on
718         G_TYPE_FUNDAMENTAL.
719         (_gtk_tree_data_list_value_to_node): Fix to switch on
720         G_TYPE_FUNDAMENTAL.
721         (_gtk_tree_data_list_node_copy): Fix to switch on
722         G_TYPE_FUNDAMENTAL.
723
724 2001-03-12  Havoc Pennington  <hp@redhat.com>
725
726         * gtk/gtkwindow.c (gtk_window_class_init): Patch from John Margaglione 
727         to convert to new property API. Also, change default_width and
728         default_height get_property to return 0 as the flag value for
729         "unset"; -1 is not a valid value for these fields.
730
731 2001-03-12  Havoc Pennington  <hp@redhat.com>
732
733         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an
734         enum with registration for icon sizes, instead of strings.
735
736         * gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, 
737         gtkwidget.c: Fix to reflect GtkIconSize
738         
739 2001-03-12  Alexander Larsson  <alexl@redhat.com>
740
741         Make GtkFB compile and link.
742         
743         * gdk/linux-fb/gdkdrawable-fb2.c:
744         window->mapped to GDK_WINDOW_IS_MAPPED(). 
745         
746         * gdk/linux-fb/gdkwindow-fb.c:
747         window->mapped to GDK_WINDOW_IS_MAPPED(). 
748         Added gdk_window_shape_combine_region.
749         Added assorted placeholders for unimplemented new GdkWindow API calls.
750
751 2001-03-12  Alexander Larsson  <alexl@redhat.com>
752
753         * gtk/gtkfilesel.c:
754         Add more test when converting filenames from/to utf-8.
755         Don't allow entering text in the filename entry which isn't allowed in
756         a filename. Just beep instead.
757
758 2001-03-12  Alexander Larsson  <alexl@redhat.com>
759
760         * gtk/gtkclist.c:
761         Scroll using gdk_window_scroll(). Don't wait for exposes.
762         Move the column headers in an order that makes them flash less.
763
764 2001-03-10  Hans Breuer  <hans@breuer.org>
765
766         * gdk/gdk.def : updated
767
768         * gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
769         to offseting the clip_mask at the right place
770
771         * gdk/win32/gdkwindow-win32.c : don't create background brushes
772         for all the gdkClasses, especially not for the input_only case.
773         Otherwise flickering wont be avoidable, because we don't get
774         WM_ERASEBKGND message for these windows.
775
776         * gdk/win32/gdkevents-win32.c : initialize event->expose.region
777         and fixed massive redraw problems apparently triggered by Alexanders 
778         recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
779         but it seems to work quite well :-)
780
781         * gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose
782         prototype
783
784 Sat Mar 10 12:15:31 2001  Jonathan Blandford  <jrb@redhat.com>
785
786         * gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
787         (gtk_list_store_set_cell): Fix a stupid typo.
788
789 Fri Mar  9 20:36:21 2001  Jonathan Blandford  <jrb@redhat.com>
790
791         * gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
792         select_all not work if you're in SINGLE mode (it doesn't make that
793         much sense, anyway.)
794
795         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
796         handle types more sanely.
797         (_gtk_tree_data_list_value_to_node): handle types more sanely.
798         (_gtk_tree_data_list_node_copy): handle types more sanely.
799
800         * gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
801         GValue better. Converts the type as well.
802
803         * gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
804         GValue better. Converts the type as well.
805
806 Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
807
808         * gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
809         gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c 
810         gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
811         gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
812
813         * gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
814         gdk_im/gdk_ic.
815
816 2001-03-09  Hans Breuer  <hans@breuer.org>
817
818         * gdk/gdk.def : updated
819
820         * gdk/win32/gdkevents-win32.c : don't ask input_only windows
821         for their palette
822
823         * gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
824         removing
825
826         * gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
827         removing and implemented Havoc's GdkWindow state functions; 
828         stick/unstick only as no-op, cause I don't know how to emulate 
829         on win32 ...
830
831         * gtk/gtk.def : updated
832
833         * gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
834
835         * gtk/gtktypeutils.c : #include <string.h>
836
837         * gtk/gtkwindow.h : declare gtk_window_set_decorated ()
838
839 Fri Mar  9 09:31:55 2001  Tim Janik  <timj@gtk.org>
840
841         * gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with
842         GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object,
843         not a boxed.
844
845 2001-03-09  Alexander Larsson  <alexl@redhat.com>
846
847         * docs/Changes-2.0.txt:
848         Document expose event->region change and that gtk_widget_event
849         doesn't allow passing expose events.
850
851         * gdk/gdkevents.h:
852         Add region to expose event.
853         
854         * gdk/gdkevents.c:
855         Handle event->region in gdk_event_copy() and gdk_event_free().
856
857         * gdk/gdkwindow.c (gdk_window_process_updates_internal):
858         Generate expose_event->region when creating expose events.
859
860         * gdk/x11/gdkevents-x11.c:
861         Generate expose events with regions when translating X events.
862
863         * gtk/gtkcontainer.[ch]:
864         Default expose handler that propagates expose events to NO_WINDOW
865         children. New function gtk_container_propagate_expose()
866
867         * gtk/gtkwidget.[ch]:
868         Moved gtk_widget_event implementation to gtk_widget_event_internal.
869         gtk_widget_event calls gtk_widget_event_internal but doesn't allow
870         expose events. New function gtk_widget_send_expose() to send expose
871         events. New function gtk_widget_region_intersect() to calculate
872         window/region intersections.
873         
874         * gtk/gtkmain.c (gtk_main_do_event):
875         Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
876         Use gtk_widget_send_expose() to send expose events.
877         
878         * gtk/gtkbin.c:
879         * gtk/gtkbox.c:
880         * gtk/gtkfixed.c:
881         * gtk/gtkimagemenuitem.c:
882         * gtk/gtklist.c:
883         * gtk/gtkpacker.c:
884         * gtk/gtktable.c:
885         * gtk/gtktree.c:
886         Remove expose handler, using the default container implementation
887         instead.
888         
889         * gtk/gtkbutton.c:
890         * gtk/gtkcheckbutton.c:
891         * gtk/gtkeventbox.c:
892         * gtk/gtkfixed.c:
893         * gtk/gtkhandlebox.c:
894         * gtk/gtklayout.c:
895         * gtk/gtklistitem.c:
896         * gtk/gtkmenu.c:
897         * gtk/gtkmenubar.c:
898         * gtk/gtkmenuitem.c:
899         * gtk/gtknotebook.c:
900         * gtk/gtkoptionmenu.c:
901         * gtk/gtkpaned.c:
902         * gtk/gtkscrolledwindow.c:
903         * gtk/gtktogglebutton.c:
904         * gtk/gtktoolbar.c:
905         * gtk/gtktreeitem.c:
906         * gtk/gtkviewport.c:
907         Chain expose handler to parent class handler. Use
908         gtk_container_propagate_expose() to propagate exposes.
909
910         * gtk/gtkclist.c (check_exposures):
911         * gtk/gtktext.c (process_exposes):
912         Use gtk_widget_send_expose instead of gtk_widget_event.
913
914 Thu Mar  8 19:40:28 2001  Jonathan Blandford  <jrb@redhat.com>
915
916         * gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function.
917
918 Thu Mar  8 19:18:27 2001  Jonathan Blandford  <jrb@redhat.com>
919
920         * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually
921         unref the nodes.   Fixes bug #50058.
922
923         * gtk/gtktreemodel.c (gtk_tree_model_ref_node): change
924         "::ref_iter" to "::ref_node".
925         (gtk_tree_model_unref_node): change "::unref_iter" to
926         "::unref_node". Fixes bug #50064.
927
928 Thu Mar  8 17:40:09 2001  Jonathan Blandford  <jrb@redhat.com>
929
930         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add
931         support for invisible cells.
932          (gtk_tree_view_bin_expose): ditto
933
934 Thu Mar  8 16:36:00 2001  Jonathan Blandford  <jrb@redhat.com>
935
936         * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
937         on gobjects.
938
939         * tests/testtreefocus.c (main): New test file.
940
941         * tests/testtreeview.c: update to latest glib changes.
942
943         * tests/testtreecolumns.c: update to latest glib changes.
944
945 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
946
947         * gtk/testgtk.c: re-enabled event watcher emission hooks.
948
949 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
950
951         * *.c: added accumulator data argument to g_signal_newc()
952         functions.
953
954         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
955         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
956         * gtk/treestoretest.c (make_window):
957         s/g_signal_connect/g_signal_connectc/.
958
959         * gtk/gtktextbuffer.c: completed signal arg fixups,
960         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
961
962 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
963
964         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
965         G_CONST_RETURN.
966
967         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
968         ::hierarchy-changed signal when a widget changes
969         from anchored to unanchored or vice versa.
970         (anchored means 
971          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
972         Use a private flag to keep track of this efficiently.
973
974 2001-03-07  Havoc Pennington  <hp@redhat.com>
975
976         * gtk/testgtk.c (create_spins): uglify so that size request gets
977         tested.
978
979         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
980         request on values for upper/lower, completes #6152
981
982 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
983
984         * Makefile.am: Remove gtk-config-2.0 again.
985         (Grrrr, pkg-config. And stops make loops.)
986
987 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
988
989         * gtk/gtksignal.[hc]: removed old emission hook API.
990         
991         * docs/Changes-2.0.txt: fixed sections.
992         
993         * gtk/gtktextbuffer.c: signal arg fixups.
994
995 2001-03-07  Havoc Pennington  <hp@redhat.com>
996
997         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
998
999         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
1000         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
1001         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
1002         validation and the redraw which is higher priority than the
1003         validation.
1004
1005 2001-03-07  Havoc Pennington  <hp@redhat.com>
1006
1007         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
1008         (gtk_entry_set_property): remove trailer
1009
1010         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
1011         (gtk_entry_get_width_chars): new functions, to set size request to 
1012         a given number of characters
1013
1014         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
1015
1016         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
1017         (gtk_dialog_get_has_separator): new function
1018         (run_delete_handler): fix to not emit "response" signal
1019         because we already did in the delete event handler installed
1020         at dialog creation time.
1021         
1022         * gtk/gtkdialog.h: add a has_separator property,
1023         add GTK_DIALOG_NO_SEPARATOR flag
1024
1025 2001-03-07  Havoc Pennington  <hp@redhat.com>
1026
1027         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
1028         off decorations for a window.
1029
1030         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
1031         changes
1032
1033         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
1034         to get location of PangoLayout inside the label, closes #51198
1035
1036         * gtk/testgtk.c (create_bbox): fix up button box usage
1037
1038         * gtk/testcalendar.c (create_calendar): fix up button box usage
1039
1040         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
1041
1042         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
1043
1044         * gtk/gtkhbbox.h: deprecations
1045
1046         * gtk/gtkvbbox.h: deprecations
1047
1048         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
1049         emulate deprecated gtk_button_box_get_spacing
1050
1051         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
1052         the "set global default" functions
1053         (struct _GtkButtonBox): remove "spacing" field, use the one from 
1054         GtkBox base class
1055
1056         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
1057
1058         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
1059         render the icon, return the missing image icon.
1060
1061         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
1062         image icon if the load fails.   
1063
1064         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
1065         when no image is found; should be the Netscape "missing image"
1066         icon eventually but for now is a random image
1067
1068         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
1069         role for the session manager
1070
1071         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
1072
1073         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
1074         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
1075
1076         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
1077
1078 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
1079
1080         * gtk/*.c: marshaller fixes.
1081         
1082         * gtk/gtkmarshal.list: extreme cleanup.
1083
1084         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
1085         param spec for now.
1086
1087         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
1088         where appliable.
1089
1090         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
1091         special cased autogenerated boxed types from gtktypebuiltins_ids.c
1092         which are not reference counted:
1093         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
1094         PangoFontDescription, GtkTreeIter and GtkTreePath.
1095
1096 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
1097
1098         * gtk/gtktreeselection.h: 
1099         * gtk/gtktreemodel.c:
1100         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
1101         file should be included directly, and gobject/gmarshal.h
1102         as well as gtk/gtkmarshal.h even can't be included directly.
1103
1104         * Makefile.am: grr, install gtk-config-2.0.
1105
1106         * gtk/testgtk.c:
1107         * gtk/simple.c:
1108         * gtk/gtkmenu.c:
1109         * gtk/gtkitemfactory.c: use g_object_connect() instead of
1110         passing "*signal*::*" args to gtk_widget_set().
1111         
1112         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
1113         
1114         * gtk/*.c: removed trailer arg from property setters and getters.
1115         macro fixups.
1116
1117 2001-03-07  Alexander Larsson  <alexl@redhat.com>
1118
1119         * gtk/gtklabel.c (set_markup): Removed warning
1120
1121 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
1122
1123         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
1124         field to allow you to hide cell renderers.
1125
1126         * gtk/gtkcellrenderer.c: Add support for invisible cells.
1127
1128         * gtk/gtktreeview.c: Add support for invisible cells.
1129
1130 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
1131
1132         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
1133         Add "clicked" signal back to columns.
1134
1135         * ChangeLog: remove conflict markers.
1136
1137 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
1138
1139         * gtk/gtkbutton.c: Add animation of activation by, on 
1140         activate, pressing the button, and adding a timeout that 
1141         releases the button after 250ms or on key release and
1142         emits ::clicked. (#51501)
1143
1144         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
1145         action area, we connect to ::clicked instead of ::activate
1146         so the dialog stays up through the animation.
1147
1148 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
1149
1150         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
1151         check the ignore_enter flag for the menu shell that
1152         the item is actually a child of, not for attached
1153         submenus. (#51536)
1154
1155 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
1156
1157         * gtk/gtkmain.c (gtk_propagate_event): Only do special
1158         special key-press grab handling for widgets within
1159         GtkWindows. Otherwise, fall through to normal case.
1160
1161         This prevents key events being sent twice to GtkInvisible
1162         widgets, which can cause all sorts of mischief.
1163
1164 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
1165
1166         * gtk/gtkmain.c (gtk_propagate_event): When a grab
1167         widget is in effect, give the grab widget a first
1168         crack at KEY_PRESS/RELEASE events. (#424)
1169
1170 2001-03-06  James Henstridge  <james@daa.com.au>
1171
1172         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
1173         offset for the window_state_event to point at window_state_event
1174         rather than no_expose_event.
1175
1176 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
1177
1178         * gtk/gtkimmodule.h: fix busted /* comment */
1179
1180 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
1181
1182         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
1183         object properties.
1184
1185 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
1186
1187         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
1188         add object properties.
1189
1190         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
1191         to add object properties.
1192
1193         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
1194         object properties.
1195
1196         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
1197         add object properties.
1198
1199         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
1200         object properties.
1201
1202 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
1203
1204         * gtk/gtktreemodel.c: renamed "child_toggled" to
1205         "has_child_toggled".
1206
1207         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
1208         handle new signal name.
1209
1210         * gtk/gtktreestore.c: Updated to handle new signal name.
1211         * gtk/gtklisttore.c: Updated to handle new signal name.
1212         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
1213
1214 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1215
1216         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
1217         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
1218
1219 2001-03-05  Michael Natterer  <mitch@gimp.org>
1220
1221         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
1222         pixbuf-engine coincidentially also failed to make one of it's
1223         parent_class pointers static, causing overwriting of GtkLabel's
1224         parent_class pointer in pixbuf_style_class_init().
1225         (Will commit the fix to the pixbuf-engine too).
1226
1227 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1228
1229         * gdk/gdkwindow.h:
1230         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
1231         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
1232         gdk_window_set_icon_list for net wmspec functionality.
1233
1234         * gdk/x11/gdkwindow-x11.c:
1235         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
1236         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
1237         gdk_window_set_icon_list.
1238         Added gdk_wmspec_change_state helper function and used it in the code.
1239         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
1240
1241         * gtk/gtkdialog.c (gtk_dialog_init):
1242         Set GDK_WINDOW_TYPE_HINT_DIALOG.
1243
1244         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
1245         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
1246
1247         * gtk/gtkwindow.c:
1248         new function gtk_window_set_type_hint.
1249         On realize, set type hint and modal hint.
1250
1251         * gtk/gtkwindow.h:
1252         Added type_hint field and gtk_window_set_type_hint.
1253
1254 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1255
1256         * gtk/gtklabel.[ch]:
1257         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
1258         New function gtk_label_get_accel_keyval () to get the underline accelerator
1259         of the label. Setting the label pattern overrides other attributes.
1260
1261 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
1262
1263         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
1264         Added missing initializers to gtk_rc_style_init().
1265
1266 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
1267
1268         * gtk/gtktextview.c: fixed bug #51097 about setting 
1269         gtk_text_view_set_border_window_size() if the widget is 
1270         already realized.
1271
1272 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
1273
1274         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
1275
1276         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
1277         comment. Won't do to have duplicated doc comments between
1278         the platform subdirs.
1279
1280 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
1281
1282         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
1283           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
1284
1285         Detectable auto-repeat - make a repeating key generate
1286         press/press/press/release instead of press/release pairs.
1287
1288         If we have Xkb and XkbSetDectableAutoRepeat supports
1289         that, we do it that way. Otherwise, when we get
1290         a release event, we check ahead with XPending to see
1291         if the next key is a KeyPress with the same keycode
1292         and timestamp. (Not 100% reliable, but pretty close.)
1293           
1294 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
1295         
1296         * gtk/gtkmain.c (gtk_propagate_event): Only do special
1297         special key-press grab handling for widgets within
1298         GtkWindows. Otherwise, fall through to normal case.
1299  
1300         This prevents key events being sent twice to GtkInvisible
1301         widgets, which can cause all sorts of mischief.
1302  
1303 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
1304  
1305         * gtk/gtkmain.c (gtk_propagate_event): When a grab
1306         widget is in effect, give the grab widget a first
1307         crack at KEY_PRESS/RELEASE events. (#424)
1308  
1309 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
1310
1311         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
1312         to extend the selection. (Roughly based on patch
1313         from Jay Cox, #50939)
1314
1315         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
1316         to properly handle previous GDK_BUTTON_PRESS. 
1317         (Patch from Jay Cox, #50938)
1318
1319         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
1320         '\0' back along with the deleted text. (#51148)
1321
1322 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
1323
1324         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
1325         the group when extracting it from the X keyboard event.
1326
1327         * modules/input/Makefile.am modules/input/imipa.c: 
1328         Simple module for entering IPA. (Do we need a 
1329         gtk-stupid-input-tricks CVS module?)
1330
1331 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
1332
1333         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
1334         const.
1335
1336         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
1337
1338         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
1339         is no focus widget for the dialog currently, grab the focus as well
1340         as the default.
1341
1342         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
1343         the action area's children to iterate through, not the
1344         dialog's children.
1345
1346 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
1347
1348         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
1349         Add plug-socket tests. (Won't work worth a darn until I commit
1350         the rest of the plug-socket changes, but no reason these
1351         can't go into CVS now.)
1352
1353 2001-03-02  Havoc Pennington  <hp@redhat.com>
1354
1355         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
1356         _gdk_region_get_xrectangles()
1357
1358         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
1359
1360         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
1361
1362         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
1363         function, contributed by Ron Steinke    
1364
1365         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
1366         gdk_net_wm_supports
1367
1368         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
1369         New function, contributed by Ron Steinke
1370
1371         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
1372         used to line up the text in the entry when using the entry for
1373         editable sheet cell hacks
1374
1375         * gtk/testgtk.c (create_entry): test the activate_default setting
1376         on GtkEntry
1377
1378         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
1379         cause the entry to activate the default button for a dialog when 
1380         activated
1381         (gtk_entry_get_activates_default): new function
1382
1383 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
1384
1385         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
1386         Hwang to move call to sync_selection() up a few lines
1387         to before the row list is modified, to fix crash when
1388         removing rows in the undo_selection list.
1389
1390         (Test case provided by Daniel Elstner:
1391
1392         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
1393
1394 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
1395
1396         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
1397         of tree->root_tree in parent_set rather than _map(), 
1398         fixing #50892 in a bit better manner.
1399
1400 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
1401
1402         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
1403
1404 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
1405
1406         * gtk/gtkstyle.c : Remove duplicate fwd decl for
1407         gtk_default_draw_shadow.
1408
1409 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
1410
1411         * gdk/gdkimage.c (gdk_image_new): Remove excess 
1412         warning, make warnings more verbose, treat a error
1413         in shmat as permanent, and don't try again.
1414         (#51163, Ed Randall.)
1415
1416 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
1417
1418         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
1419         delay for the first click before starting to scroll.
1420         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
1421
1422         * gtk/gtktext.c: GtkText should have I-beam cursor. 
1423         (based on gtk-enf-990513-1.patch, Eric Fisher.)
1424
1425 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
1426
1427         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
1428         cleanup to remove some references to unused
1429         ->xoffset, ->yoffset.
1430
1431 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
1432
1433         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
1434         mask. (#51039, fix from Martin Maierhofer)
1435
1436 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
1437
1438         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
1439         for unshifted + and shifted = for non-us keyboards.
1440         Make <Control>+ and <Control>- work as well as 
1441         <Control>KP_Plus, <Control>KP_Minus for recursive
1442         open/close.  (#2682, René Seindal)
1443
1444 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
1445
1446         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
1447         the active menu item before deactivating the menu,
1448         so gtk_menu_popdown doesn't change the history. (#50964)
1449         
1450 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
1451
1452         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
1453         draw lines with text_gc rather than black_gc.
1454         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
1455
1456 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
1457
1458         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
1459         Move handling of buttons fully in gtktreeviewcolumn.  This code is
1460         less interrelated then it was, but it still requires the
1461         GtkTreeView to map it.
1462
1463         * test/testtreecolumn.c: Now I can add a column to one view,
1464         remove it, add it to the another view, remove it, then re-add it
1465         to the first.  Nifty.
1466
1467 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
1468
1469         * docs/tutorial/gtk-tut.sgml: Minor corrections
1470
1471 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
1472
1473         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
1474         GtkRowReference.
1475
1476 2001-02-28  Havoc Pennington  <hp@redhat.com>
1477
1478         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
1479         draw_default
1480         (gtk_widget_draw_focus): remove this function; we could instead
1481         make it just gtk_widget_draw(), but in most cases I think the
1482         result would be broken user code, so think it's better to have
1483         that code not compile and get fixed
1484         (gtk_widget_draw_default): ditto
1485
1486         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
1487         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
1488         
1489         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
1490         widgets lose/get the default, instead of calling draw_default
1491         
1492         * docs/Changes-2.0.txt: note about all this
1493
1494         Then fixed every widget in GTK, I won't list all the filenames.
1495
1496 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
1497
1498         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
1499         _gtk_tree_row_reference_deleted.
1500         (inserted_callback): Proxy out to
1501         _gtk_tree_row_reference_inserted.
1502         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
1503         get around signal emission ordering problem.
1504
1505         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
1506         fix to work with SINGLE 
1507         (_gtk_tree_selection_internal_select_node): Major sanitization on
1508         selections.  SINGLE now seems to work.
1509
1510         * tests/Makefile.am: add testtreecolumn.c:
1511
1512         * tests/testtreecolumn.c: New test.  Mostly points out selection
1513         bugs currently, but will test columns later.
1514
1515         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
1516         selection bug.  I hate touching this code -- it's scary.
1517
1518 2001-02-26  Havoc Pennington  <hp@redhat.com>
1519
1520         * gtk/testgtk.c: test the window state stuff
1521
1522         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
1523         window come to the user's attention as if it were just created
1524         (gtk_window_iconify): new function
1525         (gtk_window_deiconify): new function
1526         (gtk_window_stick): new function
1527         (gtk_window_unstick): new function
1528         (gtk_window_maximize): new function
1529         (gtk_window_unmaximize): new function
1530
1531         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
1532
1533         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
1534
1535         * gdk/x11/gdkevents-x11.c: create window state events when
1536         appropriate
1537         (gdk_wmspec_supported): new function
1538
1539         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
1540         iconification before showing the window
1541         (gdk_window_deiconify): new function
1542         (gdk_window_stick): new function
1543         (gdk_window_unstick): new function
1544         (gdk_window_maximize): new function
1545         (gdk_window_unmaximize): new function
1546
1547         * gdk/gdkwindow.c: store the window state in the window; 
1548         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
1549         window->mapped.
1550         (gdk_window_get_state): return the current window state
1551
1552         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
1553         (gdk_event_get_state): handle GDK_WINDOW_STATE
1554         (gdk_synthesize_window_state): function to create the window state
1555         events
1556
1557         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
1558         event, for changes to "window state" such as maximized, sticky, 
1559         etc.
1560         
1561         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
1562         focuses a window
1563
1564         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
1565         finds out if we support a given WM spec hint
1566
1567 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
1568
1569         * docs/faq/gtk-faq.sgml: New question re memory leaks.
1570
1571 2001-02-25  Hans Breuer  <hans@breuer.org>
1572
1573         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
1574         cause we want to loose those prototypes only in the latter case
1575
1576         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
1577         GdkPixmapImplWin32 because it itsn't derived from it. Use the
1578         impl member variable instead
1579
1580         * gtk/gtk.def : updated
1581
1582         * gtk/gtklist.c : 
1583         * gtk/gtkmenus.c : include <string.h> for memset ()
1584
1585         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
1586         for everthing built here, but for gtk-x.x.dll only. This solves
1587         problem of indifferent gtk type definitions
1588
1589 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@webwynk.net>
1590
1591         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
1592
1593 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
1594
1595         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
1596         column that is exposed.
1597
1598         (_gtk_tree_view_update_size): Changed name from set_size, and
1599         changed function to do more work, and not force people calling it
1600         to figure out the size.  Simplifies a lot of code elsewhere.
1601
1602 2001-02-23  Alexander Larsson  <alexl@redhat.com>
1603
1604         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
1605         return solid masks for xpms that have no transparent color.
1606         This makes the ..._create_from_xpm... API backwards
1607         compatible.
1608
1609 2001-02-23  Tor Lillqvist  <tml@iki.fi>
1610
1611         * README.win32: Update. Mention the gtk-1-3-win32-production
1612         branch.
1613
1614         * gdk/win32/bdfcursor.c: New file. A program that generates
1615         xcursors.h. Thanks to Stefan Ondrejicka.
1616
1617         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
1618         compact format.
1619
1620         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
1621
1622         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
1623         function, uses xcursors.h.
1624         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
1625         cursor from inline data instead of using LoadCursor() to generate
1626         it from a resource.
1627
1628         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
1629         event, must check the Windows message for mouse button state, as
1630         the GDK event state might not have been built if it is
1631         undelivered. Remove one goto.
1632
1633         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
1634         SetCursor() if the current cursor as returned by GetCursor() is
1635         the window's previous cursor. The ChildWindowFromPoint() test
1636         apparently didn't work correctly.
1637
1638         * gdk/win32/rc/*.cur: Remove.
1639
1640         * gdk/win32/rc/gdk.rc.in: Remove cursors.
1641
1642         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
1643
1644         * gtk/makefile.{mingw,msc}.in: Updates.
1645
1646 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
1647
1648         * gtk/gtktreemodel.h: add functions for signal emission.
1649
1650         * gtk/gtktreestore.c: move to use above functions instead of
1651         g_signal_emit.
1652
1653         * gtk/gtkliststore.c: ditto
1654
1655 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
1656
1657         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
1658         GObject instead of GtkObject.
1659
1660         * gtk/gtkliststore.c: ditto.
1661
1662         * gtk/gtktreemodelsort.c: ditto.
1663
1664         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
1665         GtkTreeModelIface, instead of in each model.
1666
1667 2001-02-21  Havoc Pennington  <hp@redhat.com>
1668
1669         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
1670         unbreak this function
1671
1672         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
1673         properties
1674
1675         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
1676         properties
1677
1678         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
1679         properties
1680
1681         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
1682         mean unset the max length
1683
1684 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
1685
1686         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
1687         Changed name to be set_cell_data_func to make it clear what
1688         the functino does.  Close bug #51069.
1689
1690 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
1691
1692         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
1693         have memory actually freed.  Keeps box running longer.
1694
1695 2001-02-21  Alexander Larsson  <alexl@redhat.com>
1696         
1697         * gtk/gtkseparatormenuitem.[ch]:
1698         Added new menu separator item. The drawing and size handling
1699         is still done in GtkMenuItem, but the API is a bit more sane.
1700         
1701         * gtk/Makefile.am:
1702         Add gtkseparatormenuitem.[ch].
1703
1704         * gtk/gtk.h:
1705         Add gtkseparatormenuitem.h.
1706         
1707         * gtk/gtkentry.c:
1708         * gtk/gtkmenufactory.c:
1709         * gtk/gtktextview.c:
1710         Use the new API for menu separators.
1711         
1712         * demos/gtk-demo/menus.c (create_menu):
1713         Add some GtkSeparatorMenuItem demo code.
1714
1715 2001-02-20  Havoc Pennington  <hp@redhat.com>
1716
1717         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
1718         Lee Mallabone
1719
1720         * gtk/gtkarrow.c: Convert to new property API, patch from 
1721         Lee Mallabone
1722
1723 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
1724
1725         * tests/testtreeview.c (toggled_callback): fix to reflect change
1726         in GtkTreeModelStore.
1727
1728 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
1729
1730         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
1731         function to create an icon set from a pixbuf.
1732
1733 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1734
1735         * gtk/gtkcellrenderertext.[ch]:
1736         Add a "markup" property.
1737
1738         * gtk/treestoretest.c:
1739         Use the markup property, remove some leftover stuff from
1740         GtkTreeModelMapping.
1741
1742 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1743
1744         * gtk/gtklabel.c (gtk_label_set_selectable):
1745         Queue a redraw if the selectable setting was changed.
1746
1747 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1748
1749         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
1750         Actually copy the whole gc, not just the public parts.
1751         
1752         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
1753         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
1754         labels.
1755
1756 2001-02-19  Havoc Pennington  <hp@pobox.com>
1757
1758         * gdk/gdkwindow.c: docs
1759
1760         * gdk/gdkrgb.c: docs
1761
1762         * gdk/gdkregion-generic.c: docs
1763
1764         * gdk/gdkgc.c (gdk_gc_set_values): docs
1765
1766         * gdk/gdkdraw.c: docs
1767
1768         * gdk/gdkdrawable.h: deprecate drawable get/set data
1769
1770 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
1771
1772         * demos/gtk-demo/dialog.c: Add simple new demo.
1773
1774 2001-02-19  Havoc Pennington  <hp@redhat.com>
1775
1776         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
1777         insert_child_anchor signal, bug #50245
1778
1779         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
1780         from create_child_anchor, so the anchor is passed in
1781
1782         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
1783         (_gtk_widget_segment_new): have the child anchor object passed in, 
1784         instead of creating it.
1785
1786         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
1787         to gtk_text_buffer_get_modified
1788
1789 2001-02-19  Havoc Pennington  <hp@redhat.com>
1790
1791         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
1792         changed GLib without fixing GTK
1793
1794         * gtk/gtkrange.h: Rename all the stupid implementation detail 
1795         functions to have an underscore in front. Most of them should 
1796         probably just go away, but for starters don't export them.
1797         Bug #50482
1798
1799 2001-02-19  Havoc Pennington  <hp@redhat.com>
1800
1801         * gdk/gdkcolor.h: test was backward, so deprecated functions were
1802         excluded by default
1803
1804         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
1805         clean up the old code a bit
1806
1807         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
1808         inconsistent state
1809
1810         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
1811         draw inconsistent state
1812
1813         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
1814         (create_menu): add inconsistent test
1815
1816         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
1817         new function
1818         (gtk_check_menu_item_get_inconsistent): new function
1819         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
1820         state (using etched in for now)
1821
1822         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
1823         draw inconsistent state
1824
1825         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
1826         function, used when the user has selected a range of stuff in
1827         different states
1828         (gtk_toggle_button_get_inconsistent): accessor for that
1829         (gtk_toggle_button_paint): draw inconsistent state (etched in?
1830         don't know what else to do)
1831
1832 2001-02-19  Hans Breuer <hans@breuer.org>
1833
1834         * gtk/gtk.def : updated exported symbols
1835
1836         * gtk/makefile.msc.in : updated
1837
1838         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
1839         a colormap, when invoked from testgtk::entry. I'm not sure where
1840         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
1841         avoids immediate crashing ...
1842
1843         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
1844         any objections ?
1845
1846         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
1847         0 parameter. At least msvc doesn't like macros with var args. 
1848         I simply removed the extra 0, was it a feature or a typo ?
1849
1850         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
1851         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
1852         because the value assignment to the internal struct wasn't working.
1853         I'm not absolutely sure. The problem could have been resolved by
1854         changing the "func" declartion in the struct, but was the pointer
1855         to the function pointer intended ?
1856
1857         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
1858
1859         * gdk/gdk.def : updated exported symbols
1860
1861         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
1862         only use SetDIBitsToDevice if there is a palette at the drawable
1863         and the image is GDK_VISUAL_PSEUDO_COLOR
1864
1865         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
1866
1867         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
1868
1869         * gdk/*/makefile.msc : updated
1870
1871 2001-02-19  Havoc Pennington  <hp@redhat.com>
1872
1873         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
1874         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
1875
1876         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
1877         (gdk_key_repeat_restore): nuke
1878
1879         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
1880         (gdk_init_check): no atexit func
1881
1882         * gdk/gdkrgb.h: mark some stuff deprecated
1883
1884         * gdk/gdkcolor.h: mark some stuff deprecated
1885         
1886         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
1887
1888         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
1889
1890 2001-02-16  Havoc Pennington  <hp@redhat.com>
1891
1892         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
1893         scroll steps.
1894
1895         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
1896         steps, and add Ctrl-arrow shortcuts for paging visually as with
1897         HScale, since Page Up and Page Down move logically.
1898
1899         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
1900         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
1901         
1902         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
1903         steps
1904         (gtk_range_scroll): handle the visual steps
1905
1906         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
1907         scroll steps
1908
1909         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
1910         steps, not the logical ones.
1911
1912         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
1913         (scroll_vertical): handle up/down steps
1914
1915 2001-02-19 Alexander Larsson  <alexl@redhat.com>
1916
1917         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
1918         Copy data and free data with free().
1919
1920         * gdk-pixbuf/gdk-pixbuf.c:
1921         * gdk-pixbuf/io-jpeg.c:
1922         * gdk-pixbuf/io-png.c:
1923         Use g_try_malloc/g_free instead malloc/free.
1924         
1925         * gdk-pixbuf/test-gdk-pixbuf.c:
1926         Must... initialize... gobject...
1927         
1928         * gdk-pixbuf/pixops/timescale.c:
1929         * gtk/gtkcalendar.c:
1930         Use g_malloc instead of malloc.
1931         
1932 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
1933
1934         * gtk/testgtkrc:
1935         Comment out property assignments, these don't work yet.
1936
1937 2001-02-17  Havoc Pennington  <hp@pobox.com>
1938
1939         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
1940         bit.
1941
1942 2001-02-17  Havoc Pennington  <hp@pobox.com>
1943
1944         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
1945         shadowed variables that had broken size request in some cases,
1946         leading to bogus tooltips (#50996)
1947
1948 2001-02-06  Jon K Hellan  <hellan@acm.org>
1949
1950         Implement fast browsing of tooltips, bug #50619
1951         
1952         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
1953         and last_popdown
1954         
1955         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
1956         use_sticky_delay and last_popdown.
1957         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
1958         time of popdown.
1959         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
1960         is NULL.
1961         (gtk_tooltips_recently_shown): New static function.  Return true
1962         if < sticky_delay has elapsed since last popdown.
1963         (gtk_tooltips_event_handler): Display window after sticky_delay
1964         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
1965         since last popdown.
1966         
1967 2001-02-17  Havoc Pennington  <hp@pobox.com>
1968
1969         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
1970         instead of (). #6394
1971
1972         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
1973         G_CONST_RETURN, make it return by reference, #50473
1974         
1975 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
1976
1977         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
1978         generated ENTER_NOTIFY event with 0, otherwise not explicitely
1979         setup fields contain garbage (e.g. subwindow, breaking
1980         gdk_drawable_ref() upon event copy).
1981         (gtk_menu_stop_navigating_submenu_cb): same here.
1982
1983         * gtk/gtklist.c (gtk_list_vertical_timeout): 
1984         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
1985         * gtk/gtkclist.c (vertical_timeout): 
1986         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
1987         default-zero-intialization for unions to memset(,0,), as unions are
1988         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
1989         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
1990
1991         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
1992         g_closure_sink() warning.
1993
1994         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
1995         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
1996         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
1997         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
1998         
1999 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
2000
2001         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
2002         gtk_*_store_get, and moved to GtkTreeModel.
2003
2004         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
2005
2006         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
2007
2008         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
2009
2010         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
2011         set the func.
2012
2013         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
2014         freeze/thaw notify between setting all the properties for a cell.
2015
2016         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
2017
2018 2001-02-15  Havoc Pennington  <hp@redhat.com>
2019
2020         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
2021         the X coordinates so they're with respect to the line, rather than 
2022         with respect to the layout.
2023
2024         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
2025         Mallabone
2026
2027         * gtk/testgtk.c (create_range_controls): add vscale tests, 
2028         and inverted test
2029
2030         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
2031         #50806
2032
2033         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
2034
2035         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
2036         gtk_text_iter_is_end
2037
2038         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
2039         rename gtk_text_buffer_get_end_iter
2040
2041         * gtk/testgtk.c (create_labels): Add test for selectable
2042
2043         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
2044         the selection stuff. This code is kind of broken since it doesn't 
2045         use the theme engine.
2046
2047         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
2048         fix infinite loop and y offset problem
2049         (gdk_draw_layout_line_with_colors): fix foreground color handling
2050
2051         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
2052         that makes the label selectable.
2053         
2054         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
2055         layout when the style is set, since fonts etc. could have changed.      
2056
2057 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
2058
2059         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
2060
2061         * gtk/gtktreemodelsimple.[ch]: removed.
2062
2063 2001-02-16  Alexander Larsson  <alexl@redhat.com>
2064
2065         * gtk/gtktreemodelmapping.[ch]:
2066         New files. Implement GtkTreeModelMapping.
2067         
2068         * gtk/Makefile.am:
2069         Add gtktreemodelmapping.[ch].
2070         
2071         * gtk/gtk.h:
2072         Add gtktreemodelmapping.h
2073
2074         * gtk/treestoretest.c:
2075         Test the GtkTreeModelMapping
2076
2077 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
2078
2079         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
2080         have a demo, we might as well pass in real values.  Thanks to
2081         clahey for pointing this out.
2082
2083 2001-02-14  Havoc Pennington  <hp@pobox.com>
2084
2085         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
2086         "static" to a private function
2087         (gtk_image_menu_item_class_init): remove destroy handler,
2088         add "image" object property
2089
2090 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
2091
2092         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
2093         Add a shortcut if the window and the current clip_region doesn't
2094         overlap. This is needed when there are a lot of windows in a
2095         window. The layout test in testgtk is a good test.
2096
2097         * gdk/linux-fb/gdkwindow-fb.c:
2098         Whitespace fix.
2099
2100 2001-02-13  Sven Neumann  <sven@convergence.de>
2101
2102         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
2103
2104 2001-02-13  Alexander Larsson  <alexl@redhat.com>
2105
2106         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
2107         Don't reference last_cursor if it is null. Fixes crash when rotating
2108         the screen before having moved the mouse.
2109
2110         * gdk/linux-fb/gdkcc-fb.c: Zapp!
2111
2112         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
2113
2114         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
2115         when using 90 or 270 degrees rotation.
2116
2117 2001-02-12  Havoc Pennington  <hp@pobox.com>
2118
2119         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
2120         it always set the foreground, even if we were only using
2121         a stipple.
2122         (gdk_draw_layout_line_with_colors): new function, allow
2123         override colors
2124         (gdk_draw_layout_with_colors): new function, allow override
2125         colors
2126         (gdk_pango_layout_line_get_clip_region): function to get the clip
2127         region for a logical text range
2128         (gdk_pango_layout_get_clip_region): get the clip region for a
2129         logical text range
2130
2131         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
2132         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
2133         the right number of arguments.
2134
2135         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
2136         enhance the function to check that node data corresponds to a 
2137         view still belonging to the tree.
2138
2139         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
2140         GtkTreePath
2141         (gtk_tree_view_inserted): ditto
2142         (gtk_tree_view_child_toggled): ditto
2143
2144         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
2145         simplify this code.
2146
2147         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
2148         a PangoAttrList
2149
2150         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
2151
2152         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
2153
2154         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
2155         size in the size request 
2156         (gtk_menu_bar_size_allocate): consider toggle size here
2157
2158         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
2159         that displays a widget in the toggle slot
2160
2161         * gtk/testgtk.c: test GtkImageMenuItem
2162
2163         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
2164         
2165         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
2166         request and allocation
2167
2168         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
2169
2170         * gtk/gtkcheckmenuitem.c
2171         (gtk_check_menu_item_toggle_size_request): ditto
2172         
2173 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
2174
2175         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
2176         reference.
2177
2178         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
2179         and refuse to initialize GTK+ if they fail.
2180
2181 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
2182
2183         * configure.in: Add check for gtk-doc version.
2184
2185 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
2186
2187         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
2188         where the xpad/ypad was only being used on one side!
2189
2190 2001-02-11  Tor Lillqvist  <tml@iki.fi>
2191
2192         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
2193         function, copied from X11 version.
2194
2195         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
2196         DestroyCursor failures. The reason for the problem (despite the
2197         inconsistent messages from GetLastError()) was that
2198         DestroyCursor() cannot be called while a cursor is set in a
2199         window. Set the new cursor first and then destroy the old one.
2200         Thanks to jpe@archaeopteryx.com.
2201
2202         * gdk/win32/gdkcc-win32.c: Remove.
2203
2204         * gdk/win32/Makefile.am: Remove from here, too.
2205         
2206         * gdk/gdk.def
2207         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
2208
2209         * gtk/gtk.def
2210         * gtk/makefile.mingw.in: Updates.
2211
2212 2001-02-08  Havoc Pennington  <hp@redhat.com>
2213
2214         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
2215         add a widget to a bin that already has a child.
2216
2217         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
2218
2219         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
2220         
2221         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
2222
2223         * gdk/gdk.h: remove gdkcc.h
2224
2225         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
2226
2227         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
2228         GdkPixbuf, since the previous implementation was GdkColorContext
2229         dependent.
2230
2231         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
2232         
2233 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
2234
2235         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
2236         a sane value!
2237
2238 2001-02-08  Havoc Pennington  <hp@redhat.com>
2239
2240         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
2241         lighten them.
2242
2243 2001-02-08  Havoc Pennington  <hp@redhat.com>
2244
2245         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
2246         validation idle
2247
2248         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
2249         cell renderer
2250
2251         * demos/pixbuf-demo.c (timeout): remove deprecated
2252         gtk_widget_draw
2253
2254         * demos/testpixbuf-save.c (main): remove deprecated
2255         gtk_drawing_area_size
2256
2257         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
2258         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
2259         at the start of the allocation.
2260         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
2261         unsetup or NULL model.
2262
2263         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
2264         even/odd/sorted cells in the tree view.
2265
2266         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
2267         bugfixes
2268
2269         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
2270         backgrounds with draw_flat_box using different detail for even/odd
2271         rows.
2272
2273         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
2274         row, so we can draw the alternating colors thing
2275
2276         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
2277         property from a synonym property, notify for the synonym.
2278         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
2279         (gtk_text_tag_get_property): Always return the font, even if
2280         all its fields aren't set
2281
2282         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
2283         store the attr list; it leaves us with no way to change attributes
2284         in _render according to the render flags, and no way to implement
2285         get_property. Instead store all the specific text attributes. 
2286         Separate whether an attribute is enabled from its value. Sync all
2287         properties with GtkTextTag, make them all consistent, etc.
2288
2289         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
2290         renderers can highlight the sort row/column     
2291
2292         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
2293         accessor functions to get values; this has the side effect of
2294         showing up which accessor functions were missing. Added those.
2295
2296         * gtk/gtktreeviewcolumn.h: Replace set_justification with
2297         set_alignment, to be consistent with GtkLabel, GtkMisc
2298
2299         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
2300         arrow.
2301
2302         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
2303
2304         * gtk/gtktreesortable.h: updates in here
2305
2306 2001-02-07  Sven Neumann  <sven@convergence.de>
2307
2308         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
2309         pango dimensions after painting the background. We used to draw
2310         gigantic flat boxes here.
2311
2312 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
2313
2314         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
2315         error introduced with earlier commit) (pointed out by
2316         Ollie Lho)
2317
2318 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
2319
2320         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
2321         which are no longer necessary.
2322
2323 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
2324
2325         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
2326
2327 2001-02-04  Tor Lillqvist  <tml@iki.fi>
2328
2329         * gdk/gdk.def
2330         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
2331         Provide dummy implementations.
2332
2333 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
2334
2335         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
2336
2337         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
2338         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
2339         deprecated this function.
2340
2341         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
2342         argument.
2343
2344 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
2345
2346         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
2347
2348 2001-02-03  Havoc Pennington  <hp@pobox.com>
2349
2350         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
2351         Mikael Hermansson with patch from Mikael (if there was a toggle
2352         start one after the first character in the range, this function
2353         was broken). Bug #50380
2354
2355 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
2356
2357         * configure.in: Remove confusing comment about X11.
2358
2359 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
2360
2361         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
2362         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
2363         
2364 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
2365
2366         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
2367         it breaks things on BSD. If you want to compile GTK+ with
2368         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
2369         when configuring, since GTK+ simply can't be "pure ANSI" 
2370         in the header files it uses. (#8170, Greg Hudson)
2371
2372 2001-02-02  Havoc Pennington  <hp@redhat.com>
2373
2374         * gtk/gtkwindow.c: docs
2375
2376         * gtk/gtkwidget.c: docs
2377         (gtk_widget_set_colormap): add a reference to the colormap
2378         (gtk_widget_get_default_colormap): add a reference to the colormap
2379
2380         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
2381
2382         * gtk/gtktextiter.c: docs
2383
2384         * gtk/gtkmain.c (gtk_propagate_event): docs
2385
2386         * gtk/gtkpaned.c (gtk_paned_get_position): docs
2387         (gtk_paned_set_position): docs
2388
2389         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
2390         sort interface, no implementation yet.
2391
2392         * demos/testpixbuf.c (new_testrgb_window): replace
2393         gtk_drawing_area_size() with gtk_widget_set_usize()
2394
2395         * demos/testpixbuf-drawable.c (main): ditto
2396         
2397         * gtk/testgtk.c: remove use of GtkStatusbarMsg
2398
2399         * gtk/gtktextbuffer.c: docs
2400
2401         * gtk/gtkstock.c: docs
2402
2403         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
2404
2405         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
2406
2407         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
2408         
2409         * gtk/gtkimage.c: add some docs in here
2410         (gtk_image_size_request): change name of
2411         gtk_widget_render_stock_icon
2412         (gtk_image_get_icon_set): don't dup returned string
2413         (gtk_image_get_icon_set): don't dup returned string
2414
2415         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
2416         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
2417         and gtkiconfactory.h functions
2418
2419         * gtk/gtkiconfactory.c: add some docs in here
2420
2421         * gtk/gtkmain.c (gtk_get_default_language): document
2422         (gtk_get_current_event): document
2423         (gtk_get_current_event_state): document
2424         (gtk_get_event_widget): document
2425
2426         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
2427
2428         * gtk/gtkcontainer.c: Add some documentation
2429         (gtk_container_add): give a more explanatory warning on adding an
2430         already-parented widget, this is kind of a FAQ and also a common
2431         typo that's easier to debug with a nice warning 
2432
2433         * gtk/gtkcellrenderertoggle.c
2434         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
2435         adding this, it's useless
2436         (gtk_cell_renderer_toggle_set_active): remove
2437         (gtk_cell_renderer_toggle_get_radio): add
2438
2439         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
2440         the NULL cell renderer, that doesn't make any sense to me. 
2441
2442         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
2443         demo code should never use deprecated features.
2444
2445         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
2446         code should never use deprecated features.
2447
2448         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
2449         gtk_widget_queue_clear_area deprecated
2450
2451         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
2452         deprecated
2453
2454         * gtk/gtklabel.h: mark gtk_label_get() deprecated
2455
2456         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
2457         a GdkImage deprecated, replaced by new consistently-named
2458         functions       
2459
2460         * gtk/gtkmain.h: Mark gtk_exit() deprecated
2461
2462         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
2463
2464         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
2465         deprecated
2466
2467         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
2468         so it won't appear in docs and confuse people.
2469
2470         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
2471
2472         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
2473         macros deprecated. (can't mark the type itself deprecated, since
2474         GtkProgressBar is not deprecated and we need the type decl to use
2475         GtkProgressBar)
2476
2477         * gtk/gtkpixmap.h: Mark deprecated
2478
2479         * gtk/gtkoldeditable.h: Mark deprecated
2480
2481         * gtk/gtklist.h: Mark deprecated
2482
2483         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
2484         for anything anymore.
2485
2486         * gtk/gtkctree.h: Mark deprecated
2487
2488         * gtk/gtkclist.h: Mark deprecated
2489
2490         * gtk/gtkpreview.h: Mark deprecated
2491
2492         * gtk/gtkpacker.h: Mark deprecated
2493
2494         * gtk/gtktipsquery.h: Mark deprecated
2495
2496         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
2497
2498         * gtk/gtkvruler.h: Add comment that it will move out of GTK
2499
2500         * gtk/gtkhruler.h: Add comment that it will move out of GTK
2501
2502         * gtk/gtkruler.h: Add comment that it will move out of GTK
2503
2504         * gtk/gtkgamma.h: Add comment that it will move out of GTK
2505
2506         * gtk/gtkcurve.h: Add comment that it will move out of GTK
2507
2508 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
2509
2510         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
2511         gdk_colormap_sync private since it was never exported
2512         in a header file.
2513
2514         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
2515         colormap->colors[] for StaticGray, StaticColor colormaps.
2516
2517         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
2518         was being used as if it was image->bits_per_pixel.
2519
2520         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
2521         for the image in the GdkImage structure since it isn't
2522         reconstructable, and we need it to handle packed types
2523
2524         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
2525         the assumption that on Win32 image->bits_per_pixel == image->depth,
2526         always.
2527
2528         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
2529
2530         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
2531         warning message if no converter can be found. 
2532
2533 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
2534
2535         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
2536         chars to isupper() / tolower(). (#567)
2537
2538         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
2539         to clear up 64-bit warnings. (#567)
2540
2541 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
2542
2543         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
2544         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
2545
2546         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
2547         since some people set $(libdir) separately. (#1290, David Kaelbling)
2548
2549 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
2550
2551         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
2552         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
2553         MAXPATHLEN, but the code here depends on a fixed value.)
2554         (#4524)
2555
2556 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
2557
2558         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
2559         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
2560
2561 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
2562
2563         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
2564         viewable there is no way that moving the node will cause the 
2565         focus row to become not viewable, so omit check on the visibility
2566         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
2567
2568 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
2569
2570         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
2571         selection before inserting new text.
2572
2573 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
2574
2575         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
2576         Make the sensitivity of the reparented child track that of
2577         the original parent menu item. (#34218, David Hodson)
2578
2579         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
2580         the case where the current item is destroyed properly.
2581
2582         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
2583         some edge cases with child-less menuitems.
2584         
2585 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
2586
2587         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
2588         key pop down window. (#12074, Jon K Hellan)
2589
2590 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
2591
2592         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
2593         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
2594         The solution here isn't perfect - you get an extraneous
2595         emission of "toggle", which could conceivably confuse an app,
2596         but better than the current situation. LXR search seems to
2597         indicate that no apps in GNOME CVS connect to "toggle".
2598
2599 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
2600
2601         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
2602         gtk_public_h_sources to directly here to avoid warning when
2603         building srcdir != builddir. (#9656)
2604
2605 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
2606
2607         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
2608         handlers in gtkrange.c return the proper values (TRUE == handled)
2609         (#10316).
2610
2611         This is just the tip of the iceberg, but gtkrange.c is the
2612         most common place where the propagation is problematical,
2613         and also a place where it is almost certainly safe to change
2614         this in the stable branch.
2615
2616         (You don't want right click popups on a range control or anything...)
2617
2618 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
2619
2620         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
2621         area on focus out, even if a background pixmap isn't set.
2622         (#13941)
2623         
2624 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
2625
2626         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
2627         to deal with setting the shape properly when scrolling arrows are
2628         turned on, but not visible because there is sufficient space.
2629         (#13432)
2630
2631 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
2632
2633         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
2634         items with submenus, destroy the item along with the submenu.
2635         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
2636         properly.
2637
2638         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
2639         later.
2640
2641 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
2642
2643         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
2644         the focus widget sometimes wasn't drawn with the default if there
2645         was no default widget.
2646
2647         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
2648         unreference pixmaps. 
2649
2650         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
2651         for some extra safety.
2652
2653 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
2654
2655         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
2656         the text of a cell to the old pointer value better, by
2657         copying the new text before freeing the old text. Some code
2658         cleanup. (#8079, Karl Nelson)
2659
2660 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
2661
2662         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
2663         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
2664
2665 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
2666
2667         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
2668         item from a menu, check to see if it matches 
2669         menu->old_active_menu_item, and if so, unref and clear
2670         old_active_menu_item (Patch from Pavel Cisler)
2671
2672         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
2673         menu_shell->active_menu_item, if it is the child being
2674         removed. (Patch based on that of Gene Ragan, #50337)
2675
2676 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
2677
2678         * gdk/linux-fb/gdkselection-fb.c: 
2679         * gdk/linux-fb/gdkcolor-fb.c: 
2680         * gdk/linux-fb/gdkdrawable-fb2.c: 
2681         * gdk/linux-fb/gdkfont-fb.c: 
2682         * gdk/linux-fb/gdkim-fb.c: 
2683         * gdk/linux-fb/gdkinput.c: 
2684         * gdk/linux-fb/gdkkeyboard-fb.c: 
2685         * gdk/linux-fb/gdkmain-fb.c: 
2686         * gdk/linux-fb/gdkrender-fb.c: 
2687         A bunch of whitespace cleanup.
2688         
2689 2001-01-30  Havoc Pennington  <hp@pobox.com>
2690
2691         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
2692         #ifdef GTK_ENABLE_BROKEN.
2693
2694         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
2695         GTK_ENABLE_BROKEN just before including the broken headers.
2696         
2697         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
2698         deprecated types registered.
2699
2700         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
2701         we have to test the broken stuff.
2702
2703         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
2704         
2705 2001-01-30  Havoc Pennington  <hp@redhat.com>
2706
2707         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
2708         here where prev pointer was set to the wrong thing
2709
2710         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
2711         (gtk_tree_path_is_descendant): new function
2712
2713         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
2714         cached length
2715         (gtk_list_store_get_iter): don't modify iter if we can't get the
2716         path.
2717
2718         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
2719         
2720         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
2721         GtkTreeDragDest
2722
2723         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
2724         was causing segfault
2725
2726         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
2727         pointer to NULL
2728
2729         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
2730
2731         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
2732         on returning FALSE
2733         (gtk_list_store_iter_children): ditto
2734         (gtk_list_store_iter_nth_child): ditto
2735         (gtk_list_store_iter_nth_child): ditto
2736         (gtk_list_store_iter_parent): ditto
2737
2738         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
2739         on iter->user_data != NULL instead of silently accepting it.
2740         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
2741         we are returning TRUE.
2742         (gtk_tree_store_iter_children): ditto
2743         (gtk_tree_store_iter_nth_child): ditto
2744         (gtk_tree_store_iter_parent): ditto
2745         (gtk_tree_store_insert): remove handling of parent->user_data ==
2746         NULL, replace with parent == NULL       
2747
2748         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
2749         and a comment explaining things
2750
2751         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
2752         interface support to GtkTreeStore.
2753
2754         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
2755         FALSE if no prev, fix
2756
2757         * gtk/gtktreeview.c (set_source_row): use a row reference
2758         (set_dest_row): use a row reference
2759
2760 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
2761
2762         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
2763         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
2764         (gtk_tree_selection_select_iter): The same as above.
2765
2766 2001-01-26  Havoc Pennington  <hp@redhat.com>
2767
2768         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
2769         which holds a handle to a specific row (particular set of values
2770         in the model, i.e. pointer-identity row).
2771
2772         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
2773         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
2774         Still need to use it for the src/dest row saved on the drag context.
2775
2776 2001-01-26  Havoc Pennington  <hp@redhat.com>
2777
2778         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
2779
2780         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
2781         not offset by TREE_VIEW_HEADER_HEIGHT
2782         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
2783         TREE_VIEW_HEADER_HEIGHT
2784
2785         * configure.in (included_loaders): for me, --with-included-loaders
2786         generates the error "the specified loader yes does not exist",
2787         i.e. the arg defaults to "yes", so change test for value ""
2788         to test for value "yes", and include all loaders in that case.
2789
2790         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
2791
2792         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
2793         handle TREE_VIEW_VERTICAL_SEPARATOR
2794         (gtk_tree_view_bin_expose): fix to consider the row offset as
2795         pointing halfway into vertical separator.       
2796         (gtk_tree_view_draw_node_focus_rect): ditto
2797
2798         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
2799         --gtk-debug=updates, which causes gdk_window_set_debug_updates
2800         (TRUE) to be called.
2801
2802         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
2803         debug mode where the invalid region is colored in on invalidate,
2804         so you can see the flicker and know whether your redraw code is 
2805         doing a good job.
2806
2807         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
2808         tree window coordinates (clip rect is in tree window coords)
2809
2810         * gtk/Makefile.am: add gtktreednd.[hc]
2811
2812         * gtk/gtkliststore.c: implement gtktreednd interfaces.
2813
2814         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
2815         drag-and-drop data operations on a model (so we can set up tree
2816         drag-and-drop automatically)
2817
2818         * gtk/testgtk.c: Add a window to change sensitivity in the
2819         GtkLabel test; add a way to change the entry frame in GtkEntry
2820         test
2821
2822         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
2823         (gtk_entry_get_has_frame): new functions to remove the frame
2824         around an entry
2825         (gtk_entry_size_request): shrink requisition if no frame
2826         (gtk_entry_draw_focus): don't draw frame if no frame
2827
2828         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
2829         checks inside a cell renderer
2830         (gtk_default_draw_option): ditto for options
2831
2832         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
2833         children from the alignment, not the button
2834         (gtk_tree_view_column_init): ref/sink the column, to emulate
2835         GObject refcounting.
2836
2837         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
2838         
2839         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
2840         Use theme functions to draw the toggles 
2841
2842         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
2843
2844         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
2845         GdkPangoAttrEmbossed to use in rendering insensitive text
2846
2847         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
2848
2849         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
2850         using new GDK features
2851         
2852 2001-01-24  Alexander Larsson  <alexl@redhat.com>
2853
2854         * gtk/gtkimage.c:
2855         Splitted gtk_image_clear into gtk_image_clear() and
2856         gtk_image_reset(). Call gtk_image_clear() in ::destroy
2857         to avoid leaks.
2858
2859         * gtk/gtklabel.c (set_markup):
2860         Don't leak text.
2861
2862         * gtk/gtktextlayout.c:
2863         Always free display->shaped_objects.
2864
2865         * gtk/testgtk.c (create_clist):
2866         Don't leak custom style.
2867
2868 2001-01-23  Alexander Larsson  <alexl@redhat.com>
2869
2870         * gtk/gtkcolorsel.c (grab_color_at_mouse):
2871         Don't leak image. Simplify using gdk_colormap_query_color().
2872         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
2873
2874         * linux-fb/gdkcolor-fb.c:
2875         Implemented gdk_colormap_query_color.
2876
2877 2001-01-23  Alexander Larsson  <alexl@redhat.com>
2878
2879         * linux-fb/gdkcursor-fb.c:
2880         Don't leak built-in cursors.
2881
2882         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
2883         Don't leak tmp_points.
2884
2885         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
2886         Don't modify desc. Don't leak font if the PangoFont
2887         isn't found.
2888         
2889         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
2890         Free dash_list.
2891
2892         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
2893         Don't leak string.
2894         
2895 2001-01-20  Havoc Pennington  <hp@pobox.com>
2896
2897         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
2898         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
2899         me, matches Pango
2900
2901 2001-01-22  Havoc Pennington  <hp@redhat.com>
2902
2903         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
2904
2905         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
2906
2907         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
2908         Remove, move back to gdk-pixbuf
2909
2910         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
2911         to all the word functions
2912
2913         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
2914         before doing anything on NULL layout or if we don't have the focus
2915
2916         * gtk/testtext.c (fill_example_buffer): "justification"
2917
2918         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
2919         to be called "justification" not "justify"
2920
2921         * demos/gtk-demo/textview.c (create_tags): "justification"
2922         
2923         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
2924
2925 2001-01-22  Alexander Larsson  <alexl@redhat.com>
2926
2927         * gdk/gdkwindow.c (gdk_window_invalidate_region):
2928         Don't leak visible_region. Use visible_region instead of region.
2929         
2930         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
2931         Don't do extra gdk_drawable_ref(). This is not X.
2932         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
2933         gdk_fb_focused_window is ref:ed.
2934         (gdk_fb_window_send_crossing_events): Watch out for destroyed
2935         windows.
2936
2937 2001-01-22  Alexander Larsson  <alexl@redhat.com>
2938
2939         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
2940         Don't leak the PangoFontDescriptor.
2941
2942 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
2943
2944         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
2945         when not realized.
2946         (gtk_tree_view_scroll_to_cell): Make work when not realized.
2947         (gtk_tree_view_realize): add scroll_to support
2948         (gtk_tree_view_finalize): add a finalize method.  Populate.
2949         (gtk_tree_view_insert_column): ref and sink the column.
2950         (gtk_tree_view_append_column): ref and sink the column.
2951         (gtk_tree_view_queue_draw_node): New function to handle redrawing
2952         individual nodes.  Should make the code much more efficient, if
2953         actually used.
2954
2955 2001-01-19  Havoc Pennington  <hp@redhat.com>
2956
2957         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
2958         byte_offset variable was being used to mean both "offset into
2959         layout" and "offset into buffer line" which was no longer true
2960         with addition of preedit string; fix
2961
2962 2001-01-19  Havoc Pennington  <hp@redhat.com>
2963
2964         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
2965
2966         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
2967         function
2968
2969         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
2970         implement
2971
2972         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
2973         scroll_to_cell, matches TextView scroll functions better
2974         (gtk_tree_view_tree_to_widget_coords): new function
2975         (gtk_tree_view_widget_to_tree_coords): new function
2976         (gtk_tree_view_get_visible_rect): new function
2977         (gtk_tree_view_get_path_at_pos): accept negative coordinates
2978         (gtk_tree_view_draw_node_focus_rect): new function moved from
2979         draw_focus, also, use width of bin_window as width of the focus
2980         rect
2981         (gtk_tree_view_expand_row): fix bug where it didn't recognize
2982         already-expanded rows
2983         (gtk_tree_view_get_cell_rect): new function
2984         (gtk_tree_view_get_path_at_pos): return the click position
2985         relative to the passed-in cell
2986         (gtk_tree_view_set_expander_column): new function
2987
2988         * configure.in: remove gtk-config-2.0 chmod
2989
2990         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
2991         and properly handle drags with targets we don't understand
2992         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
2993         scrolling anyway
2994         (gtk_text_view_drag_drop): stop scrolling here though, and set the
2995         mark invisible
2996
2997         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
2998         function
2999         (gtk_drag_dest_get_target_list): new function
3000         (gtk_drag_dest_set_target_list): new function
3001         
3002         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
3003
3004         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
3005         related to drag-and-drop
3006
3007 2001-01-19  Alexander Larsson  <alexl@redhat.com>
3008
3009         * gdk/linux-fb/gdkprivate-fb.h:
3010         Define EMULATE_GDKFONT.
3011         Add extra pango_font stuff to GfkFontPrivate.
3012         
3013         * gdk/linux-fb/gdkdrawable-fb2.c:
3014         * gdk/linux-fb/gdkfont-fb.c:
3015         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
3016         emulation using PangoFont.
3017
3018 2001-01-17  Havoc Pennington  <hp@pobox.com>
3019
3020         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
3021         all the non-deprecated set_foo functions. Added missing object
3022         properties, and added g_object_notify() to setters. 
3023         Wrote docs.
3024         
3025 2001-01-18  Tor Lillqvist  <tml@iki.fi>
3026
3027         * gtk/gtkmain.c
3028         * gtk/gtkrc.c: (Win32) Use the new
3029         g_win32_get_package_installation_(sub)directory() functions.
3030
3031         * config.h.win32.in: New file.
3032         
3033         * config.h.win32: Removed.
3034
3035         * configure.in: Output config.h.win32.
3036
3037         * Makefile.am: Add it to EXTRA_DIST.
3038
3039         * gtk/gtk.def: Update.
3040
3041 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
3042
3043         * gtk/gtklabel.c (gtk_label_size_request): Set the
3044         attributes onto the PangoLayout even if they are newly
3045         created from label->pattern.
3046
3047 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
3048
3049         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
3050
3051         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
3052         structures in functions. Fixes bug where gtk_dataset_*
3053         was accidentally still being used in one place, causing
3054         every dest side event to be treated independently.
3055
3056         * gtk/gtkdnd.c: Remove last vestages of handling
3057         ::draw (fixes warning)
3058         
3059         * gtk/gtkentry.[ch]: Add drag and drop support.
3060
3061         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
3062         new function gtk_check_drag_threshhold() for checking
3063         to check if (dx,dy) has exceeded the threshhold for starting
3064         a drag and use it everywhere.
3065
3066 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
3067
3068         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
3069         add -I{includedir}/gtk-2.0.
3070
3071         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
3072         gdk/gdk-pixbuf.h: Doc fixups.
3073         
3074         * gtk/gtkobject.h: Remove trailing , from enum
3075
3076 2001-01-17 Alexander Larsson <alexl@redhat.com> 
3077
3078         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
3079         Doh! Mixed up x and y.
3080
3081         * gdk/linux-fb/gdkglobals-fb.c:
3082         Removed gdk_fb_pointer_grab_window_events,
3083         added _gdk_fb_pointer_grab_owner_events and
3084         _gdk_fb_keyboard_grab_owner_events.
3085
3086         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
3087         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
3088         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
3089         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
3090         Send crossing events after ungrab finished.
3091         (gdk_keyboard_grab): Set ..._owner_events
3092         (type_masks): Move out of function.
3093         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
3094         gdk_fb_keyboard_event_window): New functions, return the
3095         window an event should be targeted at. Handles grabs and
3096         event propagation. Can return NULL.
3097         (gdk_event_make): Remove event_mask checking. Now always
3098         returns an event.
3099                 
3100         * gdk/linux-fb/gdkkeyboard-fb.c:
3101         * gdk/linux-fb/gdkproperty-fb.c:
3102         * gdk/linux-fb/gdkselection-fb.c:
3103         Use new event_window/gdk_event_make() behaviour.
3104         
3105         * gdk/linux-fb/gdkmouse-fb.c:
3106         Use new event_window/gdk_event_make() behaviour.
3107         Only send motion events if in the same window.
3108         If grabbed, use cursor from window if sibling of grabbed
3109         window, and cursor from grabbed window otherwise.
3110
3111         * gdk/linux-fb/gdkprivate-fb.h:
3112         Update gdk_fb_window_send_crossing_events, gdk_event_make
3113         and grab varaible declarations. Add gdk_fb_*_event_window().
3114
3115         * gdk/linux-fb/gdkwindow-fb.c:
3116         Use new event_window/gdk_event_make() behaviour.
3117         Keep correct track of focus window.
3118         (gdk_window_set_events): Set all specific button motion masks
3119         if GDK_BUTTON_MOTION_MASK set.
3120
3121         * gtk/gtkdnd.c (gtk_drag_update):
3122         Free info->last_event if gdk_drag_motion returned FALSE.
3123
3124 2001-01-16  Tor Lillqvist  <tml@iki.fi>
3125
3126         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
3127         Eliminate redraws when input-only windows are shown or
3128         hidden. Thanks to jpe@archaeopteryx.com.
3129
3130 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
3131
3132         * docs/faq/gtk-faq.sgml: FAQ update:
3133           - Update to bugzilla
3134           - Add GTK+ and security/SUID/SGID
3135           - Add DnD question
3136
3137 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
3138
3139         * gdk/linux-fb/gdkdnd-fb.c:
3140         Some cleanups.
3141         
3142 2001-01-15  Havoc Pennington  <hp@pobox.com>
3143
3144         * tests/testtreeview.c: add test stuff for CellRendererToggle
3145
3146         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
3147         accessor
3148
3149         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
3150         only toggle on button press (would do release like GtkButton, but
3151         we'd need implicit grab code for treeview cells)
3152
3153 2001-01-16  Tor Lillqvist  <tml@iki.fi>
3154
3155         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
3156
3157         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
3158         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
3159
3160         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
3161         to g_{locale,filename}_{to,from}_utf8 to match current API.
3162
3163         * gtk/makefile.msc.in (gtk_OBJECTS)
3164         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
3165
3166         * gtk/gtk.def: Update.
3167
3168 2001-01-15  Tor Lillqvist  <tml@iki.fi>
3169
3170         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
3171         implementaion that more closely mimics the events that an X server
3172         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
3173         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
3174         with nested preview widgets, for instance, more responsive when
3175         you move the mouse quickly into them.
3176         (find_window_for_pointer_event): Make it actually compile.
3177         (gdk_event_translate): Set send_event to the value of
3178         InSendMessage (). This doesn't really mean the same as X11's
3179         send_event flag, but is close enough, says jpe@archaeopteryx.com
3180
3181 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3182
3183         * gdk/linux-fb/gdkdnd-fb.c:
3184         Implemented drag and drop.
3185         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
3186         when it tries to free and then copy the same event (info->last_event).
3187         I am not sure about why this happens, but will continue looking.
3188
3189 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3190
3191         * gdk/linux-fb/gdkwindow-fb.c:
3192         Use gdk_window_invalidate_rect instead of
3193         gdk_window_invalidate_rect_clear to minimise flashing.
3194         When hiding windows you need to clear the root window though.
3195
3196 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3197
3198         * gdk/linux-fb/gdkdrawable-fb2.c:
3199         For optization, add an full_shapes argument to gdk_fb_clip_region.
3200         If this is false, only the cliprects of the shapes are used.
3201
3202         * gdk/linux-fb/gdkprivate-fb.h:
3203         Export gdk_fb_window_peek_shape.
3204         Add full_shapes to gdk_fb_clip_region.
3205
3206         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
3207         When moving a window, don't clear everything under the it, just the
3208         root window. Makes stuff faster and flash less.
3209         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
3210         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
3211         offset of the shape.
3212         
3213
3214 2001-01-12  Havoc Pennington  <hp@redhat.com>
3215
3216         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
3217         current invalid region, fixes redraw bug while scrolling the 
3218         text widget
3219
3220         * gtk/gtktextview.c, gtk/gtktextview.h:
3221         Rearrange the scrolling/validation/etc. code in a major way, 
3222         so it seems to make sense to me. Probably isn't genuinely that
3223         much better, but...
3224
3225         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
3226         notifies
3227
3228         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
3229
3230 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
3231
3232         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
3233         Hide mouse pointer while rotation. Show it afterwards.
3234
3235 2001-01-12  Alexander Larsson  <alexl@redhat.com>
3236
3237         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
3238         windows in consideration when generating clip region.
3239
3240         * gdk/linux-fb/gdkfb.h:
3241         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
3242
3243         * gdk/linux-fb/gdkprivate-fb.h:
3244         Add shape to GdkWindowFBDatat.
3245         exported gdk_fb_window_get_abs_shape().
3246         removed gdk_fb_draw_lines declaration.
3247
3248         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
3249         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
3250         send focus changes when there is a grabbed window.
3251         (gdk_window_get_pointer): Handle shaped windows.
3252         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
3253         (gdk_fb_window_peek_shape): Returns the shape for a window,
3254         handles GDK_FB_USE_CHILD_SHAPE.
3255         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
3256         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
3257         (gdk_window_shape_combine_mask): Implement.
3258
3259         * gtk/gtkwindow-decorate.c:
3260         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
3261         setting the shape of a window makes the window transparent.
3262
3263 2001-01-11  Havoc Pennington  <hp@redhat.com>
3264
3265         * gtk/gtktreemodelsimple.h: Oops, broke some macros
3266
3267 2001-01-10  Havoc Pennington  <hp@redhat.com>
3268
3269         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
3270         add this function, bug 40251
3271
3272         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
3273         of type macro   
3274
3275 2001-01-11  Alexander Larsson  <alexl@redhat.com>
3276
3277         * acconfig.h:
3278         Added ENABLE_SHADOW_FB
3279
3280         * configure.in:
3281         Added --disable-shadowfb
3282
3283         * gdk/linux-fb/gdkcursor-fb.c:
3284         Update shadowfb when updating cursor
3285
3286         * gdk/linux-fb/gdkdrawable-fb2.c:
3287         Added wrappers for shadowfb that calls  the normal drawable
3288         methods, but calls gdk_shadow_fb_update(bounding box) when
3289         GdkWindows are drawed to.
3290         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
3291         which also returns the bounding box.
3292
3293         * gdk/linux-fb/gdkfb.h:
3294         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
3295
3296         * gdk/linux-fb/gdkgeometry-fb.c:
3297         Update shadowfb when scrolling window.
3298
3299         * gdk/linux-fb/gdkglobals-fb.c:
3300         Add _gdk_fb_screen_angle.
3301         
3302         * gdk/linux-fb/gdkkeyboard-fb.c:
3303         Test code for screen rotation. Shift-F2 in the xlate driver
3304         rotates the screen.
3305
3306         * gdk/linux-fb/gdkmain-fb.c:
3307         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
3308
3309         * gdk/linux-fb/gdkmouse-fb.c:
3310         Use fb_width/height instead of modeinfo.xres/yres.
3311
3312         * gdk/linux-fb/gdkprivate-fb.h:
3313         Added fb_men, fb_width, fb_height & fb_stride. When using
3314         shadow fb these can differ from the framebuffer stuff.
3315         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
3316         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
3317         _gdk_fb_screen_angle. Removed CM, RP.
3318
3319         * gdk/linux-fb/gdkrender-fb.c:
3320         Added code for shadowfb handling and screen rotation using
3321         shadowfb.
3322
3323         * gdk/linux-fb/gdkwindow-fb.c:
3324         Use fb_mem, fb_stride, fb_width, fb_height.
3325         Added recompute_rowstride to reset the rowstride of all windows.
3326         Added gdk_fb_recompute_all() which recomputes rootwindow size,
3327         window abs positions and window rowstrides. Usefull when the
3328         rotation has changed.
3329
3330 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
3331
3332         * docs/faq/gtk-faq.sgml: update to make web site updating easier
3333
3334 2001-01-10  Havoc Pennington  <hp@redhat.com>
3335
3336         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
3337         where sibling == iter
3338         (gtk_tree_store_insert_after): handle sibling == iter
3339         (gtk_tree_store_prepend): remove stamp checks
3340         (gtk_tree_store_insert_before): ditto
3341         (gtk_tree_store_append): ditto
3342         (gtk_tree_store_get_path): ditto
3343         (gtk_tree_store_get_value): ditto
3344         (gtk_tree_store_iter_has_child): ditto
3345         (gtk_tree_store_iter_n_children): ditto
3346         (gtk_tree_store_iter_nth_child): ditto
3347         (gtk_tree_store_insert_after): ditto
3348         (gtk_tree_store_is_ancestor): ditto
3349         (gtk_tree_store_iter_depth): ditto
3350         (gtk_tree_store_insert_before): assert that sibling's parent is
3351         the same as the passed-in parent
3352         (gtk_tree_store_insert_after): assert that sibling's parent is
3353         the same as the passed-in parent
3354
3355         
3356         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
3357         function to get the first iterator in a model
3358         
3359         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
3360         conventionally the "root" in this sense is just NULL afaict.
3361
3362         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
3363         where sibling == iter
3364         (gtk_list_store_insert_after): handle case where sibling == iter
3365
3366         * tests/testtreeview.c (run_automated_tests): fairly lame basic
3367         automated tests for ListStore, TreeStore
3368
3369         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
3370         (gtk_list_store_insert): update tail pointer, and fix it to work
3371         (gtk_list_store_insert_before): update tail pointer, and fix it to work
3372         (gtk_list_store_append): use tail to be faster
3373         (gtk_list_store_prepend): fix it, update tail pointer
3374         (gtk_list_store_insert_after): fix it, update tail pointer
3375
3376         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
3377         the list
3378
3379 2001-01-09  Havoc Pennington  <hp@redhat.com>
3380
3381         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
3382         is NULL due to a pending resize
3383
3384         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
3385         column width to values less than 1
3386
3387         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
3388         width to be between min/max width, and still set the width 
3389         even if autosize is turned on, so the tree view can use this 
3390         function in order to autosize.
3391         (gtk_tree_view_column_init): set initial width to 1 not 0
3392
3393         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
3394         setter function to modify column width, so we get notification
3395         (gtk_tree_view_insert_iter_height): ditto
3396         (gtk_tree_view_calc_size): ditto
3397         (gtk_tree_view_check_dirty): ditto
3398
3399         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
3400         properties to change all the interesting attributes of the tree
3401         view column.
3402         (gtk_tree_view_column_set_header_clickable): rename set_clickable
3403         (gtk_tree_view_column_get_clickable): add
3404         (gtk_tree_view_column_set_cell_renderer): don't unset the current
3405         attributes; assume a cell renderer with equivalent object
3406         properties has been swapped in. Do g_object_notify().
3407         (gtk_tree_view_column_set_visible): g_object_notify
3408         (gtk_tree_view_column_get_sizing): rename from get_col_type
3409         (gtk_tree_view_column_set_sizing): g_object_notify
3410         (gtk_tree_view_column_set_width): add g_object_notify
3411         (gtk_tree_view_column_set_min_width): ditto
3412         (gtk_tree_view_column_set_max_width): ditto
3413         (gtk_tree_view_column_set_title): ditto
3414         (gtk_tree_view_column_set_clickable): ditto
3415         (gtk_tree_view_column_set_widget): ditto
3416         (gtk_tree_view_column_set_justification): ditto
3417
3418 2001-01-09  Havoc Pennington  <hp@redhat.com>
3419
3420         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
3421         there are no rows in the model
3422
3423         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
3424         NULL, then return the start of the list
3425
3426         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
3427         if we can't get any rows from an empty model 
3428
3429         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
3430         extraneous * after function pointer typedef usage
3431
3432         * Makefile.am: don't specify full path to cp and rm
3433
3434         * gtk/gtkcellrenderertextpixbuf.c
3435         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
3436         NULL before dereferencing, fixes a segfault that happened from
3437         time to time
3438
3439         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
3440         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
3441         and reindent the function
3442         (gtk_cell_renderer_pixbuf_get_size): indentation
3443
3444         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
3445         we quit it
3446         (gtk_dialog_add_buttons_valist): add g_return_if_fail
3447         (gtk_dialog_set_default_response): New function, to set default
3448         button
3449         (gtk_dialog_set_response_sensitive): New function, to set 
3450         sensitivity of buttons
3451
3452         * gtk/gtkcellrendererpixbuf.c
3453         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
3454         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
3455
3456         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
3457         handle any G_TYPE_OBJECT subclass, not just the base class, and 
3458         also boxed types.
3459         (_gtk_tree_data_list_value_to_node): ditto
3460
3461         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
3462         --gtk-debug=tree
3463
3464         * gtk/gtkmain.c: add GTK_DEBUG_TREE
3465
3466         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
3467
3468 2001-01-09  Tor Lillqvist  <tml@iki.fi>
3469
3470         * gdk/win32/gdkevents-win32.c: Implement better mouse
3471         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
3472         (find_window_for_pointer_event): New function.
3473         (gdk_event_translate): Use it when handling mouse events.
3474
3475 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
3476
3477         * configure.in:
3478         Added --with-included-loaders option
3479
3480         * gdk-pixbuf/Makefile.am:
3481         * gdk-pixbuf/gdk-pixbuf-io.c:
3482         Add support for including selected gdk-pixbuf loaders only.
3483
3484         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
3485         gtk_window_set_has_frame):
3486         Added inline documentation.
3487
3488         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
3489         * docs/reference/gdk/tmpl/windows.sgml:
3490         Added inline documentation.
3491
3492 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
3493
3494         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
3495         realizing buttons that have already been realized.
3496
3497 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
3498
3499         * tests/testtreeview.c (main): Show menu items before adding to
3500         option menu.
3501
3502         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
3503         around if we kill them.
3504
3505         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
3506         Return if we pass in a NULL model.
3507
3508 2001-01-08  Havoc Pennington  <hp@redhat.com>
3509
3510         * tests/testtreeview.c: hack on this some
3511
3512         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
3513         gtk_tree_store_set_valist, v is for arrays, valist for varargs
3514         list
3515         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
3516
3517         * gtk/gtkliststore.h: Add varargs set() and get() convenience
3518         functions
3519
3520 2001-01-08  Alexander Larsson  <alexl@redhat.com>
3521
3522         * gtk/gtkwindow-decorate.[hc]:
3523         * gtk/Makefile.am:
3524         New files. Contains an implementation of a minimal WM for
3525         linux-fb.
3526
3527         * gtk/gtkwindow.h:
3528         Add the possibility for GtkWindows to specify a frame. This
3529         is used for the window decoration code, but could concievably
3530         be used for X programs too (xmms style windows).
3531         GtkWindow->frame is the toplevel window if the window is framed.
3532         The signal frame_event gets all events that are targeted to
3533         GtkWindow->frame.
3534         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
3535         
3536         * gtk/gtkwindow.c:
3537         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
3538         Call out to gtkwindow-decorate.c for WM support in linx-fb.
3539
3540 2001-01-08  Alexander Larsson  <alexl@redhat.com>
3541
3542         * docs/README.linux-fb:
3543         Correct filename ~/.pangoft2_aliases
3544
3545         * gdk/gdkwindow.h:
3546         Added new function gdk_window_get_decorations.
3547
3548         * gdk/linux-fb/gdkfb.h:
3549         Removed _gdk_window_get_decorations declaration.
3550         Renamed _gdk_window_set_child_handler to
3551         gdk_fb_window_set_child_handler.
3552
3553         * gdk/linux-fb/gdkwindow-fb.c:
3554         Renamed _gdk_window_set_child_handler to
3555         gdk_fb_window_set_child_handler.
3556
3557         * gdk/x11/gdkwindow-x11.c:
3558         New function gdk_window_get_mwm_hints().
3559         Implemented gdk_window_get_decorations.
3560
3561         * docs/reference/gdk/tmpl/windows.sgml:
3562         * docs/reference/gdk/gdk-sections.txt:
3563         Added gdk_window_get_decorations docs.
3564         
3565 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
3566
3567         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
3568         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
3569         gdk_fb_window_send_crossing_events):
3570         Possibly send focus events when the mouse moves from one
3571         window to another.
3572
3573 2001-01-07  Tor Lillqvist  <tml@iki.fi>
3574
3575         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
3576         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
3577         to match current API.
3578
3579         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
3580         environment variable is set, don't call g_error when on a
3581         palettized (PseudoColor) display. Some people want to use GTK+ 
3582         in 256-colour mode even though works only partially.
3583
3584         * gdk/gdk.def
3585         * gtk/gtk.def
3586         * gtk/makefile.mingw.in: Update.
3587
3588 2001-01-05  Havoc Pennington  <hp@redhat.com>
3589
3590         * tests/testtreeview.c: hack on this a bit
3591
3592         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
3593         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
3594
3595         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
3596         was spelled incorrectly
3597         (GTK_IS_TREE_MODEL_SIMPLE): ditto
3598
3599         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
3600         from gtk_tree_view_set_headers_active   
3601
3602         * gtk/gtktexttag.c:
3603         (gtk_text_tag_get_property): handle PROP_DIRECTION
3604         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
3605         properties, bug 40235
3606
3607         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
3608         forward_to_line_end
3609
3610 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
3611
3612         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
3613         modules/input/gtkimcontextxim.c: Adapt to new prototypes
3614         for unicode,locale,filename conversion functions.
3615
3616 2001-01-05  Havoc Pennington  <hp@redhat.com>
3617
3618         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
3619         broken if called on the first position in the buffer.
3620
3621         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
3622         forward_to_delimiters to be called only if we aren't already at
3623         the delimiters.
3624
3625 2001-01-05  Havoc Pennington  <hp@redhat.com>
3626
3627         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
3628
3629 2001-01-05  Alexander Larsson  <alexl@redhat.com>
3630
3631         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
3632         colormap in here. Sync from X port.
3633         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
3634         Sync from X port.
3635         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
3636         This happens now and then, and i don't think it is a bug.
3637         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
3638         != endpoint.
3639         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
3640         GDK_LINE_SOLID.
3641
3642         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
3643         some of the fields filled in at least.
3644
3645         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
3646         miLineArcD is no more, remove it from the function definition.
3647
3648 2001-01-04  Havoc Pennington  <hp@redhat.com>
3649
3650         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
3651         this
3652
3653         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
3654         user_data instead of tree_node
3655
3656         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
3657         TREE_VIEW_COLUMN_SIZE
3658
3659         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
3660         "size" field to "width" finishes bug 40061
3661
3662         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
3663         for bitfields, bug 40268
3664
3665 2001-01-04  Havoc Pennington  <hp@redhat.com>
3666
3667         Rename some stuff:
3668         
3669         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
3670
3671         s/GtkModelSimple/GtkTreeModelSimple/g;
3672         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
3673         s/gtk_model_simple/gtk_tree_model_simple/g;
3674         s/gtkmodelsimple/gtktreemodelsimple/g;
3675
3676         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
3677
3678         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
3679         s/column_set_col_type/column_set_sizing/g;
3680
3681         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
3682         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
3683
3684         s/GtkCellRendererType/GtkCellRendererState/g;
3685         
3686         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
3687         (gtk_cell_renderer_toggle_class_init): change "state" property to
3688         "active", to match GtkToggleButton
3689         (gtk_cell_renderer_toggle_get_active): new function, bug
3690         40269
3691         (gtk_cell_renderer_toggle_set_active): new function
3692         (gtk_cell_renderer_toggle_set_property): route changes to toggle
3693         state through gtk_cell_renderer_set_active
3694
3695 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
3696
3697         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
3698         temporarily until they work again.  Brought up to date with
3699         changes in the model.
3700         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
3701         model.
3702
3703 2001-01-04  Havoc Pennington  <hp@redhat.com>
3704
3705         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
3706         equal to the line length, then position iterator before paragraph 
3707         separators. Fixes crash reported by Mikael Hermansson when
3708         pressing left arrow from the start of a line.   
3709
3710         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
3711         about byte indexes off the end
3712         (iter_set_from_char_offset): add g_error about char offsets
3713         off the end
3714
3715 2001-01-03  Havoc Pennington  <hp@redhat.com>
3716
3717         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
3718
3719         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
3720         of private functions; remove inclusion of private headers.
3721
3722         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
3723         function, so we don't need private functions in gtktextdisplay.c
3724
3725         * gtk/gtktextiterprivate.h: underscore-ification
3726
3727         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
3728         to instead say "only useful to implement widgets"
3729
3730         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
3731         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
3732         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
3733
3734         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
3735         This function was completely broken
3736
3737         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
3738
3739         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
3740
3741         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
3742
3743         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
3744
3745         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
3746
3747         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
3748
3749         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
3750         gtk_paint_layout
3751
3752         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
3753         gtk_paint_layout
3754
3755         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
3756         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
3757         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
3758         which were not implemented.     
3759
3760         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
3761         insert_pixbuf signal. Rename delete_text to delete_range since it
3762         also deletes pixbufs and child anchors. This almost closes bug
3763         40245 (still need to deal with child anchors)
3764
3765         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
3766         insert_pixbuf, change signal names as appropriate, change types of
3767         signals taking marks/tags to have the specific type, not just
3768         G_TYPE_OBJECT
3769         
3770         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
3771         closes bug 40051
3772
3773         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
3774         unnecessary remove_contents() call
3775         (gtk_option_menu_class_init): add a "changed" signal, closes
3776         bug 40039
3777         (gtk_option_menu_update_contents): emit "changed" if the 
3778         active menu item changes
3779
3780         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
3781         cast to GtkObject, reported by Jonas Borgstrom
3782         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
3783         we can't do stuff with side effects in finalize. Instead, spew a
3784         warning if the loader isn't closed.
3785
3786         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
3787         colormap in here, non-X ports probably need to sync to this change
3788
3789         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
3790         assertion that colormap != NULL, you can set the colormap to NULL
3791         if you like.
3792         
3793         * Makefile.am: remove gtk-config-2.0
3794
3795         * configure.in: Use pkg-config to locate GLib. Remove
3796         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
3797         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
3798         Use pkg-config to locate Pango. Output correct Pango libs to
3799         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
3800
3801         * Makefile.am (pkgconfig_DATA): install only target-specific pc
3802         files
3803         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
3804         X11 pc files
3805
3806         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
3807         unref from here
3808
3809 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
3810
3811         * configure.in:
3812         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
3813
3814 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
3815
3816         * gtk/gtktextlayout.c
3817         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
3818         variable when moving back onto a single line.
3819
3820 2001-01-01  Havoc Pennington  <hp@redhat.com>
3821
3822         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
3823
3824         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
3825
3826         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
3827         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
3828
3829 2001-01-01  Havoc Pennington  <hp@redhat.com>
3830
3831         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
3832
3833         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
3834         GtkTextAttributes
3835
3836         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
3837         #40246
3838         (gtk_text_attributes_copy_values): rename from 
3839         gtk_text_attributes_copy
3840         (gtk_text_attributes_copy): a more standard GTK copy function, 
3841         which returns a new object
3842
3843 2001-01-01  Havoc Pennington  <hp@redhat.com>
3844
3845         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
3846         
3847         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
3848         don't fill in tree_view->priv->selection, kind of an unexpected
3849         side effect
3850
3851         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
3852         gtkintl.h
3853         
3854         * gtk/gtkcellrenderer.c: Remove definition of _ and include
3855         gtkintl.h
3856         (gtk_cell_renderer_get_property): remove calls to g_value_init
3857
3858         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
3859         gtkintl.h
3860
3861         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
3862         and include gtkintl.h
3863         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
3864         property names
3865
3866         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
3867         GtkTreeSelection
3868         (_gtk_tree_selection_new_from_with_view): rename, return
3869         GtkTreeSelection
3870         (_gtk_tree_selection_set_tree_view): rename with uscore
3871         (gtk_tree_selection_get_selected): fill in the "model" out param
3872         first, so it gets filled in even if we return at the top of the 
3873         function
3874         (gtk_tree_selection_real_select_all): add a comment and an else{}
3875         to clarify this a bit
3876         (gtk_tree_selection_real_unselect_all): add the same else{}
3877
3878         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
3879         set_tree_view to have underscore prefixes, move them to the
3880         private header, fix return type of new_with_tree_view
3881         (struct _GtkTreeSelection): mark struct
3882         fields private  
3883
3884         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
3885         GtkTreeModelFlags, not a guint
3886         (gtk_tree_path_prev): return gboolean not gint
3887         (gtk_tree_path_up): return gboolean not gint
3888
3889         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
3890         return GtkTreeModelFlags, not a guint
3891
3892         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
3893         that child model is non-null before unrefing it
3894         (g_value_int_compare_func): make this a qsort compare func, not 
3895         a boolean predicate
3896
3897         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
3898         (add -umn to the end), and mark it unimplemented
3899         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
3900         I don't see what it's for - doesn't the model always sort itself?
3901         (gtk_tree_model_sort_set_compare): this had the wrong signature
3902
3903         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
3904         Fix the docs to say that it destructively replaces existing
3905         attributes (previously said that it added attributes).
3906         (gtk_tree_view_column_set_visible): canonicalize bool before
3907         equality testing. Also, check for realization before
3908         hiding/showing the tree_column->window; if this window could exist
3909         before realization, then it's busted and needs fixing, we can't 
3910         create GDK resources pre-realization. Also, remove
3911         superfluous queue_resize(), since set_size() does that for us.
3912         (gtk_tree_view_column_set_col_type): check realization before 
3913         using tree_column->window
3914
3915         * gtk/gtktreedatalist.c: fix filename in copyright notice
3916
3917 2000-12-31  Havoc Pennington  <hp@pobox.com>
3918
3919         * gtk/gtktextview.c: Rearrange all the
3920         scroll-while-dragging-or-selecting code to be different, not
3921         necessarily better. ;-)
3922         (gtk_text_view_scroll_to_mark): Change this
3923         function to take within_margin as a fraction instead of a pixel
3924         value, and to take alignment arguments (indicating where to align 
3925         the mark inside the visible area)
3926         
3927         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
3928         to GtkObject
3929
3930         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
3931         behavior so that offsets past the end of the line are not 
3932         allowed, and an offset equal to the line length moves the iterator
3933         to the next line
3934         (gtk_text_iter_set_line_index): make parallel change
3935         (gtk_text_iter_get_bytes_in_line): add this function
3936         
3937         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
3938         of byte indexes off the end of the line; byte index at the end of
3939         the line now returns FALSE and doesn't fill in the requested
3940         values, byte index past the end of the line is an error.  Also,
3941         don't allow -1 offset anymore, since its meaning is unclear.
3942
3943         This change exposes some bug in visual cursor motion, where we
3944         end up with a huge invalid byte index; needs fixing. Symptom of 
3945         bug is a crash when you hit up arrow.
3946         
3947         (_gtk_text_line_char_locate): match the change to byte_locate
3948
3949         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
3950         from start of line properly. fixes bug reported by Mikael
3951         Hermansson where backspace would delete all text before the
3952         cursor.
3953
3954 2000-12-30  Tor Lillqvist  <tml@iki.fi>
3955
3956         * gdk/win32/gdkwindow-win32.c
3957         (gdk_window_impl_win32_get_visible_region): New function, as in
3958         the X11 backend.
3959         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
3960         instead of duplicating the same code here.
3961
3962         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
3963         GDK_COLORMAP macro.
3964
3965         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
3966         destroy function.
3967         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
3968         access that.
3969
3970         * gtk/gtk.def: Update.
3971
3972         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
3973
3974 2000-12-30  Havoc Pennington  <hp@pobox.com>
3975
3976         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
3977         colormap on input only windows, to avoid special cases all over
3978         the code for these windows.
3979
3980 2000-12-26  Tor Lillqvist  <tml@iki.fi>
3981
3982         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
3983         we are on a palettized display ("PseudoColor" in X11), as the code
3984         for that doesn't work anyway, and never has.
3985
3986 2000-12-22  Alexander Larsson  <alexl@redhat.com>
3987
3988         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
3989         Don't use isprint() for chars > 255.
3990
3991 2000-12-21  Havoc Pennington  <hp@redhat.com>
3992
3993         * tests/testtreeview.c: more work
3994
3995 2000-12-21  Alexander Larsson  <alexl@redhat.com>
3996
3997         * docs/README.linux-fb:
3998         Update the docs to the new pangoft2 way.
3999
4000 2000-12-21  Alexander Larsson  <alexl@redhat.com>
4001
4002         * configure.in:
4003         For linux-fb get the pangoft2 cflags and libs. This needs a recent
4004         pango version.
4005         Remove modules/linux-fb/Makefile.
4006
4007         * gdk/linux-fb/gdkdrawable-fb2.c:
4008         Render glyphs using freetype.
4009
4010         * gdk/linux-fb/gdkfb.h:
4011         Add new fb-specific functions needed for managing windows.
4012
4013         * gdk/linux-fb/gdkmain-fb.c:
4014         Remove gdk_font_init/fini() calls.
4015
4016         * gdk/linux-fb/gdkpango-fb.c:
4017         Remove old implementation. Use pangoft2 instead.
4018
4019         * gdk/linux-fb/gdkprivate-fb.h:
4020         Remove PangoFBFont and related stuff.
4021
4022         * gdk/linux-fb/gdkwindow-fb.c:
4023         Implement drawable->get_visible_region.
4024         Implement support for _gdk_window_set_child_handler () and
4025         _gdk_window_get_decorations().
4026
4027         * modules/Makefile.am:
4028         Remove linux-fb subdir.
4029
4030         * modules/linux-fb/*:
4031         Removed all.
4032         
4033 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
4034
4035         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
4036         calls, as they are no longer needed.
4037
4038         * gtk/gtktreemodelsort.c: Fix up the comparison code.
4039         
4040         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
4041         figure out how to emit a signal on an interface.
4042
4043 2000-12-20  Havoc Pennington  <hp@redhat.com>
4044
4045         * tests: new directory to contain tests, gtk/test* should move
4046         here sometime (with appropriate on-cvs-server hackery)
4047
4048         * tests/testtreeview.c, tests/Makefile.am: a test
4049         
4050         * configure.in (AC_OUTPUT): add tests/Makefile
4051
4052         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
4053         and "invisible_set" which were missing
4054
4055         * gtk/gtkrbtree.h: some cheesy indentation fix
4056         
4057 2000-12-20  Alexander Larsson  <alexl@redhat.com>
4058
4059         * gtk/gtkinvisible.c (gtk_invisible_realize):
4060         Attach the style to the window so that the style it is not
4061         leaked when unrealizing the window.
4062
4063 2000-12-18  Havoc Pennington  <hp@redhat.com>
4064
4065         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
4066         begin/end user action where appropriate
4067         (gtk_text_view_commit_handler): add begin/end user action
4068
4069         * gtk/gtktextbuffer.c: add begin/end user action signals, and
4070         bracket interactive operations with begin/end user action pair.
4071         
4072         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
4073         "interactive" arg from insert_text and delete_text signals.
4074         Add begin_user_action, end_user_action signals
4075         (gtk_text_buffer_begin_user_action): 
4076         (gtk_text_buffer_end_user_action): New functions to delimit 
4077         a user-visible action
4078
4079         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
4080         signals.
4081         
4082 2000-12-18  Havoc Pennington  <hp@redhat.com>
4083
4084         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
4085         was pretty non-working.
4086
4087         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
4088         by passing the length to g_utf8_validate().
4089
4090 2000-12-16  Havoc Pennington  <hp@pobox.com>
4091
4092         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
4093         Port to GObject, can go back in gdk-pixbuf after setting up 
4094         a gdk-pixbuf-marshal.h header over there.
4095
4096         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
4097         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
4098         args
4099         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
4100         set
4101         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
4102         here, do it when we create the buttons later
4103         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
4104         (gtk_tree_view_map): paranoia checks that column->button is shown 
4105         and unmapped
4106         (gtk_tree_view_size_request): only request visible children.
4107         Move header size calculation in here, for cleanliness, and 
4108         to maintain invariants for child widgets if we eventually 
4109         let users set different children inside the buttons
4110         (gtk_tree_view_map_buttons): factor out code to map buttons,
4111         since it was being called several times
4112         (gtk_tree_view_size_allocate_buttons): move_resize the drag
4113         windows instead of just moving them; their height may change 
4114         if we allow random widgets in there, or the theme changes.
4115         (gtk_tree_view_size_allocate): move button size allocation 
4116         above emitting the scroll signals, to ensure a sane state when we
4117         hit user code
4118         (gtk_tree_view_button_release): remove queue_resize after
4119         tree_view_set_size(), set_size() will handle any resize queuing
4120         that's needed
4121         (gtk_tree_view_focus_in): just queue a draw, don't fool with
4122         draw_focus goo
4123         (gtk_tree_view_focus): use gtk_get_current_event() and
4124         gdk_event_get_state()
4125         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
4126         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
4127         semicolon
4128         (gtk_tree_view_create_button): show the button here
4129         (gtk_tree_view_button_clicked): actually emit the clicked signal
4130         on the column
4131         (_gtk_tree_view_set_size): return right away if the size is
4132         unchanged, as a cheesy optimization
4133         (gtk_tree_view_setup_model): rename set_model_realized to 
4134         setup_model to match the flag that indicates whether we've 
4135         called it
4136         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
4137         exist, because set_scroll_adjustment does that and it shouldn't
4138         matter what order you call these in
4139         (gtk_tree_view_get_vadjustment): ditto
4140         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
4141         for paranoia
4142         (gtk_tree_view_set_headers_visible): call
4143         gtk_tree_view_map_buttons() instead of using cut-and-paste code
4144         (gtk_tree_view_append_column): clarify whether the return value
4145         is the count of columns before or after, and do the increment 
4146         separately from the return statement so you can tell from the code.
4147         (gtk_tree_view_remove_column): ditto
4148         (gtk_tree_view_insert_column): ditto
4149         (gtk_tree_view_get_column): remove g_return_if_fail for columns
4150         outside the existing range, the docs say that outside-range
4151         columns are allowed, so we handle them as documented. (Presumably
4152         this allows a nice loop with column != NULL as test.)
4153         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
4154         mean (left/right/center etc.).
4155         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
4156         (gtk_tree_view_expand_row): add docs
4157         (gtk_tree_view_collapse_row): add docs
4158
4159         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
4160         function to emit the clicked signal on a column
4161         
4162         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
4163         state of an event
4164         (gdk_event_get_time): don't treat GDK_SCROLL 
4165         as a button event, remove default case from switch so gcc 
4166         will whine if we don't explicitly handle all event types
4167
4168         * gtk/gtktreeselection.h: added some FIXME 
4169         
4170         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
4171         "columns" to "n_columns" and "column" to "columns" for clarity
4172
4173 2000-12-16  Havoc Pennington  <hp@pobox.com>
4174         
4175         * gtk/gtktextiter.c: General cleanup of the log attr iteration
4176         stuff. This should make e.g. the delete key work again in the
4177         text widget...
4178         (gtk_text_iter_forward_cursor_positions): handle negative count
4179         (gtk_text_iter_backward_cursor_positions): handle negative count
4180         (gtk_text_iter_forward_word_ends): handle negative count
4181         (gtk_text_iter_backward_word_starts): handle negative count
4182
4183         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
4184         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
4185         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
4186         GObject. No doubt will cause breakage.
4187
4188         * demos/gtk-demo/textview.c: remove hacks around
4189         non-GObject-ification of the text objects
4190
4191         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
4192         the text tag
4193         
4194 2000-12-14  Havoc Pennington  <hp@pobox.com>
4195
4196         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
4197         that we have Xrender
4198
4199 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
4200
4201         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
4202         Add two virtualized functions gdk_drawable_get_clip_region - to
4203         get the clip region when drawing.
4204         
4205         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
4206         use invalidate_region.
4207
4208         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
4209         region.
4210
4211         * acconfig.h configure.in: Check for Xft. For now, assume
4212         that if Xft is found, Pango was compiled with Xft support
4213         as well.
4214
4215         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
4216         gdk_colormap_query_color().
4217         
4218         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
4219         with Xft if appropriate.
4220
4221         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
4222         a pangoxft context if we have XFT and the environment
4223         variable GD_USE_XFT is set.
4224         
4225         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
4226         and also possibly an XftDraw structure.
4227
4228         * gtk/gtkfontsel.c: Handle the case where the font from the
4229         style doesn't match any of the fonts a bit better.
4230         
4231         * gtk/testgtk.c: Add tabs between directional segments for
4232         hebrew/arabic test. (Not really necessary, just a little
4233         prettier.)
4234
4235 2000-12-14  Havoc Pennington  <hp@redhat.com>
4236
4237         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
4238         reading a file
4239
4240 2000-12-14  Havoc Pennington  <hp@redhat.com>
4241
4242         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
4243         unused call to get_last_line()
4244
4245         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
4246         here until boxed is working (and maybe after that - we should
4247         really not gratuitously break old code)
4248
4249         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
4250         specific types for font_desc and tabs args, move them to
4251         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
4252         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
4253
4254         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
4255         use GTK_TYPE_POINTER for signal signatures as a hack-around
4256
4257         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
4258         PangoTabArray
4259
4260         * gtk/gtktextlayout.c (line_display_iter_to_index): 
4261         make static
4262         (line_display_index_to_iter): make static
4263
4264         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
4265         to marshal a string not a boxed
4266
4267         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
4268
4269         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
4270         since the UTF-8 isn't validated yet
4271
4272         * gtk/gtktextsegment.c (char_segment_check_func): don't require
4273         lines to end in '\n'
4274         
4275         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
4276         forward_to_delimiters, and grapheme boundaries
4277         (gtk_text_view_delete_from_cursor): properly handle non-newline
4278         delimiters, and grapheme boundaries
4279
4280         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
4281         to gtk_text_iter_forward_to_delimiters, and make it work properly
4282         if empty lines end with a character other than '\n'
4283
4284         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
4285         position
4286
4287 2000-12-15  Tor Lillqvist  <tml@iki.fi>
4288
4289         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
4290
4291         * gtk/gtk.def
4292         * gdk/gdk.def: Update.
4293
4294         * gdk/win32/gdkmain-win32.c
4295         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
4296         gdkmain-win32.c here.
4297
4298         * gdk/win32/makefile.mingw.in (all): No need to make
4299         gdk-win32res.o here, the makefile one step up will call us to make
4300         it.
4301
4302         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
4303         gdkkeys-win32.
4304
4305         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
4306
4307         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
4308         call to g_source_add().
4309
4310         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
4311         leak. Thanks to Andreas Kemnade.
4312
4313 2000-12-13  Havoc Pennington  <hp@pobox.com>
4314
4315         * gtk/gtktextbtree.h: Remove double _ in front of some functions
4316
4317         * gtk/gtktext*.[hc]: update accordingly
4318         
4319 2000-12-13  Havoc Pennington  <hp@pobox.com>
4320
4321         * gtk/gtktextbtree.h: Put _ in front of every function in this 
4322         header file
4323
4324         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
4325
4326 2000-12-13  Alex Larsson  <alexl@redhat.com>
4327
4328         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
4329         Add support for ps2 intellimouse.
4330
4331         * gdkkeyboard-fb.c:
4332         Move shift-F1 repaint handling to xlate handler only.
4333         
4334         * docs/README.linux-fb:
4335         Add imps2 to docs.
4336         Document the new refresh keys.
4337         
4338 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
4339
4340         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
4341
4342         * gtk/gtkbox.c: change property types from (u)long to (u)int for
4343         ::position and ::padding.
4344
4345         * gtk/gtkcontainer.c: make ::border_width an INT property.
4346
4347         * gtk/gtkpacker.c: make ::position an INT property.
4348
4349         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
4350         guard against NULL h/v scrollbars, since this is used at construction
4351         time.
4352
4353         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
4354         internal gtk_clist_constructor().
4355
4356         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
4357         gtk_ctree_constructor().
4358
4359         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
4360         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
4361
4362         * docs/reference/Makefile.am: fun stuff, disabled docs generation
4363         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
4364
4365         * gtk/gtkwidget.[hc]:
4366         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
4367         and gtk_widget_get().
4368         (gtk_widget_new): use g_object_new_valist().
4369         (gtk_widget_set): use g_object_set_valist().
4370
4371         * gtk/gtkobject.[hc]:
4372         removed gtk_object_arg_get_info(), gtk_object_getv(),
4373         gtk_object_query_args(), gtk_object_newv(),
4374         gtk_object_class_add_signals(),
4375         gtk_object_class_user_signal_new(),
4376         gtk_object_class_user_signal_newv(),
4377         gtk_object_arg_set(), gtk_object_arg_get(),
4378         gtk_object_args_collect(),
4379         gtk_object_default_construct(),
4380         gtk_object_constructed(),
4381         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
4382         removed nsignals, signals and n_args members from GtkObjectClass.
4383         (gtk_object_new): use g_object_new_valist().
4384         (gtk_object_set): use g_object_set_valist().
4385         (gtk_object_get): use g_object_get_valist().
4386         
4387         * gtk/gtkcompat.h: define gtk_object_default_construct().
4388         
4389         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
4390         g_object_new().
4391
4392         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
4393         fucntions, cleaned up method assignments (make sure your structures
4394         are setup properly before calling out). removed all GTK_CONSTRUCTED
4395         hacks ;)
4396
4397 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
4398
4399         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
4400         off-by-one error in checks. (Dave Lambert)
4401
4402 2000-12-12  Alexander Larsson  <alexl@redhat.com>
4403
4404         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
4405         Don't free gdk_fb_keyboard twice.
4406
4407 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
4408
4409         * gtk/testgtk.c:
4410         (create_tooltips): 
4411         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
4412         use GObject swapped_signal:: properties instead.
4413
4414         * gtk/gtkcellrenderertoggle.c: 
4415         * gtk/gtkcellrenderertextpixbuf.c: 
4416         * gtk/gtkcellrenderertext.c: 
4417         * gtk/gtkcellrendererpixbuf.c: 
4418         * gtk/gtkcellrenderer.c:
4419         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
4420         missing warnings for invalid property ids, install properties
4421         with g_object_class_install_property() now.
4422         
4423         * gtk/gtksignal.c:
4424         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
4425         
4426 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
4427         
4428         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
4429         to determine if a window is the focus widget within
4430         its toplevel.
4431
4432         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
4433         to be boolean.
4434
4435         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
4436         of the case where the container CAN_FOCUS to here instead
4437         of having it in each individual move-the-focus place.
4438
4439         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
4440         focusing to be geometric in a much more obvious sense. Arrowing
4441         around is still non-intuitive because it isn't perfect and
4442         because entries, etc, grab the arrow keys, but it at least
4443         usually will do what you expect now.
4444         
4445         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
4446         file.
4447
4448         * gtk/gtknotebook.c: Change tabs to be a single item in
4449         the focus chain. Make movement of focus on tabs with arrow
4450         keys wrap around.
4451         
4452         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
4453         CHECK_FIND_CHILD macro to give informative error messages
4454         instead of silent returns.
4455
4456         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
4457         flag since we handle GdkReturn on the tabs.
4458
4459         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
4460         windows rather than sending expose events directly.
4461
4462         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
4463         definition for GtkNotebookPage into .c file, since it is private.
4464
4465         * gtk/testgtk.c (create_notebook): Add option for 
4466         testing borderless notebook.
4467
4468         * gtk/testgtk.c (page_switch): Removed egregious poking
4469         around in GTK+ internals.
4470
4471         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
4472
4473         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
4474         properly through gtk_clist_focus. Make the title headers a
4475         single item in the tab-focus chain, and make left-right wrap
4476         around.
4477
4478         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
4479         focus method so that wrapping around works properly.
4480
4481         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
4482         that is handled for the widget now. 
4483
4484 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
4485
4486         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
4487         widgets as TOPLEVEL.
4488
4489         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
4490         TOPLEVEL widgets are containers.
4491
4492         * gtk/gtkinvisible.h: Remove useless include.
4493
4494 2000-12-11  Havoc Pennington  <hp@redhat.com>
4495
4496         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
4497         Handle chopping off \r\n and 0x2029 in addition to \n before
4498         passing to PangoLayout
4499
4500         * gtk/gtkimcontextsimple.c
4501         (gtk_im_context_simple_get_preedit_string): 
4502         return an empty string if no match is pending
4503
4504         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
4505         assertion that the returned preedit string was sane
4506
4507         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
4508         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
4509         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
4510
4511 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
4512
4513         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
4514         Fix up finalizer to chain to its parent.
4515
4516 2000-12-11  Alexander Larsson  <alexl@redhat.com>
4517
4518         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
4519         Clearified the difference between the keyboard types. Wrote a note
4520         about the magic sysrq key to get out of raw mode.
4521
4522 2000-12-09  James Henstridge  <james@daa.com.au>
4523
4524         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
4525         member to hold masks for detecting the start of a protocol packet.
4526         (mouse_devs): add packet start masks for ps2 and ms device types.
4527         Left the mask for fidmour blank, as I have no idea what it should
4528         be.
4529         (handle_mouse_io): skip bytes until we get to the start of a
4530         packet.  My Logitech mouse seems to be passing an extra NULL pad
4531         byte, and GPM does a similar thing here.
4532         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
4533         this is the ms mouse driver.
4534         (gdk_fb_mouse_ms_packet): fix up button handling, which was
4535         completely broken except for button1.  It was checking the wrong
4536         bit in the packet for the status of the right mouse button, and
4537         wrongly assuming right == button2 rather than 3.  I fixed that and
4538         also added support for middle button (button2).
4539
4540 2000-12-08  Havoc Pennington  <hp@redhat.com>
4541
4542         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
4543         that cause a segfault on text insertion
4544
4545         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
4546         warning
4547
4548         * gtk/gtktextiter.c (test_log_attrs): use
4549         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
4550
4551         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
4552         Get log attrs for a line, using a cache stored on the buffer
4553         
4554         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
4555         reported by Jeff Franks
4556
4557 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4558
4559         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
4560         /dev/ttyS0 -> /dev/mouse
4561
4562 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4563
4564         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
4565         Added dummy gdk_fontset_load.
4566
4567 2000-12-08  Alexander Larsson  <alexl@redhat.com>
4568
4569         * docs/README.linux-fb:
4570         * docs/Makefile.am:
4571         Initial GtkFB docs.
4572         
4573         * gdk/linux-fb/Makefile.am:
4574         Define GDK_DATA_PREFIX.
4575
4576         * gdk/linux-fb/gdkmain-fb.c:
4577         Fix typo.
4578         Change default display to /dev/fb0.
4579
4580         * gdk/linux-fb/gdkpango-fb.c:
4581         Add $(prefix)/share/fonts/ to font path.
4582         
4583 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4584
4585         * gdk/linux-fb/gdkkeyboard-fb.c:
4586         New file containing the abstracted keyboard driver. Most code
4587         taken from gdkinput-ps2.c
4588
4589         * gdk/linux-fb/gdkinput-ps2.c:
4590         Removed file.
4591         
4592         * gdk/linux-fb/Makefile.am:
4593         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
4594
4595         * gdk/linux-fb/gdkcolor-fb.c:
4596         display->fb was renamed to display->fb_fd.
4597
4598         * gdk/linux-fb/gdkcursor-fb.c:
4599         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4600
4601         * gdk/linux-fb/gdkinput.c:
4602         Moved gdk_input_init here from gdkinput-ps2.c
4603
4604         * gdk/linux-fb/gdkmain-fb.c:
4605         display->fb was renamed to display->fb_fd.
4606         Now the tty and the console is opened here instead
4607         of in the keyboard driver. Also check GDK_VT to see what
4608         tty to open.
4609         Move gdk_beep () here from gdkinput-ps2.c
4610         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4611
4612         * gdk/linux-fb/gdkmouse-fb.c:
4613         Add header.
4614         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4615         Return correct keyboard modifiers.
4616         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
4617
4618         * gdk/linux-fb/gdkprivate-fb.h:
4619         Add tty and vt info to display.
4620         Add orignal modeinfo storage to display
4621         Update global functions
4622
4623         * gdk/linux-fb/gdkwindow-fb.c:
4624         Added gdk_fb_window_find_focus().
4625         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4626
4627 2000-12-07  Havoc Pennington  <hp@pobox.com>
4628
4629         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
4630         function, noticed by Alex
4631
4632 2000-12-06  Elliot Lee  <sopwith@redhat.com>
4633
4634         * configure.in: Detect freetype properly
4635
4636         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
4637         above.
4638
4639 2000-12-06  Alexander Larsson  <alexl@redhat.com>
4640
4641         * gdk/linux-fb/Makefile.am:
4642         Add gdkmouse-fb.c
4643         
4644         * gdk/linux-fb/gdkmouse-fb.c:
4645         New file. Abstracted the mouse drivers a bit.
4646
4647         * gdk/linux-fb/gdkcursor-fb.c:
4648         The cursor hide/show functions was moved here from gdkinput-ps2.c.
4649
4650         * gdk/linux-fb/gdkinput-ps2.c:
4651         Removed old mouse handling code. Moved cursor handling code
4652         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
4653         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
4654         gdk_mouse_get_info.
4655
4656         * gdk/linux-fb/gdkmain-fb.c:
4657         Pass NULL pointers for x,y in gdk_mouse_get_info call.
4658
4659         * gdk/linux-fb/gdkprivate-fb.h:
4660         Removed public gdk_fb_find_common_ancestor, added and renamed
4661         functions for the new mouse handling code.
4662
4663         * gdk/linux-fb/gdkwindow-fb.c:
4664         Moved gdk_fb_window_send_crossing_events here. added global
4665         variable gdk_fb_window_containing_pointer. made
4666         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
4667         renamed to gdk_mouse_get_info.
4668
4669 2000-12-06  Alexander Larsson  <alexl@redhat.com>
4670
4671         * gdk/linux-fb/gdkevents-fb.c:
4672         Update to match latest gmain/gsource changes.
4673
4674         * gdk/linux-fb/gdkinput-ps2.c:
4675         Bogus gdk_keymap_get_entries_for_keycode implementation so that
4676         it links. Will be implemented later.
4677
4678 2000-12-03  Havoc Pennington  <hp@pobox.com>
4679
4680         * gdk/Makefile.am: add gdkkeys.[hc]
4681
4682         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
4683         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
4684
4685         * acconfig.h, configure.in: add checks and command line options
4686         for XKB
4687
4688         * gdk/x11/gdkkeys-x11.c: Implement the above functions
4689         
4690         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
4691         and group in the key event
4692
4693         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
4694         field with the low-level hardware key code, and a group
4695         field with the keyboard group
4696
4697         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
4698         and declare a couple globals used for keymap handling
4699         
4700         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
4701         hold down Shift-Control and type a hex number to get a Unicode 
4702         character corresponding to the hex number
4703         (gtk_im_context_simple_get_preedit_string): Fix cursor position
4704         (return bytes not chars)
4705
4706 2000-12-05  Elliot Lee  <sopwith@redhat.com>
4707
4708         * gdk/gdkcolor.h: Make GdkColor specify element sizes
4709         to avoid waste on 64-bit platforms.
4710
4711 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
4712
4713         * INSTALL: Fix link to PNG home, remove reference
4714         to fribidi.
4715
4716         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
4717         
4718         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
4719         tested.)
4720
4721         * gtk/gtkcheckmenuitem.c: Permanently turn on
4722         always_show_toggle.
4723
4724         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
4725         be NULL. (Vladimir Klebanov, #26545)
4726
4727         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
4728         some signed/unsigned comparison problems. (#6510,
4729         David Kaelbling)
4730
4731         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
4732         return type to boolean (Oskar Liljeblad, #18648)
4733
4734 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4735
4736         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
4737         Remove bogus colormap setting.
4738
4739 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4740
4741         * gdk/linux-fb/gdkcolor-fb.c:
4742         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
4743
4744         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
4745         Must set colormap.
4746         
4747 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
4748
4749         * docs/tutorial/gtk-tut.sgml: DND updates
4750
4751 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
4752
4753         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
4754         Remove old debug g_warning().
4755         (gdk_fb_draw_drawable): The src argument can be either a wrapper
4756         or an implementation, just pass the implementation to draw_drawable_2.
4757         
4758         * gdk/linux-fb/gdkprivate-fb.h:
4759         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
4760
4761         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
4762         clear and invalidate area when window is destroyed.
4763         (send_map_events): Remove old commented out code.
4764
4765 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4766
4767         * gdk/linux-fb/gdkpango-fb.c:
4768         Use italic instead of oblique in font aliases.
4769         
4770         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
4771         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
4772         other unsupported functions.
4773
4774 2000-12-04  Havoc Pennington  <hp@redhat.com>
4775
4776         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
4777
4778         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
4779
4780         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
4781
4782         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
4783         hack to avoid infinite loops (synthetic expose event) - 
4784         Owen has more appropriate fixes in a branch he'll check in later.
4785
4786         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
4787         separator, CR, and CRLF as line ends
4788
4789         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
4790         into lines using pango_find_paragraph_boundary(); other bits of
4791         the widget are still going to be broken if the boundary isn't '\n'
4792         though
4793
4794 2000-12-04  Alexander Larsson  <alexl@redhat.com>
4795
4796         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
4797         multiply.
4798
4799         * gdk/linux-fb/gdkpango-fb.c:
4800         Copied some 26.6 scaling macros from pango to clean up the rounding.
4801         (pango_fb_font_get_glyph_info): Correct sign on x value.
4802
4803         * gdk/linux-fb/gdkprivate-fb.h:
4804         Removed unreferenced external functions.
4805
4806         * modules/linux-fb/Makefile.am: Use ` instead of '.
4807
4808         * modules/linux-fb/basic.c:
4809         Remove dead code. In particular the dummy lang engine which broke all
4810         pango layouts in GtkFB. Don't include tables-big.i anymore.
4811
4812         * modules/linux-fb/tables-big.i:
4813         Upgrade to latest version from pango. Left for reference, basic_ranges
4814         moved to basic.c.
4815         
4816 2000-12-04  Havoc Pennington  <hp@redhat.com>
4817
4818         Fix bugs Alex found:
4819         
4820         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
4821         to "draw"
4822
4823         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
4824
4825         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
4826
4827         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
4828         implementation in here, apparently the expose() implementation was
4829         dead code.
4830
4831 2000-12-04  Alexander Larsson  <alexl@redhat.com>
4832
4833         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
4834         Return positive descent.
4835
4836 2000-12-02  Havoc Pennington  <hp@pobox.com>
4837
4838         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
4839         method and signal
4840         
4841         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
4842         calls gdk_window_process_updates() to push the exposes through
4843         (gtk_widget_class_init): No more draw signal, no
4844         gtk_widget_real_draw()  
4845         
4846         * gtk/gtkbin.c (gtk_bin_draw): remove
4847
4848         * gtk/gtkbox.c (gtk_box_draw): remove
4849
4850         * gtk/gtkbutton.c (gtk_button_draw): remove
4851
4852         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
4853
4854         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
4855
4856         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
4857
4858         * gtk/gtkclist.c (gtk_clist_draw): remove
4859
4860         * gtk/gtkentry.c (gtk_entry_draw): remove
4861
4862         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
4863
4864         * gtk/gtkfixed.c (gtk_fixed_draw): remove
4865
4866         * gtk/gtkframe.c (gtk_frame_draw): remove
4867
4868         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
4869
4870         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
4871
4872         * gtk/gtklayout.c (gtk_layout_draw): remove
4873
4874         * gtk/gtklist.c (gtk_list_draw): remove
4875
4876         * gtk/gtklistitem.c (gtk_list_item_draw): remove
4877
4878         * gtk/gtkmenu.c (gtk_menu_draw): remove
4879
4880         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
4881
4882         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
4883
4884         * gtk/gtknotebook.c (gtk_notebook_draw): remove
4885
4886         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
4887
4888         * gtk/gtkpacker.c (gtk_packer_draw): remove
4889
4890         * gtk/gtkrange.c (gtk_range_draw): remove
4891
4892         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
4893
4894         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
4895
4896         * gtk/gtktable.c (gtk_table_draw): remove
4897
4898         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
4899
4900         * gtk/gtktext.c (gtk_text_draw): remove
4901
4902         * gtk/gtktextview.c (gtk_text_view_draw): remove
4903
4904         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
4905
4906         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
4907
4908         * gtk/gtktree.c (gtk_tree_draw): remove
4909
4910         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
4911
4912         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
4913
4914         * gtk/gtkviewport.c (gtk_viewport_draw): remove
4915
4916         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
4917
4918         * gtk/gtkvscale.c (gtk_vscale_draw): remove
4919
4920         * gtk/gtkwindow.c (gtk_window_draw): remove
4921
4922 2000-20-01  Anders Carlsson  <andersca@gnu.org>
4923
4924         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
4925         a GtkToggleButton is both insensitive and active, it was being
4926         drawn by the GtkButton draw handler which doesn't check the
4927         state. Now it's calling gtk_toggle_button_paint instead.
4928         
4929 2000-12-01  Havoc Pennington  <hp@redhat.com>
4930
4931         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
4932         dangling pointers to the appearance attributes from the 
4933         line display
4934
4935         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
4936         width/height to mean "full width/height of drawable"
4937
4938         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
4939         click to select word/line
4940         
4941         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
4942         when getting log attrs. Get a slice, so that pixmaps and stuff
4943         are properly handled.
4944
4945         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
4946         paste into the selection (replaces selection now, previously
4947         crashed or added to selection). Reveals longstanding btree bug -
4948         select multiple lines, middle-click on the selection, boom. This
4949         isn't related to my changes though.
4950
4951         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
4952         PangoLogAttrs changes
4953         (gtk_entry_move_backward_word): ditto
4954
4955         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
4956         functions return bool whether the iter moved onto a
4957         dereferenceable position.
4958  
4959         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
4960         functions for motion in terms of display lines.
4961
4962         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
4963         get the buffer a mark is inside
4964         
4965 2000-12-01  Alexander Larsson  <alexl@redhat.com>
4966
4967         * gdk/linux-fb/Makefile.am:
4968         * modules/linux-fb/Makefile.am:
4969         Freetype 2 final uses freetype-config
4970
4971         * gdk/linux-fb/gdkpango-fb.c:
4972         Upgrade to use Freetype 2 final.
4973         More flexible support for font aliases, this also fixes a bug with
4974         GtkFontSelector, as the aliases must be visible in the font/family list,
4975         or GtkFontSelector reads uninitialized memory.
4976
4977 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
4978
4979         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
4980         XGetIMValues to properly terminate variable argument list, and do
4981         NULL return check for ic_values and xim_styles.
4982
4983         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
4984         Restore preedit state after XmbResetIC().
4985         
4986         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
4987         XvaCreateNestedList() should take XvaNestedList, but not
4988         XvaNestedList*.
4989
4990         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
4991         preedit_draw_callback, preedit_caret_callback): Match
4992         "preedit-changed" signal name to "preedit_changed" to be
4993         consistent to the spec.
4994
4995         * gtk/gtkimcontextsimple.c (check_table):
4996         Match "preedit-changed" to "preedit_changed" to be consistent
4997         to the spec.
4998
4999 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
5000
5001         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
5002         gc->clip_region == NULL>
5003
5004 2000-11-30  Tor Lillqvist  <tml@iki.fi>
5005
5006         Changes by Hans Breuer:
5007         
5008         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
5009         Dont't use negative width and height as max_hints. This fixes
5010         Owen's recent testgtk changes for win32.
5011
5012         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
5013         gdk_win32_hdc_release): These are exported and may be called with
5014         other drawable types than our GdkDrawableImplWin32 (?).
5015
5016         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
5017         so always #define USE_BACKING_STORE.
5018
5019         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
5020         of printf for debugging output.
5021
5022         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
5023         
5024         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
5025
5026         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
5027         declaration.
5028
5029         * gtk/gtktexttypes.h: Ditto.
5030
5031         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
5032         (GDK_VoidSymbol) also if in case of arg check failure.
5033
5034         * gtk/gtkimcontextsimple.c
5035         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
5036         position to the pointer, but to the variable it points to.
5037
5038         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
5039
5040         * gtk/gtk.def: Updates.
5041
5042 2000-11-29  Elliot Lee  <sopwith@redhat.com>
5043
5044         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
5045         GTK_TYPE_TREE_MODEL.
5046
5047 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5048
5049         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
5050         Set the size of the font from the description.
5051         (gdk_text_width): Gross hack that calculates the width
5052         of text by text_length * size/2. This is necessary because
5053         GtkLabel does some ugly gtk_string_width call to calculate
5054         an good size.
5055         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
5056
5057 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
5058
5059         * docs/tutorial/gtk-tut.sgml: DND updates
5060
5061 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5062
5063         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
5064         If you pass width or height == 0 to gdk_window_clear_area they
5065         should be calculated from the window size.
5066
5067 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5068
5069         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
5070         a grab, but no grab-cursor, use the cursor from the grabbed
5071         window. (gdk_fb_window_send_crossing_events): Send normal
5072         enter/leave notifications if grab and owner_events == TRUE.
5073
5074 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5075
5076         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
5077         Do implicit button grabs, even if the window doesn't
5078         want the event.
5079         (gdk_fb_window_send_crossing_events): If there is a
5080         grab, only the grabbed window gets normal enter/leave
5081         notifications. On ungrab go from grabbed window to current.
5082         Don't send any notification to b when propagating from c -> b.
5083         If setting a grab on window, don't set prev_window.
5084         (handle_mouse_input): Send enter/leave events to the window the
5085         mouse is over, not the grabbed one.
5086         
5087 2000-11-28  Elliot Lee  <sopwith@redhat.com>
5088
5089         * gdk/gdkregion-generic.c: Zap warning.
5090         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
5091         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
5092
5093 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
5094
5095         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
5096         The cursor should be hidden if it is part of either the
5097         source or destination region. Not only if it is in both.
5098         (gdk_window_set_transient_for): Silence warnings.
5099
5100 2000-11-28  Alexander Larsson  <alexl@redhat.com>
5101
5102         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
5103         The default mode in X is Pie Arcs, therefore that is
5104         what Gtk+ uses.
5105
5106 2000-11-28  Alexander Larsson  <alexl@redhat.com>
5107
5108         * gdk/linux-fb/gdkinput-ps2.c:
5109         Implement correct EnterNotify/LeaveNotify:
5110         (gdk_fb_window_send_crossing_events): New function that sends
5111         all GdkCrossingEvents from the last mouse-window to the specified
5112         destination.
5113         (gdk_fb_window_visibility_crossing): Removed function.
5114         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
5115         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
5116         instead of gdk_window_get_pointer() for better readability.
5117
5118         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
5119         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
5120
5121         * gdk/linux-fb/gdkprivate-fb.h:
5122         removed gdk_fb_window_visibility_crossing, added
5123         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
5124
5125         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
5126         New function that finds the least common ancestor of two windows.
5127         (gdk_window_show, gdk_window_hide):
5128         Use gdk_fb_window_send_crossing_events.
5129         (gdk_fb_window_move_resize): Send configure events to toplevel
5130         windows. Use gdk_fb_window_send_crossing_events.
5131
5132 2000-11-27  Havoc Pennington  <hp@redhat.com>
5133
5134         * gtk/gtkprivate.h (enum): Remove a trailing comma
5135
5136 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
5137
5138         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
5139         the "changed" callback of the adjustment.  We need to redraw the
5140         spin button's arrows when the adjustment's range changes.
5141         (adjustment_changed_cb): Draw the arrows.
5142         (gtk_spin_button_value_changed): Draw the arrows.
5143
5144 2000-11-23  Alexander Larsson  <alexl@redhat.com>
5145
5146         * gdk/linux-fb/gdkselection-fb.c:
5147         Initial selection implementation.
5148
5149         * gtk/gtkselection.c:
5150         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
5151         requestor in gtk_selection_request.
5152         
5153         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
5154         Added gdk_selection_property atom.
5155
5156         * gdk/linux-fb/gdkprivate-fb.h:
5157         Export _gdk_selection_window_destroyed.
5158         Removed mask_off_x/y from GdkCursorPrivateFB.
5159         Removed hbearing, added top, left to PangoFBGlyphInfo.
5160
5161         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
5162         Call _gdk_selection_window_destroyed
5163         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
5164         the root window has been created.
5165         (static_dx_hack, static_dy_hack, compare_draw_rects,
5166         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
5167         in region. They are already sorted. Instead just traverse them in
5168         reverse if draw_direction < 0.
5169         
5170         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
5171         Double-clicks must be sent after the normal button_press.
5172         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
5173         
5174         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
5175         Pass _gdk_fb_screen_gc instead of NULL.
5176
5177         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
5178         Initialize gdk_selection_property.
5179         (gdk_event_make): Remove unused code.
5180
5181         * gdk/linux-fb/gdkcursor-fb.c:
5182         Make the pixmap for the cursor the same size as the mask. Also remove
5183         the mask_off_x/y fields in GdkCursorPrivateFB and combine
5184         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
5185         Now the whole cursor is visible.
5186
5187         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
5188         Fix bug where xdest+height instead of ydest+height was used
5189         to calculate if the source and dest overlapped. This fixes the
5190         redraw bug when the main window in testgtk was scrolled when
5191         partially covered by a tall window.
5192         Copy rectangles in region in order depending on draw_direction.
5193         Also moved the draw_direction flipping of start_y and end_y into
5194         the gc functions, as this might not be what all of them want.
5195         (gdk_fb_draw_lines): Support dashed lines.
5196         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
5197         so that the text is positioned correctly (was 1 pixel high).
5198
5199         gdk/linux-fb/gdkgc-fb.c:
5200         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
5201         all lines were drawn a pixel to short. Also checked the default of
5202         the rest of the values, and they're the same as X now.
5203
5204         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
5205         Clean up pixel positioning of the glyphs. Just use bgy->top and
5206         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
5207         to all divisions to get correct rounding behaviour.
5208
5209         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
5210         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
5211         Moved start_y/end_y flip into draw_drawable implementations.
5212         Flip also x rendering when draw_direction < 0.
5213         Remove unneccesary multiply with draw_direction.
5214
5215 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
5216
5217         * docs/tutorial/gtk-tut.sgml:
5218           - get rid of gtk_toggle_button_toggled FUD
5219           - start DND section - needs work - based on:
5220                 http://wolfpack.twu.net/docs/gtkdnd/
5221
5222 2000-11-22  Alexander Larsson  <alexl@redhat.com>
5223
5224         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
5225         Correct calculation of font metrics. Now GtkEntrys have sane
5226         size.
5227
5228 2000-11-22  Alexander Larsson  <alexl@redhat.com>
5229
5230         * gdk/gdktypes.h:
5231         Add new type GdkSpan
5232         
5233         * docs/reference/gdk/gdk-sections.txt,
5234         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
5235         gdk/gdkregion.h:
5236         Implement and document gdk_region_spans_intersect_foreach.
5237
5238         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
5239         Add new file gdkrender-fb.c which contains all core
5240         rendering code.
5241         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
5242         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
5243         (optimized rectangle fillers).
5244
5245         * gdk/linux-fb/gdkdrawable-fb2.c:
5246         Move all rendering code to gdkrender-fb.c.
5247         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
5248         Use the new span intersection functions in gdk_fb_fill_spans.
5249         gdk_fb_draw_rectangle() clips filled rectangles and calls
5250         gc->fill_rectangle with the result.
5251         gdk_fb_fill_spans() gets extra argument "sorted".
5252
5253         * gdk/linux-fb/gdkevents-fb.c:
5254         Remove unused includes and defines.
5255         New function gdk_fb_get_time() to get correct time for events.
5256
5257         * gdk/linux-fb/gdkinput-ps2.c:
5258         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
5259         Make sure to set the time of all events.
5260
5261         * gdk/linux-fb/gdkmain-fb.c:
5262         Use gdk_fb_get_time ().
5263
5264         * gdk/linux-fb/gdkprivate-fb.h:
5265         New virtual GC calls: fill_span & fill_rectangle.
5266         Export gdk_fb_get_time().
5267         gdk_fb_fill_spans() gets extra argument "sorted".
5268
5269         * gdk/linux-fb/mi*.c:
5270         Use GdkSpan instead of GdkRectangle.
5271         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
5272         from XFree 4 source)
5273         
5274 2000-11-22    <jrb@redhat.com>
5275
5276         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
5277         reversing the order in an if statement will do.  Doing so managed
5278         to make the treemodelsort half work.  Other half will follow after
5279         I get the insert function fully fixed.
5280
5281 2000-11-21  Elliot Lee  <sopwith@redhat.com>
5282         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
5283         more than 2 bits. Besides, I need to implement an evil hack. :)
5284
5285 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
5286
5287         * docs/tutorial/gtk-tut.sgml: minor corrections
5288
5289 2000-11-20  Jonathan Blandford <jrb@redhat.com>
5290         * gtk/gtktreemodelsort.h: Add convertion functions to let you
5291           convert to and from relative path's and iters.
5292
5293         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
5294           testing sorting functions a bit better.  Currently broken -- will
5295           fix in morning.
5296
5297 2000-11-20  Havoc Pennington  <hp@redhat.com>
5298
5299         * gtk/gtkwidget.c: Documented a bunch of functions in here
5300         (gtk_widget_realize): Warn if you try to realize
5301         a widget with no parent that isn't a toplevel
5302         (gtk_widget_intersect): return a gboolean
5303
5304 2000-11-20  Havoc Pennington  <hp@redhat.com>
5305
5306         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
5307         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
5308         scrolling to be implemented in GDK to finish. Also, right now
5309         we just size_allocate all children on every layout change,
5310         which is pretty lame. Test commented out of testtext.c, 
5311         until it works better.
5312
5313 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
5314
5315         * gdk/linux-fb/gdkdrawable-fb2.c:
5316         Removed unused arguments from gdk_fb_drawable_get_pixel().
5317
5318         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
5319         Renamed fidur specific mouse packet data in MouseDevice to
5320         generic. Used it in ps2 mouse handling code to avoid blocking
5321         reads.
5322
5323 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
5324
5325         * demos/gtk-demo/main.c: Changed to have the list become
5326         non-italic when the demo window is destroyed through an external
5327         event (like a close button).  Doing so found three bugs in the
5328         widget.
5329
5330         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
5331
5332         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
5333         we actually set the cell.
5334
5335         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
5336
5337         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
5338         free a leaked path.  Thanks memprof.
5339
5340 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
5341
5342         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
5343         off-by-one error when destroying allocated segments
5344         on failure. (Elliot)
5345
5346 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
5347
5348         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
5349         memleaks found by Evan Martin.
5350
5351 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
5352
5353         * Released 1.3.2
5354         
5355         * NEWS: Updates for 1.3.2
5356
5357 2000-11-17  Tor Lillqvist  <tml@iki.fi>
5358
5359         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
5360         but in general for window system specific events.
5361
5362         * gtk/gtk.def
5363         * gtk/makefile.mingw.in
5364         * gtk/makefile.msc.in: Update.
5365         
5366         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
5367
5368 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
5369
5370         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
5371         distribute gtk.immodules.
5372
5373         * gtk/Makefile.am (install-data-local): Don't install the
5374         gtk.immodules file created for the uninstalled modules;
5375         instead run gtk-query-immodules after install
5376
5377 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
5378
5379         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
5380         -rpath to the right install location.
5381
5382         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
5383         -export-dynamic.
5384
5385         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
5386         properly.
5387
5388 2000-11-15  Havoc Pennington  <hp@pobox.com>
5389
5390         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
5391         patch from Mikael Hermansson to temporarily stop blinking while
5392         the user is using the keyboard to type or navigate. 
5393
5394         Also, when blinking, stay on for longer than we stay off. Also,
5395         return from start_cursor_blink if !cursor_visible, to save
5396         checking that flag all over the place before we call
5397         start_cursor_blink.
5398
5399 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
5400
5401         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
5402         only contain a "fontset" line, which is now ignored.
5403
5404         * gtk/gtkentry.c (gtk_entry_button_release): Make 
5405         double-click-to-select-word work.
5406         
5407 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
5408
5409         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
5410         Don't move back one char when we are actually at the end of the 
5411         paragraph.
5412
5413 2000-11-15  Robert Brady  <robert@suse.co.uk>
5414
5415         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
5416         'o' < 'p'.
5417         
5418         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
5419         bind_textdomain_codeset.
5420
5421         (gtk_init_check): Make the warning about translating default:LTR
5422         sterner.
5423         
5424 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
5425
5426         * **/Makefile.am : remove unecessary rules for win32-specific
5427         config-substituted targets. If you want these rules, use
5428         --enable-maintainer-mode (called automatically by autogen.sh).
5429         Stops a lot of unneccessary make-time warnings.
5430
5431         * gtk/gtktext{layout,display}.c: Factor in total width as
5432         well as screen when figuring alignment for word-wrap as well as
5433         no wrap; this is necessary to handle lines that cannot be wrapped
5434         at all.
5435
5436 2000-11-15  Havoc Pennington  <hp@redhat.com>
5437
5438         * gtk/testtext.c: Implement essential color cycling feature
5439
5440 2000-11-15  Havoc Pennington  <hp@redhat.com>
5441
5442         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
5443         when we invalidate the main window.
5444
5445         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
5446         GtkTextView will now invalidate the side windows for us when text
5447         changes.
5448
5449 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
5450
5451         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
5452         unconditionally, since we may need to update the horizontal
5453         scrollbars even if the height didn't change.
5454
5455         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
5456         the extra attrs, since some of them affect size.
5457
5458         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
5459         x_offset correctly.
5460
5461 2000-11-15  Havoc Pennington  <hp@redhat.com>
5462
5463         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
5464         don't move the first line out into the margin, instead move the
5465         whole paragraph in order to make space for the first line within 
5466         the margin
5467
5468 2000-11-15  Havoc Pennington  <hp@redhat.com>
5469
5470         * gtk/gtktextview.c (changed_handler): offset redraw rect by
5471         xoffset in addition to yoffset, so horizontal scrolling doesn't
5472         break redraws
5473
5474 2000-11-15  Havoc Pennington  <hp@redhat.com>
5475
5476         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
5477         from the cursor
5478         (render_layout_line): fix reversed test that caused weird
5479         underlines to get drawn
5480
5481 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
5482
5483         * gdk/linux-fb/gdkprivate-fb.h:
5484         Fix debug macros.
5485         
5486 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
5487
5488         * gdk/linux-fb/gdkprivate-fb.h:
5489         Added virtual functions set_pixel, get_color,
5490         fill_span and draw_drawable to the GC.
5491         Added global _gdk_fb_screen_gc to use instead of
5492         NULL when drawing to the screen.
5493         Added _gdk_fb_gc_calc_state() prototype.
5494
5495         * gdk/linux-fb/gdkgc-fb.c:
5496         Call _gdk_fb_gc_calc_state() on any gc state change.
5497
5498         * gdk/linux-fb/gdkglobals-fb.c:
5499         Add _gdk_fb_screen_gc
5500                 
5501         * gdk/linux-fb/gdkdrawable-fb2.c:
5502         _gdk_fb_gc_calc_state() calculates best functions
5503         for the GC state and depth.
5504         Moved bpp specialized code to separate functions.
5505         Added optimized 24 bpp AA draw_drawable.
5506
5507         * gdk/linux-fb/gdkevents-fb.c:
5508         Silence gcc warning.
5509
5510         * gdk/linux-fb/gdkimage-fb.c:
5511         Use _gdk_fb_screen_gc
5512
5513         * gdk/linux-fb/gdkwindow-fb.c:
5514         Init and use _gdk_fb_screen_gc
5515
5516         * gdk/linux-fb/mitypes.h:
5517         Remove unused types.
5518
5519 2000-11-14  Havoc Pennington  <hp@pobox.com>
5520
5521         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
5522         to pixels
5523
5524 2000-11-14  Havoc Pennington  <hp@pobox.com>
5525
5526         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
5527
5528         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
5529         unknown char, no real reason we were using a variable. 
5530         Remove gtk_text_unknown_char variable. Fix all the text widget
5531         files accordingly.
5532
5533         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
5534         since the Unicode spec seems to prefer that character for our
5535         purposes.
5536
5537 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
5538
5539         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
5540         value of g_getenv() isn't freeable, so g_strdup it.
5541
5542         * modules/input/inuktitut.c: Inuktitut input method.
5543
5544         * modules/input/Makefile.am: Build this.
5545         
5546 2000-11-14  Elliot Lee  <sopwith@redhat.com>
5547
5548         * gtk/Makefile.am: Install gtk.immodules, needed for operation
5549         of gtk programs.
5550
5551 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
5552
5553         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
5554         reversed > that was causing Home to go to end of previous line.
5555
5556         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
5557         modified-keypresses (leave for bindings.)
5558
5559         * modules/input/Makefile.am: Remove useless -export-dynamic
5560         from module LDFLAGS.
5561
5562 2000-11-14  Havoc Pennington  <hp@redhat.com>
5563
5564         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
5565         higher.
5566
5567         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
5568         account. Also, render rise, underline, background, etc. for
5569         pixbufs as well as text. Also, draw underlines one pixel higher.
5570
5571         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
5572         PangoAttribute for the rise, so it gets drawn properly. Also,
5573         add the GtkTextAppearance attribute for pixbuf/widget segments
5574         as well; we should go ahead and have rise, underline, background,
5575         stipple work for those
5576
5577         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
5578         Pango
5579
5580 2000-11-15  Tor Lillqvist  <tml@iki.fi>
5581
5582         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
5583
5584         * gtk/gtk.def: Update.
5585
5586         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
5587         included.
5588         (gtk_rc_get_im_module_file): Use run-time installation directory
5589         on Win32.
5590
5591         * gdk/win32/rc/gdk.rc: Remove.
5592         * gdk/win32/rc/gdk.rc.in: New file.
5593         * gdk/win32/rc/Makefile.am: New file
5594         * gdk/win32/Makefile.am: Corresponding changes.
5595
5596         * gtk/gtk.rc: Remove.
5597         * gtk/gtk-win32.rc.in: New file.
5598         * gtk/Makefile.am: Corresponding changes.
5599
5600         * configure.in: Corresponding changes.
5601
5602         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
5603         has a built gtkcompat.h. Developers using CVS code on Win32 can
5604         hand-edit it from gtkcompat.h.in.
5605
5606         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
5607         gtkcompat.h from gtkcompat.h.win32.
5608
5609 2000-11-14  Havoc Pennington  <hp@redhat.com>
5610
5611         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
5612         to default to GDK_ACTION_MOVE if the drag is within a single
5613         widget. Defaults to GDK_ACTION_COPY between widgets.
5614
5615 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
5616
5617         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
5618
5619         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
5620
5621         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
5622         srcdir != builddir
5623
5624         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
5625
5626         * configure.in (GTK_VERSION): Up to 1.3.2
5627
5628         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
5629         gtkimcontextxim.h
5630
5631         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
5632         missing doc comment.
5633
5634 2000-11-14  Alexander Larsson  <alexl@redhat.com>
5635
5636         * modules/linux-fb/basic.c:
5637         Use the glib iconv wrappers.
5638
5639 2000-11-13  Havoc Pennington  <hp@pobox.com>
5640
5641         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
5642         still more bugs.
5643
5644         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
5645         scroll the GdkWindows before realization.
5646
5647 2000-11-13  Havoc Pennington  <hp@redhat.com>
5648
5649         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
5650         where GC didn't always get updated properly
5651
5652         * demos/gtk-demo/textview.c (create_tags): Use subattributes
5653         of fonts instead of setting the entire font
5654
5655         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
5656         setting entire font
5657
5658         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
5659
5660         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
5661         a bunch of individually-settable font attributes. You can still 
5662         use the "font" and "font_desc" args, they just set all the font
5663         attributes at once.
5664
5665 2000-11-13 Elliot Lee <sopwith@redhat.com>
5666
5667         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
5668
5669 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
5670
5671         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
5672         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
5673
5674         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
5675         work better.
5676
5677 2000-11-13  Havoc Pennington  <hp@redhat.com>
5678
5679         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
5680         the module file.
5681
5682         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
5683         dest->language
5684
5685         * gtk/testtext.c: Test pixels above/below/inside paragraphs
5686         settings
5687
5688         * gtk/gtktextview.c: Implement object args and setters/getters for
5689         all the aspects of the GtkTextAttributes that are not set from
5690         GtkWidget attributes. This is spacing, justification, margins,
5691         etc.
5692
5693         (gtk_text_view_set_arg)
5694         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
5695         args
5696         (gtk_text_view_class_init): Add args for justify, left_margin,
5697         right_margin, indent, and tabs
5698         
5699
5700         * gtk/gtktextlayout.c (set_para_values): fix to display indent
5701         attribute properly
5702
5703         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
5704         replace with indent attribute
5705
5706         * gtk/gtktextlayout.c (set_para_values): multiply indent by
5707         PANGO_SCALE
5708
5709         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
5710         rearranging code to do that
5711         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
5712         i.e. don't subtract the top_margin first, just to keep
5713         all margin-futzing in one place.
5714
5715         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
5716
5717         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
5718         special case of last line, Pango now handles this itself.
5719         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
5720         Y coordinate
5721         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
5722         (find_display_line_above): wasn't moving the byte index as it
5723         iterated over lines, so always returned byte 0. Also, port to use
5724         PangoLayoutIter.
5725         (find_display_line_below): same problem as
5726         find_display_line_above. Also, port to use PangoLayoutIter.
5727
5728 2000-11-13  Alexander Larsson  <alexl@redhat.com>
5729
5730         * gdk/linux-fb/*.[ch]:
5731         Massive reindent to gtk+ standard. My hands hurt.
5732
5733         * gdk/linux-fb/gdkcolor-fb.c:
5734         Move GdkColorPrivateFB from inherited to windowing_data
5735
5736         * gdk/linux-fb/gdkcursor-fb.c:
5737         _gdk_cursor_new_from_pixmap made static
5738
5739         * gdk/linux-fb/gdkdnd-fb.c:
5740         GdkDragContextPrivate moved to windowing_data
5741
5742         * gdk/linux-fb/gdkdrawable-fb2.c:
5743         Removed endian.h, use glib endianness macros instead
5744         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
5745         and GDK_DRAWABLE_IMPL_FBDATA
5746
5747         * gdk/linux-fb/gdkfont-fb.c:
5748         Add empty gdk_font_load(). Needed for linking of Gtk+.
5749
5750         * gdk/linux-fb/gdkimage-fb.c:
5751         Removed endian.h, use glib endianness macros instead
5752         Moved GdkImagePrivateFB to windowing_data
5753         gdk_image_new_bitmap didn't always allocate enough
5754         memory.
5755
5756         * gdk/linux-fb/gdkinput-ps2.c:
5757         Added semi-working support for MS serial mice.
5758
5759         * gdk/linux-fb/gdkprivate-fb.h:
5760         s/GdkWindowPrivate/GdkWindowObject/
5761         Removed GdkWindowPrivate typedef
5762         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
5763         Removed GDK_DRAWABLE_P
5764         Move GdkColorPrivateFB from inherited to windowing_data
5765         Moved GdkImagePrivateFB to windowing_data
5766
5767         * gdk/linux-fb/gdkvisual-fb.c:
5768         Removed some unused debug code.
5769
5770         * gdk/linux-fb/gdkwindow-fb.c:
5771         Use stock cursors instead of including X headers.
5772         s/GdkWindowPrivate/GdkWindowObject/
5773
5774         * gdk/linux-fb/mitypes.h:
5775         Removed unused types.
5776
5777         * modules/linux-fb/basic.c:
5778         Use the pango fribidi wrappers.
5779
5780 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5781
5782         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
5783         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
5784         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
5785         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
5786         GEqualFunc where applicable.
5787         
5788         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
5789         pango_font_description_equal as changed in pango.
5790         
5791         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
5792
5793         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
5794
5795         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
5796
5797         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
5798
5799         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
5800
5801         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
5802
5803         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
5804         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
5805
5806         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
5807         gtk_rc_styles_compare -> gtk_rc_styles_equal.
5808
5809 2000-11-12  Havoc Pennington  <hp@pobox.com>
5810
5811         * demos/gtk-demo/Makefile.am (democodedir): change demo install
5812         dir to datadir/gtk+-2.0/demo
5813
5814         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
5815         sorts of text widget and Pango font bugs. Urgh.
5816
5817         * demos/gtk-demo/Makefile.am (demos): Add textview.c
5818
5819         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
5820         tree that you should double click to see the demo. Fix 
5821         types of variables to reflect changed return values from 
5822         GtkTreeStore and GtkTreeViewColumn constructors.
5823
5824         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
5825         newly-created buffer to prepare for GObject semantics
5826
5827         * gtk/testtext.c: don't leak the buffer with GObject semantics
5828
5829         * gtk/testtextbuffer.c: ditto
5830         
5831 2000-11-12  Havoc Pennington  <hp@pobox.com>
5832
5833         Rename this testgtk to gtk-demo to avoid confusion, and 
5834         install it so people can use it as a supplement to 
5835         the documentation.
5836         
5837         * demos/gtk-demo: Moved from demos/testgtk
5838
5839         * demos/testgtk: Removed
5840
5841         * configure.in: make Makefile in gtk-demo
5842         
5843         * demos/gtk-demo/Makefile.am: Install sample source to 
5844         datadir/gtk-demo (maybe there's a better place?), and 
5845         rename the binary to gtk-demo
5846         
5847         * demos/gtk-demo/main.c (load_file): Load installed sample
5848         source if source isn't found in pwd.
5849
5850 2000-11-09  Havoc Pennington  <hp@pobox.com>
5851
5852         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
5853         argument to set the char displayed when visibility == FALSE
5854         (gtk_entry_create_layout): If !entry->visible, replace 
5855         all chars with the "invisible char"
5856
5857         * gtk/testgtk.c: Test the invisible_char deal
5858         
5859 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
5860
5861         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
5862         can't get a native font in the right encoding.
5863
5864 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
5865
5866         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
5867         respectively.
5868
5869 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
5870
5871         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
5872         Fix warning when moving between paragraphs.
5873
5874         * gtk/gtkentry.[ch]: Change move => move_cursor, 
5875         delete => delete_from_cursor, insert => insert_at_cursor
5876
5877 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
5878
5879         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
5880
5881         * modules/input/imthai-broken.c: A Thai input method for use if
5882         Thai keys are really generating Latin1 keysyms.
5883
5884         * modules/input/Makefile.am: Build these.
5885
5886 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
5887
5888         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
5889         g_filename_{to,from}_utf8 now takes an extra parameter.
5890
5891         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
5892         strftime into UTF-8.
5893
5894         (column_from_x, gtk_calendar_paint_day_names): Support RTL
5895         calendars.
5896
5897         (gtk_calendar_paint_day_names): Draw day names in the right 
5898         place.
5899         
5900 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
5901
5902         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
5903         problem with using result of g_get_charset() backwards -
5904         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
5905
5906         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
5907         negative min_width/height and max_width/height to
5908         mean "requisition"; this allows setting a window
5909         to be user-resizable in only one direction easily.
5910
5911         * gtk/testgtk.c (create_main_window): Remove hard-coded
5912         usize - set a default size in the vertical direction.
5913
5914 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
5915
5916         * gtk/gtkrange.c: Add some missing casts. Support 
5917         2 and 3 button clicks on the arrows to mean 
5918         "move by pages" and "jump to end". (Like gtkspinbutton)
5919
5920 2000-11-12 Hans Breuer <Hans@Breuer.Org>
5921
5922         * gdk/win32/makefile.msc : reflect build module changes
5923
5924         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
5925         from GdkPixmap*, cast implementation member instead.
5926
5927         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
5928         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
5929         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
5930         more Gdi functions return value checking. 
5931         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
5932         GdkImagePrivateWin32 *.
5933
5934         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
5935         menus useable again. Add #pragma message to keep reminded on this issue.
5936         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
5937         windows. This allows to enable backing store on Win32!
5938
5939         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
5940         in drawable is of impl type. Correct specific type checks appropriate.
5941  
5942         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
5943         GDK_WINDOW_DESTROYED before allocating new resources.
5944
5945         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
5946
5947         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
5948         (gdk_window_foreign_new) initialize parent handle.
5949         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
5950
5951         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
5952         Let the GDI invalidate the window on MoveWindow call to fix scrolling
5953         problems (e.g. main buttons in testgtk). 
5954
5955 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
5956
5957         * gtk/gtkentry.c (gtk_entry_key_press): Call 
5958         gtk_widget_activate for GDK_Return.
5959
5960         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
5961         of preedit cursor position.
5962
5963 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
5964
5965         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
5966         static.
5967
5968 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
5969
5970         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
5971         out support for multiple locales; that simple doesn't
5972         work reliably with current Xlib
5973
5974         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
5975         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
5976         Add support for positioning the cursor within the preedit string.
5977
5978 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
5979
5980         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
5981         at XIM input method module.
5982
5983         * gtk/gtktextview.c: Check for bindings after passing
5984         events to im context filter.
5985
5986 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
5987
5988         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
5989         empty attribute lists properly.
5990
5991 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
5992
5993         * gtk/queryimmodules.c (main): Return non-zero exit
5994         status if errors were encountered querying any
5995         modules.
5996
5997         * modules/input/Makefile.am (moduledir): remove
5998         leftover bin program target.
5999
6000         * docs/make-todo: Fix typo in error message.
6001
6002 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
6003
6004         * configure.in: Add modules/input/Makefile
6005
6006 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
6007
6008         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
6009         don't include gtkthemes.h.
6010
6011         * gtk/testgtk.c gtk/testtext.c: Set environment variables
6012         to point
6013
6014         * gtk/Makefile.am: Add new .c and .h files, build 
6015         gtk-query-immodules and use it to create a gtk.immodules
6016         file for use of test programs.
6017
6018         * gtk/gtkpreview.c: remove extra blank line.
6019
6020 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
6021
6022         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
6023         Add the ability to add extra tables beyond the default
6024         one, and also the ability to have compose sequences 
6025         that are prefixes of other compose sequences. 
6026
6027         * gtk/gtkimcontextsimple.c: Export a preedit string which
6028         consists of possible candidates for keystrokes that have
6029         been entered but not yet committed.
6030
6031         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
6032         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
6033
6034         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
6035         Add a function to add input-method switching menu items
6036         to a menu.
6037
6038         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
6039         when switching input methods.
6040
6041         * gtk/gtkimcontextsimple.[ch]: Change the format of
6042         the compose table to allow compose tables of different
6043         lengths / sequence.
6044
6045 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
6046
6047         * gtk/gtkimmodule.[ch]: Support routines for loading
6048         GtkIMContext implementations dynamically at runtime.
6049
6050         * modules/input/imcyrillic-translit.c: A sample input
6051         method (based on GtkIMContextSimple with an extra table),
6052         which demonstrates preedit strings and the module
6053         system for input modules
6054
6055         * gtk/queryimmodules.c: Program to query the available
6056         input modules and write the results into a file.
6057          
6058         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
6059         extra config options "im_module_file" (cache file for
6060         input method modules), and "im_module_path" - path
6061         to look for modules when generating cache file.
6062
6063         This doesn't scale.
6064
6065 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
6066
6067         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
6068         generic code from gtkthemes into a new abstraction
6069         GtkModule which has the logic for implementing
6070         a loadable module which implements a number of 
6071         GObject types.
6072
6073 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
6074
6075         * gtk/gtkeditable.[ch]: Convert GtkEditable from
6076         a class into an interface  
6077         
6078         * gtk/gtkoldeditable.[ch]: Move the old editable
6079         implementation into here, so legacy widgets can
6080         still rely on the implemenation. GtkOldEditable
6081         exports GtkEditable. Make selection handling
6082         code use new text conversion functions (and
6083         handle UTF-8 as a side-effect). Use GtkClipboard
6084         for CLIPBOARD.
6085
6086         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
6087         Adopt to match above changes.
6088
6089         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
6090         avoid GtkOldEditable implementation. Restructure
6091         to reduce number of places that modify state directly.
6092         Move to GtkBindingSet. Display the preedit string.
6093         Queue recomputation of PangoLayout and scroll position
6094         to improve effiency of doing complex changes naively.
6095         Add a menu with cut/copy/paste and input method selection.
6096
6097 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
6098
6099         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
6100         to set preedit string and attributes; display preedit string by
6101         inserting string and attributes at cursor when creating the
6102         GtkTextLineDisplay.
6103
6104         * gtk/gtktextlayout.c: Move all conversions between byte
6105         positions in PangoLayout and GtkTextIter into new functions
6106         line_display_iter_to_index/index_to_iter that properly
6107         handle the preedit string.
6108
6109         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
6110         it to return const char * (eventually will end up
6111         as GCONST char *, most likely.)
6112
6113         * gtk/gtktextview.[ch]: Handle the preedit string, call
6114         gtk_im_context_reset() as necessary, add a menu to switch
6115         input methods.
6116         
6117         * gtk/gtktextlayout.[ch]: Remove useless
6118         gtk_text_layout_get_log_attrs() function.
6119
6120 2000-11-11  Tor Lillqvist  <tml@iki.fi>
6121
6122         * gdk/gdk.def
6123         * gtk/gtk.def: Update.
6124
6125         * gdk/win32/*.c: Add last argument to g_type_register_static()
6126         calls.
6127
6128         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
6129
6130         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
6131         generated by older wheel mouse drivers. Get the correct y
6132         coordinate from WM_MOUSEWHEEL messages.
6133
6134         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
6135         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
6136         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
6137         Debugging functions.
6138
6139         * gdk/win32/gdkprivate-win32.h: Declare them.
6140
6141         * gdk/win32/gdkinput-win32.h: Add declaration for
6142         gdk_input_window_destroy().
6143
6144         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
6145
6146 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
6147
6148         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
6149         function to help handle keeping things in sync.
6150
6151 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
6152
6153         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
6154         BOXED marshallers.
6155
6156         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
6157         (gtk_list_store_class_init): use the new BOXED marshallers.
6158
6159         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
6160         new_with_values to new_with_types.
6161         (gtk_tree_store_get_column_type): add this.
6162         (gtk_tree_store_class_init): use the new BOXED marshallers.
6163
6164         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
6165         mirror some POINTER marshallers.
6166
6167 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
6168
6169         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
6170         allow more interesting iterators.  Also, made the lifecycle of
6171         iterators more explicit.
6172
6173         * gtk/gtktreemodelsort.[ch]: New model for sorting.
6174
6175         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
6176         types.
6177
6178 2000-11-09  Alexander Larsson  <alexl@redhat.com>
6179
6180         * demos/testgtk/menus.c:
6181         Changes to make the new testgtk compile after
6182         gtk_menu_append was removed.
6183
6184         * gdk/linux-fb/gdkdrawable-fb2.c
6185         (gdk_fb_get_depth, gdk_fb_get_visual,
6186         gdk_drawable_impl_fb_class_init): Implement
6187         these drawable functions. Now GtkImages work again.
6188
6189         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
6190
6191         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
6192         
6193         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
6194         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
6195         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
6196         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
6197
6198 2000-11-08  Havoc Pennington  <hp@pobox.com>
6199
6200         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
6201         visible_set args, don't know where these had gone, I thought they
6202         used to be there
6203
6204         * gtk/testtext.c: Add a menu item to apply invisibility tag;
6205         now we can test the feature and see that it's totally broken.
6206
6207 2000-11-08  Havoc Pennington  <hp@pobox.com>
6208
6209         Make DND copy pixbufs and tags when source and target share a 
6210         tag table.
6211         
6212         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
6213         in-process GTK_TEXT_BUFFER_CONTENTS target
6214         (gtk_text_view_drag_data_received): Paste from
6215         GTK_TEXT_BUFFER_CONTENTS if we receive it.
6216
6217 2000-11-08  Alexander Larsson  <alexl@redhat.com>
6218
6219         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
6220         API changes.
6221
6222         * gtk/gtkmenu.c: Add support for scrolling menus.
6223         Remove gtk_menu_append/prepend/insert, these have been moved to
6224         gtkcompat.h as #defines.
6225
6226         * gtk/gtkcompat.h.in:
6227         Add compatibility #defines for gtk_menu_append/prepend/insert
6228
6229         * gtk/gtkmenu.h: Add data needed for scrolling menus.
6230         GtkMenuPositionFunc gets an extra argument push_in.
6231         gtk_menu_append/prepend/insert removed.
6232         
6233         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
6234         positioning behaviour to fit to scrolling menus.
6235
6236         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
6237         into menuitem->submeny. That is wrong, and broke torn
6238         off submenus of torn off menus, since they were unrealized
6239         when the first menu was unrealized.
6240
6241         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
6242         gtk_menu_shell_select_item() since these need to be overridden in
6243         GtkMenu.
6244
6245         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
6246         positioning behaviour to fit to scrolling menus.
6247         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
6248         the current item so that it is prelighted when the menu pops up.
6249         This is a workaround to the fact that the menu doesn't get the
6250         initial enter event (due to grabs).
6251
6252         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
6253         s/gtk_menu_append/gtk_menu_shell_append/
6254
6255         * gtk/gtknotebook.c:
6256         s/gtk_menu_insert/gtk_menu_shell_insert/
6257
6258         * gtk/testgtk.c (create_menu, create_menus):
6259         Create the first menu with 50 items so that menu scrolling
6260         can be tested.
6261         
6262         
6263         Patch from Jonathan Blandford  <jrb@redhat.com>
6264
6265         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
6266         system to handle size requests.  First, we ask what the size of
6267         the toggle is.  Then, when allocating the size, we allocate the
6268         toggle_size first.  This way we can have multiple menu-item
6269         classes w/o needing a seperate class for each.
6270
6271         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
6272         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
6273
6274         * gtk/gtkcheckmenuitem.c
6275         (gtk_check_menu_item_toggle_size_request): New function to handle
6276         the toggle size-request.
6277
6278 2000-11-07  Havoc Pennington  <hp@redhat.com>
6279
6280         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
6281         Half-ass somewhat fix this function, so that scrolling to the
6282         insertion point works. Pango hacking is in the future to really
6283         fix it.
6284
6285         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
6286         length of data, no longer used.
6287
6288         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
6289         method contents in here, get rid of destroy method
6290         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
6291         that were backward. Remove debug spew.
6292         (cut_or_copy): Make the clipboard work with insert_range to
6293         preserve tags and pixbufs, not just the primary selection.
6294
6295 2000-11-07  Havoc Pennington  <hp@redhat.com>
6296
6297         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
6298         to gtk_text_mark_get_visible
6299
6300         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
6301         bug that was generating an invalid iterator
6302
6303         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
6304         ensure_char_offsets() in front of code placing the iter in an
6305         invalid state.
6306
6307         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
6308         make override_location arg const
6309         (paste): Replace the selection if we paste into the 
6310         current selection
6311
6312         * gtk/gtkselection.h: Remove "GtkSelectioData"
6313         (struct _GtkSelectionData): move the definition here.
6314
6315         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
6316         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
6317
6318         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
6319
6320         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
6321         (gtk_text_buffer_insert_range_interactive): implement
6322         (gtk_text_buffer_get_tags): Remove, replaced by
6323         gtk_text_iter_get_tags()
6324
6325         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
6326         limit parameter, to avoid infinite linear scan.
6327         (gtk_text_iter_backward_search): Add search limit
6328         (gtk_text_iter_forward_find_char): Add search limit
6329         (gtk_text_iter_backward_find_char): Add search limit
6330
6331 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
6332
6333         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
6334         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
6335         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
6336         gdk/linux-fb/gdkwindow-fb.c:
6337         use g_object_new() instead of g_type_create_instance() which
6338         is a private function for fundamental type implementations.
6339
6340         * gdk/linux-fb/gdkinput-ps2.c:
6341         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
6342         instead just store the current modifier state. Add a (somewhat broken)
6343         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
6344         Rename exported function gdk_input_ps2_get_mouseinfo to
6345         gdk_input_get_mouseinfo.
6346
6347         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
6348         gdk/linux-fb/gdkwindow-fb.c:
6349         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
6350         
6351
6352 2000-11-02  Havoc Pennington  <hp@redhat.com>
6353
6354         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
6355         use stock buttons. Should be 100% source compatible, appropriate
6356         filesel fields now point to dialog->vbox and dialog->action_area.
6357         On the bizarre side, dialog->action_area and filesel->action_area
6358         are not the same widget.
6359         (gtk_file_selection_init): Put some padding around the selection
6360         entry, so it isn't touching the GtkDialog separator.    
6361
6362         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
6363         use stock buttons, etc. Should also be source compatible.
6364         Set the dialog default title in _init not _new().
6365         
6366         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
6367         Use stock buttons; don't put a button box inside the existing
6368         dialog button box. Don't bother with push/pop colormap anymore.
6369
6370         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
6371         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
6372         for message dialog, and necessary for the font selection and color
6373         selection with help and apply buttons.
6374         
6375         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
6376         to the created button widget. Set GTK_CAN_DEFAULT on the button.
6377         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
6378         between buttons, put less padding around the action area.
6379         (gtk_dialog_run): Exit on unmap rather than on destroy. 
6380         This will also exit the loop if the widget is hidden.
6381         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
6382         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
6383         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
6384         special-case delete event.
6385
6386         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
6387         formatting
6388         
6389 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
6390
6391         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
6392         button to temporarily disable position recording in the
6393         "saved position" test.
6394
6395 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
6396
6397         * gtk/gtkthemes.c: added compat code that temporarily implements
6398         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
6399         going to be revamped by owen's upcoming GtkModule patches, but
6400         untill then people want gtk to build, right? ;)
6401
6402 2000-11-04  Havoc Pennington  <hp@pobox.com>
6403
6404         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
6405         list
6406
6407         * docs/Changes-2.0.txt: Add note about
6408         gtk_container_get_toplevels()
6409
6410         * gtk/gtktextview.h: formatting
6411         
6412         * gtk/gtktextview.c: don't start descriptions with "Returns",
6413         confuses gtk-doc
6414
6415 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
6416
6417         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
6418         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
6419
6420 2000-11-03  Havoc Pennington  <hp@redhat.com>
6421
6422         * gtk/gtktexttagtable.c: Docs
6423         (gtk_text_tag_table_size): return a signed int
6424
6425         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
6426         (gtk_text_tag_event): make the event_object a GObject
6427
6428         * gtk/gtktextview.c: Write API docs for all functions.
6429
6430         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
6431         for gtk_text_view_get_window_type() called on one of the private
6432         windows.
6433
6434         * gtk/gtktextview.c: Instead of accessing text_view->buffer
6435         directly, call get_buffer() which demand-creates a default
6436         buffer. So gtk_text_view_new() can be used to create a view with a
6437         default buffer in it, if you just want an empty text box users can
6438         put data in. Useful for GUI builders also.
6439
6440 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
6441
6442         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
6443         the charset encodign portion MUST be in lowercase.
6444         * gtk/gtkrc.az: added file for Azeri language
6445
6446 2000-11-03  Havoc Pennington  <hp@redhat.com>
6447
6448         Get widgets working on the btree/buffer side. Display of them 
6449         still doesn't work.
6450         
6451         * gtk/gtktextview.c: start implementing child widget stuff
6452
6453         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
6454
6455         * gtk/gtktextlayout.c: handle embedded widgets
6456
6457         * gtk/gtktextdisplay.c: handle embedded widgets
6458
6459         * gtk/gtktextchild.c: Implement all the child anchor goo
6460
6461         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
6462         function
6463
6464         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
6465         (insert_pixbuf_or_widget_segment): abstract out common portions of 
6466         creating a child anchor or a pixbuf segment.
6467         (gtk_text_btree_create_child_anchor): new function
6468         (gtk_text_btree_unregister_child_anchor): new function
6469
6470         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
6471         allocate_child signal on GtkTextLayout
6472
6473         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
6474         values
6475         (gtk_text_iter_get_child_anchor): new function
6476
6477         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
6478         default handler for the changed signal, which calls
6479         gtk_text_buffer_set_modified(), instead of just always emitting
6480         changed then calling set_modified() manually. I guess this is
6481         maybe more flexible. It seems logical.
6482
6483 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
6484
6485         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
6486         now.
6487
6488         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
6489
6490 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
6491
6492         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
6493         been marked static.
6494
6495 2000-11-02  Havoc Pennington  <hp@redhat.com>
6496
6497         * gtk/testgtk.c (create_labels): had a test backward
6498
6499         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
6500         fields, so the dest GC ends up with the correct clip origin, 
6501         etc. Fixes a bug where colored labels didn't redraw 
6502         properly.
6503
6504 2000-11-02  Alexander Larsson  <alexl@redhat.com>
6505
6506         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
6507         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
6508         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
6509         Add last argument to t_type_register_static call.
6510         
6511         * gdk/linux-fb/gdkdrawable-fb2.c:
6512         Add last argument to t_type_register_static call.
6513         export the get_image drawable virtual function.
6514
6515         * gdk/linux-fb/gdkimage-fb.c:
6516         Add last argument to t_type_register_static call.
6517         rename gtk_image_get to _gdk_fb_get_image and
6518         export it for use by gdkdrawable-fb2.
6519
6520         * gdk/linux-fb/gdkprivate-fb.h:
6521         export _gdk_fb_get_image.
6522
6523         * gdk/linux-fb/gdkselection-fb.c:
6524         Add new api call stubs.
6525
6526         * gtk/Makefile.am:
6527         Missing ( in linux-fb part.
6528
6529         * modules/linux-fb/Makefile.am:
6530         Must link with gdk_pixbuf or get unresolved symbol.
6531
6532 2000-11-01  Havoc Pennington  <hp@pobox.com>
6533
6534         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
6535         GTK_TYPE_TEXT_ITER and BOXED marshallers
6536
6537         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
6538
6539         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
6540         
6541         * gtk/gtk-boxed.defs: add GtkTextIter
6542
6543         * gtk/gtkmarshal.list: Add marshallers for text widget that 
6544         properly use OBJECT and BOXED
6545
6546 2000-11-01  Havoc Pennington  <hp@redhat.com>
6547
6548         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
6549
6550         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
6551         before returning it. 
6552         
6553 2000-11-01  Havoc Pennington  <hp@redhat.com>
6554
6555         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
6556         Clip the rectangle to be rendered to the drawable, since
6557         get_from_drawable() requires a region within the drawable
6558
6559 2000-11-01  Havoc Pennington  <hp@redhat.com>
6560
6561         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
6562         from coordinates.
6563
6564 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
6565
6566         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
6567         it isn't NULL.
6568
6569 2000-11-01  Havoc Pennington  <hp@pobox.com>
6570
6571         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
6572         on a label
6573         (gtk_label_finalize): unref the attr list if any.
6574
6575         * gtk/testgtk.c (create_get_image): close test on second click
6576         (make_message_dialog): close dialog if it exists
6577
6578         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
6579
6580         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
6581         gdk-pixbuf
6582
6583         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
6584         from Pango markup format
6585         (gtk_label_set_markup_with_accel): ditto but with accelerator
6586         parsing
6587
6588         * gtk/gtkimage.c (gtk_image_expose): reformatting.
6589
6590         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
6591         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
6592         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
6593         call gdk_window_get_origin().
6594
6595         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
6596         implement GDK_PIXBUF_ALPHA_FULL
6597         
6598 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
6599
6600         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
6601         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
6602         g_signal_handlers_disconnect_matched to block/unblock and disconnect
6603         multiple handlers respectively, instead of only treating the
6604         first handler found (bug reported by owen).
6605
6606 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
6607
6608         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
6609
6610         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
6611
6612         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
6613         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
6614         gtk/gtktreeviewcolumn.h: Fixed inline docs.
6615
6616         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
6617         widget.  Needs writing someday.
6618
6619         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
6620         the docs.
6621
6622 2000-10-30  Havoc Pennington  <hp@redhat.com>
6623
6624         * gtk/gtktextview.h, gtk/gtktextview.c:
6625         Rename delete_at_cursor delete_from_cursor, and 
6626         move to move_cursor.
6627
6628 2000-10-30  Havoc Pennington  <hp@redhat.com>
6629
6630         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
6631         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
6632         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
6633         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
6634         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
6635         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
6636         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
6637         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
6638         gtktexttypes.h, gtktextview.c, gtktextview.h:
6639
6640         Massive reindentation and reformatting. Arg alignment and comments
6641         still need fixing in various places.
6642
6643 2000-10-30  Havoc Pennington  <hp@redhat.com>
6644
6645         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
6646         to be named insert_at_cursor and delete_at_cursor so C++ can
6647         handle them.
6648
6649 2000-10-28  Tor Lillqvist  <tml@iki.fi>
6650
6651         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
6652         to get a double directory separator in case the home directory
6653         ends with one. This would cause trouble especially on Windows,
6654         where the path will be confused with the syntax for an an UNC
6655         (network share) path \\server\share\path.
6656         (gtk_rc_add_initial_default_files): Ditto.
6657
6658 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
6659
6660         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
6661
6662         * gtk/gtktextview.c: Use correct marshallers.
6663
6664 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
6665
6666         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
6667         use new iter stuff, and added all the appropriate signals et al.
6668
6669         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
6670         code is internal to gtk only.
6671
6672 2000-10-28  Tor Lillqvist  <tml@iki.fi>
6673
6674         * gtk/gtk.def
6675         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
6676         glib-genmarshal etc.
6677
6678 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
6679
6680         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
6681         parallel builds.
6682
6683 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
6684
6685         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
6686
6687 2000-10-27  Robert Brady  <robert@suse.co.uk>
6688
6689         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
6690         en_GB (British), ia (Interlingua).
6691
6692 2000-10-26  Havoc Pennington  <hp@redhat.com>
6693
6694         * gtk/gtktextiter.c (my_strrstr): fix constness warning
6695
6696         Fixed output of:
6697         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
6698         
6699         * gtk/gtktextsegment.c (char_segment_new): rename
6700         (_char_segment_new_from_two_strings): rename
6701         (_toggle_segment_new): rename
6702         
6703         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
6704         (make_clipboard_widget): make it static
6705         (text_get_func): static
6706         (text_clear_func): static
6707
6708         * gtk/gtkcolorsel.c (adjustment_changed): make this function
6709         static
6710         (hex_changed): make it static
6711         (hsv_changed): make it static
6712         (opacity_entry_changed): make it static
6713
6714         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
6715         (toggle_segment_check_func): rename with _gtk
6716
6717         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
6718         (_widget_segment_new): rename
6719         (_widget_segment_add): rename
6720         (_widget_segment_remove): rename
6721         (_widget_segment_ref): rename
6722         (_widget_segment_unref): rename
6723
6724         * gtk/gtktextmark.c (_mark_segment_new): Rename
6725         _gtk_mark_segment_new   
6726
6727 2000-10-26  Havoc Pennington  <hp@redhat.com>
6728
6729         * gtk/gtkmarshal.list: add new marshallers used by the text widget
6730         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
6731         types
6732
6733         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
6734         marshaller types
6735
6736         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
6737         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
6738         license on these files.
6739
6740         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
6741         work.
6742
6743         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
6744         runtime random number different for each tree, instead of 
6745         a constant I made up.
6746
6747 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
6748
6749         * gtk/Makefile.am: buncha cleanups, kludged build sources
6750         dependencies with a Makefile: oldest-source-stamp dependancy
6751         for the moment. automake is really fighting us here, with
6752         intentionally not allowing user-defined rules or dependancies
6753         prior to it's -include $(DEP_FILES) statement. sucks rocks!
6754
6755         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
6756         to public headers. tehy have a comment stating that they are
6757         "semi-public" aren't included by gtk.h and if enums popup there,
6758         they can be /*< skip >*/-ed.
6759
6760         * gtk/gtktextlayout.h: 
6761         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
6762         added LGPL... <SIGH>
6763
6764 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
6765
6766         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
6767         GtkTreeIter.  Added iterators everywhere.
6768
6769         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
6770
6771         * gtk/gtktreeviewselection.c: Changed to use the iterators.
6772
6773         * gtk/gtktreestore.c: Changed to use the iterators.
6774
6775         * gtk/gtkliststore.c: Commented out the code.  Will convert to
6776         iterators tomorrow.
6777
6778         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
6779         iterators tomorrow.
6780
6781         * gtk/treestoretest.c: Changed to use iterators.
6782
6783         * demos/testgtk/main.c: Moved to use the new iterator system.
6784
6785 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
6786
6787         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
6788         localization misbehaviour.
6789
6790         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
6791         a useless type without copy/free.
6792
6793         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
6794         of GTK_TYPE_CTREE_NODE.
6795
6796 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
6797
6798         * gtk/gtksignal.c:
6799         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
6800         applicable.
6801
6802         * gtk/gtk-boxed.defs (GtkSelectionData): specify
6803         gtk_selection_data_copy and gtk_selection_data_free
6804         do GtkSelectionData work as params in signals.
6805
6806 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
6807
6808         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
6809         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
6810         couldn't they at least give it a non-standard name?
6811         
6812         * gtk/gtktextlayout.c: arg! yet another implementation of
6813         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
6814
6815         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
6816         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
6817         home. now i know this _is_ a conspiracy.
6818
6819         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
6820         ::state-changed.
6821
6822         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
6823         (gtk_accel_group_create_add): marshaller signature fixups.
6824
6825         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
6826         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
6827
6828         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
6829         anymore.
6830
6831 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
6832
6833         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
6834         due to the signal system changes, it wouldn't build currently. to
6835         be fixed soon.
6836
6837         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
6838
6839         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
6840         so it needs gtk_marshal_VOID__ENUM() instead of
6841         gtk_marshal_NONE__UINT().
6842
6843         * gdk/gdk*.c: adapted type registration functions.
6844
6845         * gtk/gtkbindings.c:
6846         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
6847         gone.
6848
6849         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
6850
6851         * gtk/gtkobject.c:
6852         (gtk_object_destroy):
6853         (gtk_object_shutdown): fixed recursion guards. basically we have to
6854         catch the case where any of GObject.shutdown() or gtk_object_destroy()
6855         is called during ::destroy, and avoid recursion there.
6856
6857         * gtk/gtktypeutils.c:
6858         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
6859         boxed_copy/boxed_free. this needs a more general solution based on a
6860         publically installed code-generator utility.
6861
6862         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
6863         glib's gobject has support for that now.
6864         define GtkSignalMarshaller in terms of GSignalCMarshaller.
6865
6866 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
6867
6868         * gtk/gtksignal.[hc]:
6869         * gtk/gtkmarshal.[hc]:
6870         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
6871         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
6872         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
6873         care of that.
6874
6875         * *.c: marshaller name fixups.
6876
6877         * gtk/gtkmarshal.list: added a comment briefing the format.
6878
6879 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
6880
6881         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
6882         compatibility macros here now. more specifically, most of
6883         the API is preserved (yes, _most_, nonwithstanding the
6884         following exceptions listed, the API is stil lHUGE ;)
6885         things that got removed completely:
6886         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
6887         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
6888         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
6889         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
6890         gtk_signal_remove_emission_hook().
6891         non-functional functions variants:
6892         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
6893         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
6894         not supported anymore.
6895         (gtk_signal_compat_matched): new internal function to aid
6896         implementation of the compatibility macros, it  provides
6897         functionality to block/unblock/disconnect handlers based
6898         on func/data.
6899
6900         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
6901
6902         * *.c: adaptions to new type registration API signatures.
6903
6904 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
6905
6906         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
6907
6908 2000-10-25  Robert Brady  <robert@suse.co.uk>
6909
6910         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
6911         gdk_property_delete): If window == NULL, assume the root window.
6912         (restoring the behaviour that was in 1.2).
6913         
6914         * gtk/testtext.c (save_buffer): Allow creation of new files when
6915         saving.
6916
6917         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
6918         calls to read().
6919
6920 2000-10-25  Tor Lillqvist  <tml@iki.fi>
6921
6922         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
6923
6924         * gdk/win32/gdkdrawable-win32.c
6925         * gdk/win32/gdkimage-win32.c
6926         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
6927         X11 backend.
6928
6929         * gdk/win32/gdkcc-win32.c
6930         * gdk/win32/gdkcolor-win32.c
6931         * gdk/win32/gdkfont-win32.c
6932         * gdk/win32/gdkinput-win32.c
6933         * gdk/win32/gdkmain-win32.c
6934         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
6935
6936 2000-10-24  Havoc Pennington  <hp@redhat.com>
6937
6938         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
6939         it a static function
6940
6941         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
6942         redraw text when a tag is applied to it.
6943
6944         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
6945         (gtk_text_tag_affects_nonsize_appearance): private functions to
6946         see if a tag requires various kinds of redraw/layout to be queued
6947         up.
6948
6949         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
6950
6951         * gtk/testtext.c (fill_example_buffer): Put the cursor 
6952         at the start of the buffer, so search works by default
6953
6954         * gtk/gtktextiter.c (lines_match): init match_start always
6955
6956         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
6957         function, get iter at a line + a byte index
6958
6959         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
6960         to set byte position within a line
6961         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
6962
6963 2000-10-23  Havoc Pennington  <hp@redhat.com>
6964
6965         * gtk/testtext.c: Re-enable the "find" dialog
6966
6967         * gtk/testgtk.c: Add test for gdk_drawable_get_image
6968         
6969         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
6970         the arguments to gdk_draw_drawable were in the wrong order
6971         (gdk_window_paint_init_bg): This function was ignoring the
6972         init_region, instead of clipping to it, so the entire backing
6973         pixmap was cleared on every begin_paint()
6974         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
6975         was in here again, the loop kept using the same GtkWindowPaint
6976         over and over.
6977         (gdk_window_begin_paint_region): Fix a bug where we had two
6978         x_offset instead of x_offset and y_offset
6979
6980         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
6981         before we get the image.
6982         (gdk_draw_drawable): get the composite before we draw the drawable.
6983         (gdk_drawable_real_get_composite_drawable): default
6984         get_composite_drawable implementation that returns the drawable 
6985         itself
6986
6987         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
6988         get_composite_drawable virtual function
6989
6990         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
6991         list-walking bug
6992
6993         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
6994         make this work if the source drawable is a GdkDrawableImplX11
6995         instead of a public drawable type. This is really broken; the
6996         problem is that GdkDrawable needs a virtual method get_xid(), but
6997         of course that doesn't work in practice. Enter RTTI.
6998
6999         Also, improve mismatched depth message.
7000
7001         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
7002         GdkPixmap
7003
7004         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
7005         install _gdk_x11_get_image as our implementation of get_image
7006         
7007         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
7008         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
7009
7010         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
7011         gdk_drawable_get_image
7012
7013         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
7014
7015         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
7016         get_image
7017
7018         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
7019         trailing semicolon after for loop
7020
7021 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
7022
7023         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
7024         where font_desc for widget's context lagged widget's font_desc by
7025         one step.
7026
7027 2000-10-22  Tor Lillqvist  <tml@iki.fi>
7028
7029         * gdk/win32/gdkgc-win32.c
7030         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
7031
7032         * gtk/makefile.mingw.in
7033         * gtk/gtk.def: Updates.
7034
7035         * gtk/testgtk.c: sleep() is called _sleep in MS's C
7036         library.
7037
7038         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
7039
7040         * gtk/makefile.msc: Remove
7041
7042         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
7043
7044         * gtk/Makefile.am: Add it.
7045
7046         * configure.in: Generate it.
7047
7048         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
7049         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
7050         something even if not implemented, to satisfy picky MSVC.
7051
7052         Patches by Hans Breuer:
7053         
7054         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
7055         SetBkMode() and SetTextAlign() before calling
7056         pango_win32_render().
7057
7058         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
7059         Set hcliprgn to NULL after destroying it.
7060         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
7061
7062         * gdk/win32/gdkgeometry-win32.c
7063         (_gdk_windowing_window_queue_antiexpose): More effective
7064         implementation.
7065
7066         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
7067         depth as default, not the visual's.
7068
7069         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
7070         against empty title.
7071
7072         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
7073         IMAGE_PRIVATE_DATA.
7074
7075         * gdk/win32/gdkimage-win32.c: Use it.
7076
7077 2000-10-22  Robert Brady  <robert@suse.co.uk>
7078
7079         * configure.in: Check for bind_textdomain_codeset
7080
7081         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
7082         present, make use of it.
7083
7084         Add a translatable string "default:LTR" which, if translated
7085         to "default:RTL", will cause the default direction to be
7086         Right-to-Left.
7087
7088         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
7089         direction if marked as flippable.
7090
7091         * gtk/gtkhscale.c: Mark widget as flippable.
7092         
7093 2000-10-04  Havoc Pennington  <hp@redhat.com>
7094
7095         * gtk/testgtk.c (create_buttons): create some stock buttons
7096         with the default accel group
7097         (create_image): test some new GtkImage features
7098         (make_message_dialog): test GtkMessageDialog
7099         (create_modal_window): fix someone's bizzarro indentation
7100
7101         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
7102         GTK_WIN_POS_CENTER_ON_PARENT. 
7103         Add "destroy with parent" setting, which means the window goes
7104         away with its transient parent.
7105         (gtk_window_get_default_accel_group): get the default accel group
7106         for the window.
7107         (gtk_window_set_destroy_with_parent): set/unset destroy with
7108         parent flag
7109         (gtk_window_read_rcfiles): invalidate icon set caches
7110         after reloading rcfiles 
7111
7112         * gtk/gtkenums.h (GtkWindowPosition): add
7113         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
7114         on its parent window when the dialog is mapped for the first time.
7115
7116         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
7117         a simple message dialog class
7118         
7119         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
7120         handler to emit response signal, and maybe later it would
7121         honor a hide_on_delete flag - though that isn't there yet.
7122         Set border width on the vbox to 2, so we get some padding.      
7123         Use a button box for the action area.
7124         (gtk_dialog_key_press): synthesize a delete event if Esc
7125         is pressed and the GtkWidget key press handler didn't 
7126         handle the escape key.
7127         (gtk_dialog_new_with_buttons): new function creates a dialog
7128         with some default buttons in it.
7129         (gtk_dialog_add_action_widget): add an activatable widget
7130         as a button in the dialog - you can also add a non-activatable
7131         widget by accessing the action area directly.
7132         (gtk_dialog_add_button): add a simple button - stock ID or 
7133         label - to the action area
7134         (gtk_dialog_response): emit response signal
7135         (gtk_dialog_run): block waiting for the dialog, return 
7136         the response. Override normal delete_event behavior, so that 
7137         delete_event does nothing inside gtk_dialog_run().
7138
7139         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
7140         emitted when an action widget is clicked or the dialog gets
7141         delete_event
7142
7143         * gtk/gtk.h: add gtkmessagedialog.h
7144
7145         * gtk/Makefile.am: add gtkmessagedialog.[hc]
7146
7147 2000-10-18  Havoc Pennington  <hp@redhat.com>
7148
7149         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
7150         where any number of empty lines would get skipped
7151
7152         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
7153         edge.
7154
7155         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
7156         warning about invalid iterators (explain more thoroughly)
7157         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
7158
7159         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
7160         big
7161
7162         * demos/*.c: Add error handling
7163
7164         * gtk/gtktextbuffer.c: don't modify const iterators
7165
7166         * gtk/gdk-pixbuf-loader.c: Add full error handling here
7167
7168         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
7169         on file load
7170
7171         * gtk/gtkiconfactory.c: Update to reflect addition of error
7172         handling to gdk-pixbuf loaders
7173
7174 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
7175
7176         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
7177         move to new modularized testgtk.
7178
7179 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
7180
7181         * gtk/gtktreeview.c: Draw the arrows correctly.
7182
7183         * gtk/gtktreemodel.c: Added user docs.
7184
7185         * gtk/gtk.h: remove gtktreedatalist.h.
7186
7187         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
7188         parent when generating my type.
7189
7190         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
7191         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
7192
7193 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
7194
7195         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
7196         GtkTreeModel from object to interface.
7197
7198 2000-10-16  Havoc Pennington  <hp@redhat.com>
7199
7200         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
7201         compilation
7202
7203 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
7204
7205         * gtk/gtktreeselection.c: Add API documentation to all public
7206         functions.
7207
7208         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
7209         functions.
7210
7211 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
7212
7213         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
7214         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
7215         docs to all public functions.
7216
7217         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
7218         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
7219         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
7220         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
7221         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
7222         issue.
7223
7224 2000-10-14  Robert Brady  <robert@suse.co.uk>
7225
7226         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
7227
7228 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
7229
7230         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
7231         values other then G_TYPE_STRING.
7232         * gtk/gtktreeselection.c: Minor commenting updates.
7233         * gtk/gtktreeview.c: Format updates.
7234
7235 2000-10-09  Tor Lillqvist  <tml@iki.fi>
7236
7237         * README.win32: Update.
7238
7239         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
7240         lines that had been deleted by mistake (?).
7241
7242         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
7243         also the case fg==white and bg==black (but still not randomly
7244         coloured cursors). Thanks to Wolfgang Sourdeau.
7245
7246         * gdk/win32/*.c: Silence gcc -Wall.
7247
7248         * gtk/gtk.def: Add missing entry points.
7249
7250         Fixes by Hans Breuer:
7251
7252         * gdk/makefile.msc
7253         * gdk/win32/makefile.msc: Update.
7254
7255         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
7256         some MSVC thing, presumably), cause breakpoint on failures. Add
7257         GDK_NOR case. Call g_log_set_always_fatal.
7258
7259         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
7260         should be pased by reference.
7261         
7262         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
7263         
7264         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
7265
7266         * gdk/win32/gdkevents-win32.c
7267         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
7268
7269         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
7270         implementation object.
7271
7272         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
7273         not just windows.
7274         
7275         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
7276         Use the wrapper object.
7277         
7278 2000-10-06  Havoc Pennington  <hp@redhat.com>
7279
7280         * Makefile.am (SRC_SUBDIRS): contrib subdir
7281
7282         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
7283         so it can be used in Xlib version
7284
7285         * demos/testpixbuf.c (update_timeout): error checking from 1.0
7286         tree
7287
7288         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
7289         change from 1.0 tree that returns first frame of animation
7290         if the loaded file is an animation.
7291
7292         * contrib: add new directory to hold stuff that comes with GTK+
7293         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
7294         
7295         * configure.in: add contrib/*
7296
7297 2000-10-05  Havoc Pennington  <hp@redhat.com>
7298
7299         * demos/testpixbuf-save.c: add pixbuf save test
7300
7301         * demos/Makefile.am: add testpixbuf-save.c
7302
7303 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
7304
7305         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
7306         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
7307         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
7308         * gtk/gtktreeselection.[ch]: Replaced
7309         "node_selected"/"node_unselected" signal with "selection_changed"
7310         signal.
7311
7312 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
7313
7314         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
7315         tree widget.
7316
7317 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
7318
7319         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
7320         drawing.
7321
7322 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
7323
7324         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
7325         Move list pointer forwards before removing item from
7326         list. (Crash reported by Salmaso Raffaele)
7327
7328         * gdk/gdkwindow.h: Remove spurious trailing ,
7329
7330         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
7331         dependencies on uninstalled libraries, sorry folks.
7332
7333 2000-10-04  Havoc Pennington  <hp@redhat.com>
7334
7335         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
7336         gtk/gtkiconfactory.c: Fix copyrights    
7337
7338         * demos/testpixbuf.c: add inline pixbuf test
7339         
7340 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
7341
7342         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
7343         Add gdk_window_iconify.
7344
7345         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
7346         (gdk_window_set_geometry_hints): Add win_gravity
7347         to geometry structure.
7348
7349         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
7350         Implement _NET_WM_PING.
7351
7352         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
7353         Set _NET_WM_PID on the client leader.
7354
7355         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
7356         Handle UTF-8 better.
7357
7358         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
7359         UTF-8 better, set _NET_WM_NAME as well. Only set
7360         icon name if it hasn't previously been explicitely 
7361         set.
7362
7363 2000-10-03  Havoc Pennington  <hp@redhat.com>
7364
7365         * gtk/testtextbuffer.c: clean up trailing whitespace,
7366         add extensive tests for tag toggle iteration.
7367         
7368         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
7369         distance
7370
7371         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
7372         optimize case where the tag root is on level 1
7373         (gtk_text_line_previous_could_contain_tag): attempt to implement
7374         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
7375         functionality
7376
7377         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
7378         Implement this, though not very efficiently.
7379
7380         * gtk/gtktextiterprivate.h: reformat
7381
7382         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
7383         iterator
7384
7385         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
7386         this to properly revalidate the iterators.
7387
7388         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
7389         properly at the end of the line (and therefore on empty lines)
7390
7391         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
7392         maybe we should return a value...
7393
7394 2000-10-03  Tor Lillqvist  <tml@iki.fi>
7395
7396         * config.h.win32: Guard definition of alloca(). glib.h now handles
7397         that.
7398
7399         * gdk/gdk.def
7400         * gtk/gtk.def: Add new entry points.
7401
7402         Changes just to make GTK+ build without errors on Win32. No hope
7403         of it working in its current state, though...:
7404         
7405         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
7406         some functions from the X11 backend, just to make GTK+ build.
7407
7408         * gdk/makefile.mingw.in
7409         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
7410         number. Add new object files.
7411
7412         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
7413         GetMessageTime to get timestamp (where on X11 uses
7414         gdk_x11_get_server_time()).
7415
7416 2000-10-02  Havoc Pennington  <hp@pobox.com>
7417
7418         * gtk/gtktextview.c: text_window_* weren't static and should have
7419         been.
7420         Start work on child widgets; not yet complete, syncing to 
7421         office computer.
7422
7423         * gtk/gtktextchild.h: change this to contain a public interface,
7424         starting work on child interfaces.
7425         * gtk/gtktextchildprivate.h: move private interfaces here
7426
7427         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
7428
7429         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
7430         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
7431         gtk/gtktextmark.c: copyright notices
7432
7433         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
7434         internal functions      
7435
7436         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
7437         internal function
7438
7439         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
7440         Reformatting    
7441
7442 2000-09-30  Havoc Pennington  <hp@pobox.com>
7443
7444         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
7445         NULL start/end pointers
7446
7447         * gtk/gtktextbuffer.c: Write some docs
7448         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
7449         NULL, so you can just check whether there's a selection.        
7450
7451         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
7452         cleanup_line or segments_changed ourselves, it gets done 
7453         in unlink_segment
7454
7455         * gtk/gtktextmark.h:
7456         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
7457         
7458         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
7459
7460         * gtk/gtktextmark.c: delete some more old Tk cruft
7461
7462         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
7463         mark before removing it, so we can emit MARK_DELETED with a valid
7464         pointer.
7465         (gtk_text_buffer_mark_set): hold ref across signal emission
7466
7467         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
7468         whining about attempts to delete special marks
7469
7470         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
7471         underscore, since it's internal.
7472
7473         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
7474         now implemented in terms of iterators in gtktextiter.h
7475
7476         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
7477         New function, destructively sets contents of buffer. Also 
7478         a convenient way to clear the buffer by setting text to ""
7479
7480         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
7481         multiline string literal
7482
7483         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
7484         text changes.
7485
7486         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
7487         is not dereferenceable
7488         (gtk_text_iter_forward_lines): fix return value
7489
7490 2000-09-29  Havoc Pennington  <hp@redhat.com>
7491
7492         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
7493
7494         * gtk/gtktextview.c: Implement drag thresholding; change functions 
7495         that set border window size to have nicer name
7496         (gtk_text_view_mark_set_handler):  Fix this to have the 
7497         right signature.
7498
7499         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
7500
7501         * gtk/testtext.c: Update with API changes, put line numbers on 
7502         both sides.
7503         
7504         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
7505         with this
7506
7507         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
7508         pixbuf; delete a big block of #if 0 Tk code
7509
7510         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
7511         insert_pixmap with insert_pixbuf
7512
7513 2000-09-29  Martin Baulig  <baulig@suse.de>
7514
7515         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
7516         confusion with the GdkPixbuf of the GNOME 1.x platform.
7517
7518 2000-09-29  Havoc Pennington  <hp@pobox.com>
7519
7520         * gtk/gtktextview.c: Implement the side windows.
7521
7522         * gtk/testtext.c: Implement simple line numbering in the 
7523         left side window; seems to make scrolling sloooow. Oops.
7524         Also, cursor blink is for some reason causing redraws
7525         of the line numbers. Should investigate...
7526
7527 2000-09-28  Havoc Pennington  <hp@redhat.com>
7528
7529         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
7530         scrolling child windows, and draw focus rectangle properly.
7531         
7532         (gtk_text_view_buffer_to_window_coords):
7533         Coordinate transformation to deal with all these freaking windows
7534         and offsets
7535         (gtk_text_view_window_to_buffer_coords): transform the other way
7536
7537         * gtk/testtext.c (create_buffer): Update to match Pango API change
7538
7539         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
7540         anonymous tags
7541         (foreach_unref): don't emit remove signal from finalize, just
7542         set tag's parent to NULL
7543
7544 2000-09-26  Havoc Pennington  <hp@redhat.com>
7545
7546         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
7547         Fix some warnings       
7548
7549 2000-09-26  Havoc Pennington  <hp@redhat.com>
7550
7551         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
7552         headers into the private header list
7553
7554         * Makefile.am (pkgconfig_DATA): install pkg-config files
7555
7556         * configure.in: add pkg-config files
7557
7558         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
7559
7560         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
7561         outstanding icon caches on theme change.
7562
7563         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
7564         important types:
7565
7566         (GtkIconSource): Specification for creating a pixbuf 
7567         appropriate for a direction/state/size triplet from 
7568         a source pixbuf or filename
7569
7570         (GtkIconSet): List of GtkIconSource objects that are used to
7571         create the "same" icon (e.g. an OK button icon), and cache for
7572         rendered icons
7573
7574         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
7575         up the icon set for a given stock ID.  GTK maintains a stack of
7576         GtkIconFactory to search, and applications or libraries can add
7577         additional icon factories on top of the stack
7578         
7579         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
7580         the set of GtkIconSource specified for a given stock ID into 
7581         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
7582         RcStyle, under the specified stock ID.
7583
7584         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
7585         render_icon used to derive a GdkPixbuf from a GtkIconSource.
7586         This allows people to theme how prelight, insensitive, etc. are
7587         done.
7588
7589         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
7590         icon factories for a style, and return the resulting 
7591         icon set if any.
7592
7593         (gtk_style_render_icon): Render an icon using the render_icon 
7594         method in the GtkStyleClass.
7595
7596         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
7597         Use the style for a given widget to look up a stock ID, get the
7598         icon set, and render an icon using the render_icon method 
7599         of the style
7600
7601         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
7602         (contains information about a stock item), the built-in stock item
7603         IDs, and functions to add/lookup stock items.
7604
7605         * gtk/stock-icons/*: Stock icons that come with GTK
7606
7607         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
7608         a button based on a GtkStockItem
7609         (gtk_button_new_accel): Takes a uline string and accel group, and
7610         installs the accelerator.
7611
7612         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
7613         image-display widget.
7614
7615 2000-09-25  Havoc Pennington  <hp@redhat.com>
7616
7617         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
7618
7619         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
7620         Fix a bug when removing node data, we didn't properly 
7621         re-splice the linked list after removing the data.
7622
7623         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
7624         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
7625
7626         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
7627
7628         * gtk/gtktextlayout.c (set_para_values): Set tab array 
7629         for the layout from the GtkTextTag.
7630
7631         * gtk/gtktexttypes.h: delete tab and search cruft, 
7632         remove g_convert() in favor of GLib version
7633
7634         * gtk/gtktexttypes.c: remove tab implementation from here,
7635         move to Pango
7636
7637         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
7638         tab stuff using new PangoTabArray from Pango
7639
7640         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
7641         unused border_width stuff
7642
7643 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
7644
7645         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
7646         glib) and now useless utf_to_latin1() latin1_to_utf()
7647
7648         * gtk/gtktextview.[ch]: Change ::move_insert and
7649         ::delete_text action signals to ::move and ::delete;
7650         create the signals with the right enumeration type,
7651         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
7652         C-v bindings, change Home, End to move to beginning/end
7653         of line, Add C-Home C-End to move to beginning/end
7654         of buffer. Change ::cut_text to ::cut_clipboard, etc;
7655         combine ::scroll_text into ::move; use new GtkSelectionData
7656         functions to simplify DND text handling.
7657         
7658         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
7659         deletion enumerations here, rename enumeration values to 
7660         be consistently plural.
7661
7662         * gtk/gtktextbuffer.c: Use new clipboard interfaces
7663         for cut/copy/paste and primary selection.
7664
7665         * gtk/gtktextbuffer.[ch]: Remove excess time and
7666         'interactive' arguments from cut/copy/paste;
7667         rename cut to cut_clipboard, etc; remove
7668         gtk_text_buffer_get_clipboard_contents().
7669
7670         * gtk/gtktextlayout.[ch]: Add 
7671         gtk_text_layout_move_iter_to_line_end() to move the iter to 
7672         line ends.
7673
7674         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
7675         Functions to set or get a UTF-8 string on the selection
7676         data.
7677
7678         * gtk/gtkclipboard.[ch]: New, simplified selection handling
7679         interfaces.
7680
7681         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
7682         created widgets - one of these is useless if we don't.
7683
7684         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
7685         a public function clear all targets registered for the
7686         widget.
7687
7688         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
7689         Never call gtk_widget_realize() - that was just asking
7690         for bizarre side-effects.
7691
7692         * gtk/gtkselection.c (gtk_selection_owner_set): Call
7693         gdk_selection_owner_set even if the widget is the
7694         same so that we reliably update the timestamp on
7695         the server.
7696
7697         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
7698         gdk_x11_get_server_time() function.
7699         
7700         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
7701         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
7702         Add some tricky filtering on serial numbers for
7703         selection clear events to fix up long-standard
7704         race condition FIXME's in gtkselection.c.
7705
7706         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
7707         routines to convert from utf8 to compound text or
7708         STRING and from a text property to UTF-8.
7709
7710         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
7711         a convenience function gdk_get_current_event_time().
7712
7713         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
7714         and free selection_data->data properly
7715
7716 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
7717
7718         * gtk/gtkthemes.c: Remove some unecessary includes.
7719
7720 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
7721
7722         * gtk/gtktextdisplay.c
7723         * gtk/gtktextlayout.c
7724         * gtk/gtktexttag.c
7725         * gtk/gtktexttag.h
7726         * gtk/testtext.c: Change the overstrike property to strikethrough,
7727         to closer match pango.
7728
7729 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
7730
7731         * gtk/gtktextview.c: Fix up visibility so that focus,
7732         cursor_visible and blink interact properly.  Reenable cursor blink
7733         which had been roughly disabled. Make blink and focus
7734         properly per-view.
7735
7736         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
7737         Add a flag for whether to display insertion cursor and
7738         a function to set the flag.
7739
7740         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
7741         get_line_y() to get_line_yrange(), to be a bit more generally
7742         useful.
7743
7744 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
7745
7746         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
7747           do stop_navigating_submenu, to clear last timeout properly.
7748           Also in gtk_menu_motion_notify move ignore_enter above
7749           the conditional to make it always happen as suggested by Owen
7750
7751 2000-09-07  Tor Lillqvist  <tml@iki.fi>
7752
7753         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
7754
7755         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
7756         w32api headers.
7757
7758         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
7759         declarations.
7760
7761         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
7762         (gdk_win32_get_colormap): A line had been deleted by mistake.
7763
7764         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
7765         (gdk_event_translate): Handle more virtual keycodes to be able to
7766         generate GDK events for Control-comma, Control-period, etc.
7767
7768         * gtk/gtk.def: Add some missing entry points.
7769
7770 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
7771
7772         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
7773         Doc comment fixing. (Mostly non-matching parameter names.)
7774
7775         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
7776         comments a little to avoid looking like a doc comment.
7777
7778         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
7779         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
7780         conversions be changed to GError?)
7781
7782         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
7783         Move private #defines into .c file.
7784
7785         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
7786         order of argument addition, remove duplicates.
7787
7788         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
7789         parent class is FrameClass, not BinClass.
7790
7791         * gtk/gtk.h: Add gtkinvisible, which was missing.
7792         (It's occasionalyl useful for client apps, if seldom.)
7793
7794         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
7795         #define.
7796
7797 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
7798
7799         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
7800         coordinates when creating window, instead of GDK-space
7801         coordinates. (Avoid BadValue on too large windows.)
7802
7803 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
7804
7805         * configure.in (use_mmx_asm): Remove conftest* after use along the
7806         lines of AC_TRY_COMPILE.        
7807         
7808         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
7809         of g_dirname, which is deprecated.
7810         (gtk_rc_parse_any): Removed calls to
7811         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
7812
7813         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
7814         Removed calls to g_hash_table_{freeze,thaw}, as they are
7815         deprecated now.
7816
7817         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
7818         instead of g_basename.
7819         
7820 2000-09-04 Elliot Lee <sopwith@redhat.com>
7821         
7822         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
7823         ANSI warning.
7824
7825 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
7826
7827         * gtk/gtkwidget.h:  Add some documenting comments about 
7828           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
7829           just as owen said on irc.
7830
7831         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
7832           set HAS_DEFAULT.  Only set it if there isn't another window
7833           holding it (a focus window which RECEIVES_DEFAULT) and only unset
7834           it if the widget is not the focused window with RECEIVES_DEFAULT.
7835           This fixes weird double default bugs in dialogs which has things
7836           call gtk_window_set_default at times.
7837
7838 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
7839
7840         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
7841         Nils Barth and David Santiago to improve submenu
7842         navigation. The patch does this by creating a triangular
7843         region from the point where the pointer leaves the
7844         menu to the submenu.  While the pointer is in
7845         that region and a timeout has not expired, events 
7846         that would cause the active submenu to change are
7847         ignored.
7848
7849 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
7850
7851         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
7852         moving a toplevel window immediately after sizing it would
7853         result in it being sized back to the old size since 
7854         impl->width, impl->height aren't updated until we hear
7855         back from the server. There is still a (longstanding) bug
7856         here that gdk_window_get_size() will give the wrong size
7857         until we do hear back.
7858
7859 2000-08-31  Havoc Pennington  <hp@redhat.com>
7860
7861         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
7862         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
7863         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
7864         Rename GtkTextStyleValues to GtkTextAttributes
7865
7866 2000-08-31  Havoc Pennington  <hp@pobox.com>
7867
7868         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
7869         for rapid testing whether an iterator is the end iterator
7870         (gtk_text_btree_new): init end line cache
7871         (gtk_text_line_is_last): use fast cached line to 
7872         see if we're the last line.
7873         (get_last_line): use cached line here too, should 
7874         speed up some random unrelated code.
7875         
7876 2000-08-30  Havoc Pennington  <hp@pobox.com>
7877
7878         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
7879         signals.
7880
7881         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
7882         delete_text signals. This allows the signals to be used for
7883         implementing undo.
7884
7885         * gtk/gtktextbuffer.c: Change signal handler signatures; 
7886         provide "interactive" argument when emitting insert_text or
7887         delete_text signal.
7888         
7889 2000-08-30  Havoc Pennington  <hp@pobox.com>
7890
7891         * gtk/gtktextbuffer.c: Docs
7892
7893 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
7894
7895         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
7896         from switch statements, since Tor removed the enumeration
7897         value.
7898         
7899         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
7900         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
7901
7902 2000-08-29 Elliot Lee <sopwith@redhat.com>
7903         * */*.h: Use G_GNUC_CONST.
7904
7905 2000-08-27  Havoc Pennington  <hp@pobox.com>
7906
7907         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
7908         minor indentation fixes, inserted some FIXME about stuff I
7909         realized was broken while documenting it.
7910         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
7911         GTK convention  
7912
7913 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
7914
7915         * gtk/testgtk.c (create_styles): Fix double free of
7916         font desc.
7917
7918 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
7919
7920         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
7921         
7922         * gtk/testgtk.c (create_styles): Add a test for modifying
7923         the style through gtk_widget_modify_*.
7924
7925         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
7926         a function to get the current modifier style.
7927
7928         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
7929         of the passed in GtkRcStyle instead of ref'ing it.
7930
7931         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
7932
7933 2000-08-20  Tor Lillqvist  <tml@iki.fi>
7934
7935         * gdk/gdkimage.h
7936         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
7937         shared memory image+pixmap GdkImage type, or
7938         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
7939         I am dropping that.
7940
7941         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
7942         actually call gtk_init_abi_check(), passing also
7943         sizeof(GtkWindow). Ditto for gtk_init_check(). 
7944
7945         * gtk/gtk.def
7946         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
7947         New functions, used to check that the GTK+-using code has been
7948         compiled using the correct compiler and switches. In particular,
7949         with gcc one has to use the -fnative-struct switch as GTK+ is
7950         compiled with that.
7951
7952 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
7953
7954         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
7955         ->prev fields when merging lists. (Found simultaneously
7956         by Pawel Salek and Jakub Jelinek)
7957
7958 2000-08-12  Tor Lillqvist  <tml@iki.fi>
7959
7960         * gdk/gdk.def
7961         * gtk/gtk.def: Add missing entries.
7962
7963         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
7964         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
7965
7966         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
7967         function. Dummy implementation at this point.
7968
7969         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
7970         rules. Undefine GTK_COMPILATION when compiling the test programs.
7971         
7972         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
7973
7974 2000-08-11  Tor Lillqvist  <tml@iki.fi>
7975
7976         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
7977         to convert back and forth from UTF-8 and the "system" (or "current
7978         locale") charset when necessary. Indentation/spacing cleanup.
7979
7980 2000-08-10  Havoc Pennington  <hp@redhat.com>
7981
7982         * Makefile.am (snapshot): Change the format of the snapshot
7983         version to match glib
7984
7985         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
7986         from EXTRA_DIST since it doesn't seem to exist
7987
7988 2000-08-10  Tor Lillqvist  <tml@iki.fi>
7989
7990         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
7991         version of the directory name (not the UTF-8 one) when building
7992         the path name to stat().
7993
7994 2000-08-03  Elliot Lee  <sopwith@redhat.com>
7995
7996         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
7997         PANGO_ATTR_SHAPE set.
7998
7999 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
8000
8001         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
8002         Peter Osterlund to simplify the code while keeping the
8003         functionality the same.
8004
8005 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
8006
8007         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
8008         is_viewable() test further inside the function, since removing the 
8009         window from the redraw list without clearing ->update_area
8010         was also very broken.
8011
8012 2000-08-02  Tor Lillqvist  <tml@iki.fi>
8013
8014         * configure.in: Check for <unistd.h>.
8015
8016 2000-08-01  Martin Baulig  <baulig@suse.de>
8017
8018         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
8019         to display the message that this is a development version of GTK+.
8020
8021 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
8022
8023         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
8024         was depending on widget->allocation instead of the width of text_area,
8025         which was incorrect for subclasses like GtkSpinButton.
8026
8027         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
8028         with width == 1 tests that should be width == -1.
8029
8030 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
8031
8032         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
8033         (broken, Elliot, every single window blank on X) custom code with call
8034         to gdk_window_is_viewable() which a) prevents code duplicate and
8035         b) works. 
8036
8037 2000-07-31  Elliot Lee  <sopwith@redhat.com>
8038
8039         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
8040         to get the GDK_PARENT_ROOT() macro to work.
8041         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
8042         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
8043         of, windows that aren't shown.
8044         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
8045         pointer grab stuff.
8046
8047 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
8048
8049         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
8050           s/gtk_main_iteration/g_main_iteration/
8051
8052           Did this already in change:
8053                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
8054           don't know how it got reverted.
8055
8056 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
8057
8058         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
8059         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
8060
8061         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
8062         not gdk_pixbuf.
8063
8064 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
8065
8066         * configure.in,po/{sp,sr}.po: Added Serbian files
8067
8068 2000-07-30  Tor Lillqvist  <tml@iki.fi>
8069
8070         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
8071
8072         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
8073         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
8074         GIOChannel implementation.
8075
8076         * gdk/win32/gdkinput.c
8077         * gdk/win32/gdkpango-win32.c: Update license name here, too.
8078
8079         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
8080         definition to match prototype.
8081
8082         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
8083
8084 2000-07-27  Elliot Lee  <sopwith@redhat.com>
8085
8086         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
8087         function, to allow handling image formats that cannot be detected
8088         by looking at content alone.
8089
8090 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
8091
8092         * docs/tutorial/*.gif *.jpg *.eps
8093           Update these to the same look-n-feel.
8094           Why does including images in DocBook suck so badly?
8095
8096 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
8097
8098         * gtk/gtktable.c: applied patch from Phil Thompson
8099         <phil@river-bank.demon.co.uk> that enables space settings for
8100         the last row/columns as well.
8101
8102 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
8103
8104         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
8105         updates the license headers to the GNU Lesser General Public License,
8106         as well as updating the copyright year to 2000.
8107
8108 2000-07-26  Robert Brady  <rwb197@zepler.org>
8109
8110         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
8111           and po/Makefile, was installing and looking for them under gtk20
8112           and gtk2 respectively.
8113
8114 2000-07-25  Havoc Pennington  <hp@redhat.com>
8115
8116         * gtk/testtext.c: Comment out some stuff that depends on the rest
8117         of my patches.
8118
8119 2000-07-25  Havoc Pennington  <hp@redhat.com>
8120
8121         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
8122         buffer
8123
8124 2000-07-25  Havoc Pennington  <hp@redhat.com>
8125
8126         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
8127         widget changes.
8128
8129         * gtk/gtktextview.h: To be consistent with usage of "line"
8130         throughout the API to mean "newline-terminated thingy", change
8131         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
8132         to MOVEMENT_LINE.
8133
8134         (GtkTextView): Add flags for default editability, and whether to
8135         show the cursor. Add functions to get/set that. Add 
8136
8137         (gtk_text_view_get_iter_location): new function
8138
8139         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
8140         gtktextlayout.h
8141         (g_convert): Add g_convert temporarily, will go in glib in a bit
8142         
8143         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
8144         GtkTextTagTableForeach instead of brokenly using GHFunc.
8145         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
8146
8147         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
8148         moved to public header.
8149
8150         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
8151         "invisible", since "elide" was a bad name.
8152         (gtk_text_tag_get_priority): Added
8153
8154         (GtkTextStyleValues): put this in public header, along with
8155         functions to use it.
8156
8157         * gtk/gtktextmarkprivate.h: Include more headers, since we no
8158         longer include gtktextbtree.h.
8159
8160         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
8161         gtk_text_mark_deleted
8162
8163         * gtk/gtktextlayout.h: Don't include the "really private" headers,
8164         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
8165         to make this possible. Now we only need to install
8166         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
8167         (However the Makefile.am isn't changed yet because of the
8168         logistics of merging gtk-hp-patches piecemeal)
8169
8170         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
8171         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
8172         gtk_text_iter_get_line is now used in the public API for a
8173         different purpose.
8174
8175         * gtk/gtktextiter.h: Clean up function names to be more
8176         consistent. Always call char offset "offset" and byte index
8177         "index". A "line" is always a line number. 
8178
8179         (gtk_text_iter_is_last): new function, more efficient than 
8180         the existing way to check
8181         (gtk_text_iter_is_first): new function, also more efficient
8182
8183         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
8184
8185         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
8186         gtk_text_iter_forward_char, etc.
8187
8188         (gtk_text_iter_forward_to_tag_toggle): Renamed from
8189         forward_find_tag_toggle, since this isn't a linear search
8190
8191         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
8192
8193         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
8194         New functions, search for a buffer substring.
8195
8196         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
8197         interactive and default editable (since we need to store that info
8198         until we receive the selection data).
8199
8200         Remove all the _at_char and at_line etc. versions of functions;
8201         only have iterator versions.
8202
8203         Add _interactive() versions of functions, that consider the
8204         editability of text. (FIXME add interactive flag to the 
8205         insert/delete signals per Darin's suggestion)
8206
8207         (gtk_text_buffer_get_tag_table): new function, demand-creates the
8208         tag table if necessary
8209
8210         Remove declaration of gtk_text_buffer_get_iter_from_string
8211
8212         (_gtk_text_buffer_get_btree): private/internal function, added.
8213         
8214
8215         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
8216         (gtk_text_line_is_last): new function
8217
8218 2000-07-25  Havoc Pennington  <hp@redhat.com>
8219
8220         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
8221         using GtkProgressBar. See Changes-2.0.txt for details.
8222
8223         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
8224         "pulse_step" which are the equivalent of
8225         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
8226         Implement new API.
8227         
8228         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
8229         (use_text_format) to mark whether text set on the progress bar is
8230         a format string. Deprecate entire GtkProgress interface.
8231
8232         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
8233         (gtk_progress_build_string): make this a no-op if use_text_format
8234         is FALSE
8235
8236         * docs/Changes-2.0.txt: Describe progress bar changes.
8237
8238 2000-07-25  Tor Lillqvist  <tml@iki.fi>
8239
8240         * Makefile.am: Include the build directory.
8241
8242         * configure.in: Generate build/Makefile, build/win32/Makefile,
8243         gdk/, gdk/win32/, and gtk/makefile.mingw.
8244
8245         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
8246         Add GETTEXT_PACKAGE.
8247         
8248         * gdk/gdk.def
8249         * gtk/gtk.def: Updates.
8250
8251         * gdk/gdkfont.h
8252         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
8253         need them any longer.
8254
8255         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
8256
8257         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
8258         PANGOWIN32_LIBS and gdk_pixbuf.
8259
8260         * gdk/win32: Compiles, but no doubt doesn't work at all.
8261
8262         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
8263
8264         * gdk/win32/gdkinput.c: New file, temporarily.
8265         
8266         * gdk/win32/gdkinput-win32.h: New file
8267
8268         * gdk/win32/gdkinputprivate.h: Remove.
8269
8270         * gdk/win32/gdkpango-win32.c: New file.
8271
8272         * gtk/makefile.mingw.in: New file
8273
8274         * gtk/makefile.cygwin: Removed
8275         
8276         * gtk/Makefile.am: Update accordingly.
8277
8278         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
8279         made externally visible.
8280
8281         * gtk/gtkmain.c: Use it.
8282         
8283         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
8284         is enough.
8285
8286         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
8287
8288 2000-07-24 Elliot Lee <sopwith@redhat.com>
8289         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
8290         individual backends already.
8291         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
8292         again. Yes, there really is a good reason for this, if you are using the gdkregion
8293         internals, and if you're not, why do you care?
8294         * gdk/gdkwindow.c: Fix inverted condition
8295         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
8296         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
8297         * gtk/gtkrange.c: Redraw trough when moving.
8298         * gtk/gtktypeutils.c: Fix warning by adding const cast.
8299         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
8300
8301 2000-07-23  Tor Lillqvist  <tml@iki.fi>
8302
8303         * configure.in: Check for mkstemp and sigsetjmp. Output
8304         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
8305
8306         More work on GDK for Win32. Still in an intermediate state.
8307
8308         * gdk/makefile.cygwin
8309         * gdk/win32/makefile.cygwin: Removed.
8310         
8311         * gdk/makefile.mingw.in
8312         * gdk/win32/makefile.mingw.in: New files.
8313
8314         * gdk/Makefile.am
8315         * gdk/win32/Makefile.am: Generate and distribute them.
8316
8317         * gdk/win32/gdkwindow-win32.h
8318         * gdk/win32/gdkdrawable-win32.h
8319         * gdk/win32/gdkpixmap-win32.h: New files.
8320
8321         * gdk/win32/gdkcolor-win32.c
8322         * gdk/win32/gdkcursor-win32.c
8323         * gdk/win32/gdkdrawable-win32.c
8324         * gdk/win32/gdkgc-win32.c
8325         * gdk/win32/gdkimage-win32.c
8326         * gdk/win32/gdkprivate-win32.h
8327         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
8328         Rename fields and variables called xcursor, xid, etc (these names
8329         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
8330
8331 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
8332
8333         * gtk/gtkentry.[ch]: Fix some problems with vertical
8334         alignment.
8335
8336         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
8337         char/byte confusion.
8338
8339 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
8340
8341         * gtk/gtktextview.c (changed_handler): Fix bug where
8342         redraw wasn't being done properly when height of
8343         dirty region changed.
8344
8345         * demos/Makefile.am: Remove various references to
8346         -lgmodule
8347
8348 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
8349
8350         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
8351         PangoAttrShape to reserve space for pixmaps, add 
8352         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
8353         in the display functions.
8354         
8355         * gtk/testgtk.c (create_layout): Set some more exotic
8356         scrolled window options
8357
8358         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
8359         Add function to set the shadow type of a window, to allow
8360         putting a shadow around widgets such as GtkLayout or GnomeCanvas
8361         which don't draw their own frame.
8362
8363 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
8364
8365         * docs/tutorial/package-db-tutorial.sh: New file for
8366           packaging DocBook format tutorial
8367
8368 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
8369
8370         * docs/tutorial/gtk-tut.sgml: Minor updates
8371
8372         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
8373
8374 2000-07-19  Tor Lillqvist  <tml@iki.fi>
8375
8376         * gtk/gtksignal.c: Fix C++ comment.
8377
8378         * gtk/gtkimmulticontext.c
8379         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
8380         don't return value from void functions.
8381
8382         * gtk/gtk.def: Add gtk_rc_style_unref.
8383
8384 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
8385
8386         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
8387         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
8388         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
8389         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
8390         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
8391         gtk/gtktypeutils.h: Include files outside of the extern "C"
8392         block. Makes some C++ compiler happy. Reported by Denis Vakatov
8393         <vakatov@peony.nlm.nih.gov>.
8394
8395 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
8396
8397         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
8398           Completes first pass. Hurrah!
8399
8400 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
8401
8402         * docs/tutorial/gtk-tut.sgml: More clean ups.
8403
8404 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
8405
8406         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
8407         paint the background of the text area which was accidentally
8408         removed at some point.
8409
8410         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
8411           
8412          - Move most of the functionality from the theme vtable
8413            into GtkRcStyleClass and GtkStyleClass. The moved
8414            vtable functions were changed a bit in the move to
8415            work better in their new home.
8416
8417          - Get rid of the engine and engine_data fields from
8418            GtkRcStyle and GtkStyle; instead the theme
8419            engine derives theme-specific subclasses of GtkRcStyle
8420            and GtkStyle
8421
8422          - Add extra dlsym() found entry point to themes,
8423            theme_create_rc_style().
8424
8425         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
8426         in gtk_style_real_copy.
8427
8428         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
8429         to register a type associated with an engine. (The engine
8430         won't be unloaded as there is an instance of the type.)
8431
8432
8433 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
8434
8435         * docs/tutorial/gtk-tut.sgml: Clean ups.
8436
8437 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
8438
8439         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
8440           of cleaning up to do.
8441
8442 2000-07-15  Tor Lillqvist  <tml@iki.fi>
8443
8444         * gdk/testgdk.c: New file, quick hack to test backends for
8445         pixel-by-pixel correctness of the most simple graphic operations.
8446
8447 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
8448
8449         * Really release 1.3.1
8450         
8451         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
8452         include structure.
8453
8454 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
8455
8456         * Released 1.3.1
8457
8458 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
8459
8460         * gtk/gtktextlayout.c: use FALSE for size_only most
8461         of the time when calling gtk_text_layout_get_line_display()
8462         to avoid causing double reshapes when a redraw follows
8463         immediately after.
8464
8465 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
8466
8467         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
8468         appropriate region and gdk_window_process_updates() so trough
8469         updating doesn't lag behind the window being scrolled.
8470
8471         * gdk/gdkgc.c: Make parent_class pointer static.
8472          
8473 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
8474
8475         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
8476         include <string.h>.
8477          
8478         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
8479         cut-and-paste error in computing memory offset for 4 channels.
8480
8481 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
8482
8483         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
8484         gtk_rc_append_default_pixmap_path(), since it wasn't
8485         adding an interesting path and we don't have a meaningful
8486         default for this value.
8487
8488 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
8489
8490         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
8491         gtk-config to gtk-config-2.0 move gtk_.m4 to
8492         gtk-2.0.m4
8493
8494         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
8495         gdk/Makefile.am demos/Makefile.am: Change 
8496         library names to libgtk-1.3.la, etc, so that we
8497         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
8498
8499         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
8500         gdk/Makefile.am gdk/x11/Makfile.am
8501         Move include files into /usr/include/gtk-2.0, 
8502         /usr/lib/gtk-2.0/include/
8503          
8504         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
8505         gtk/gtkintl.h: Change package for gettext from 
8506         gtk+ to gtk20. Put hack in autogen.sh to modify
8507         po/Makefile.in.in after gettextize to make this
8508         possible.
8509
8510         * gtk+.spec: Some updates, not tested.
8511
8512         * gdk-pixbuf/Makefile.am: Move loaders into
8513         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
8514
8515         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
8516         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
8517         to THEMENAME/gtk-2.0/. Move engine directory  to
8518         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
8519         
8520 2000-07-12  Tor Lillqvist  <tml@iki.fi>
8521
8522         Win32 changes, still doesn't build though.
8523
8524         * gdk/makefile.cygwin
8525         * gdk/win32/makefile.cygwin
8526         * gtk/makefile.cygwin: Updates.
8527
8528         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
8529         default values for fg and bg pixel as X11 does (0 and 1), not
8530         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
8531         Use 0 for pen width by default (treated as 1 anyway later, but for
8532         apps that might check the value in the GdkGC).
8533         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
8534         interface to gdk_gc_predraw and _postdraw.
8535
8536         * gdk/win32/gdkwin32.h
8537         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
8538
8539         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
8540         extraneous semicolon.
8541
8542         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
8543
8544         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
8545         not the Win32 bitspixel value.
8546
8547         * gdk/win32/gdkcc-win32.c:
8548         * gdk/win32/gdkcolor-win32.c 
8549         * gdk/win32/gdkprivate-win32.h
8550         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
8551         GDK object structure.
8552
8553 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
8554
8555         * docs/tutorial/gtk_tut_12.es.sgml (name): 
8556         * docs/tutorial/gtk_tut_it.sgml (name): 
8557         * docs/tutorial/gtk_tut_fr.sgml (name): 
8558         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
8559         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
8560
8561 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
8562
8563         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
8564           small changes.
8565
8566 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
8567
8568         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
8569         a bug here, never been here and never fixed anything ;(
8570         (don't segfault if tree->root_tree is NULL, which happens prior
8571         to widget realization, but puke instead).
8572
8573 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
8574
8575         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
8576         add the necessary tokens.
8577
8578         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
8579         (gtk_rc_style_to_style): copy thicknesses.
8580         (gtk_rc_init_style): apply thicknesses.
8581         (gtk_rc_parse_style): parse xthickness and ythickness.
8582
8583         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
8584
8585         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
8586         (gdk_window_new): 
8587         (_gdk_windowing_window_init): 
8588         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
8589         (gdk_pixmap_create_from_data): 
8590         (gdk_bitmap_create_from_data): 
8591         (gdk_pixmap_new): 
8592         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
8593         (gdk_image_new): 
8594         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
8595         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
8596         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
8597         (gdk_colormap_get_system): 
8598         (gdk_colormap_new): 
8599         * gdk/gdkwindow.c (gdk_window_init): 
8600         * gtk/gtkstyle.c (gtk_style_new):
8601         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
8602         * gdk/gdkpixmap.c (gdk_pixmap_init): 
8603         * gtk/gtkrc.c (gtk_rc_style_new):
8604         use g_object_new() instead of g_type_create_instance() which
8605         is a private function for fundamental type implementations.
8606
8607 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
8608
8609         * configure.in: Add check for db2html
8610
8611 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
8612
8613         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
8614         hack to set glib_debug_objects based on gtk_debug_flags.
8615
8616 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
8617
8618         * INSTALL.in: Update the Prerequisites section.
8619
8620         * Makefile.am demos/Makefile.am docs/Makefile.am
8621         docs/tutorial/Makefile.am gdk/x11/Makefile.am
8622         gdk/linux-fb/Makefile.am: Dist fixes
8623
8624 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
8625
8626         * NEWS: 10,000 foot view of 1.3.1 changes.
8627
8628 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
8629
8630         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
8631         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
8632         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
8633         gdk/x11/gdkmain-x11.c: 
8634
8635         Patch from George Lebl to add a GdkGrabStatus enumeration to use
8636         as a return value of gdk_*_grab(). Previously, we just
8637         returned the X11 values directly.
8638
8639 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
8640
8641         * gdk/x11/Makefile.am: Patch from George Lebl to 
8642         install all the headers in the right place.
8643
8644 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
8645
8646         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
8647           initial conversion to DocBook.
8648
8649 2000-07-04  Tor Lillqvist  <tml@iki.fi>
8650
8651         * README.win32: Improve a bit.
8652
8653         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
8654         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
8655         Alt+0nnn on the numpad (used to enter characters by numeric code
8656         from current DOS or ANSI codepage) working correctly, as in other
8657         Windows apps.
8658
8659         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
8660         same argument validity tests as in X11 version.
8661         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
8662
8663         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
8664         definitions in case missing from headers.
8665
8666         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
8667         destroy the window-specific cursor.
8668         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
8669         calling GetModuleHandle(NULL).
8670         (gdk_window_set_cursor): Reworked to always copy the passed cursor
8671         with CopyCursor before setting it as the window-specific
8672         cursor. It is OK for the caller to destroy the GdkCursor (and thus
8673         also its Windows cursor) after calling this function. Destroy any
8674         previous window-specific cursor.
8675
8676 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
8677
8678         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
8679         font charset is iso8859-1, not iso-8859-1.
8680
8681 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
8682
8683         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
8684         Use g_get_charset() instead of g_get_codeset().
8685
8686         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
8687         Comment out some strdup'ing functions to keep timj
8688         happy until we finish fighting this out.
8689
8690 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
8691
8692         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
8693         <= width or height.
8694
8695         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
8696         from 1.2 for parent/child states.
8697
8698         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
8699         of typos.
8700
8701         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
8702         event structures, replace with a generic axes field. Replace 
8703         deviceid/sourec with GdkDevice *device.
8704
8705         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
8706         to extract particular axis use value from event. (Also
8707         can be used for normal X/Y.)
8708
8709         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
8710         allow for arbitrary number of axes, namespace everything
8711         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
8712         everywhere.
8713
8714         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
8715         Get rid of the gdk_input_vtable setup if favor of simply
8716         defining the functions in gdkinput-none/gxi/xfree.c in
8717         a similar fashion to the way that the port structure is 
8718         done.
8719
8720         * gtk/gtkdnd.c: Fix fields of synthesized button press event
8721         for new event structures. 
8722
8723         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
8724         new device interfaces.
8725
8726 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
8727
8728         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
8729         set the initial text.
8730
8731         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
8732         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
8733         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
8734         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
8735
8736         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
8737         pango_layout_set_font_description to simplify.
8738
8739 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
8740
8741         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
8742         pango_layout_set_font_description to simplify.
8743
8744 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
8745
8746         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
8747         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
8748         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
8749
8750         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
8751         PANGO_PIXELS() macro.
8752
8753 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
8754
8755         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
8756         that returns a PangoContext owned by the widget and updated to
8757         match future changes in the widget. Also, make 
8758         gtk_widget_create_pango_layout() use this context. If we ever
8759         add a ::changed signal to PangoContext, this will make things
8760         much more convenient. 
8761
8762         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
8763         in the appropriate places instead of destroying the layouts and
8764         creating new ones.
8765
8766         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
8767         in a few strategic places.
8768
8769 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
8770
8771         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
8772         gtk_widget_size_request() on reparented child, if one. Otherwise,
8773         queue_resize() on the child never results in it getting size-requested
8774         at all.
8775
8776         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
8777         in option menus, so that (with luck) people won't copy it into
8778         their apps in the future.
8779
8780         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
8781         to gtk_option_menu_calc_size. This isn't perfect, but should fix
8782         a lot of problems with changing the size of the menu's menu
8783         items after adding it to the option menu.
8784
8785         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
8786
8787         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
8788         the text direction for a widget changes.
8789
8790         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
8791         ::direction_changed to get rid of various hacks.
8792
8793 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
8794
8795         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
8796         name.
8797
8798 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
8799
8800         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
8801         flag to the structure. Do not call XFreePixmap on pixmaps created
8802         by gdk_pixmap_foreign_new().
8803
8804 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
8805
8806         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
8807         value using GdkRGB functionality given GdkColormap and GdkColor.
8808         (name not final, waiting for inspiration.)
8809         
8810         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
8811         set the foreground/background of a GC using the GC's colormap
8812         and GdkRGB. (name not final, waiting for inspiration.)
8813
8814         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
8815         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
8816
8817         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
8818         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
8819         purely a function of the corresponding colormap. Make
8820         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
8821
8822         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
8823         gdk_pixbuf_*create_from_xpm_* in terms of
8824         gdk_pixbuf_new_from_xpm_data(), move into platform independent
8825         code.
8826
8827         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
8828         advantage of the new draw_rgb_32_image_dithalign.
8829
8830         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
8831
8832         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
8833         on each created GC.
8834
8835         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
8836
8837         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
8838         which we initialize from the drawable when the GC is created,
8839         if the drawable has a colormap.
8840
8841         * gdk/x11/gdkgc-x11.c: include string.h for memset.
8842
8843         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
8844
8845         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
8846
8847 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
8848
8849         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
8850         actually returning expose events, make sure to set
8851         the count field properly.
8852
8853         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
8854         accidentally reintroced bug which always cleared
8855         the graphics_exposures value. 
8856
8857 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
8858
8859         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
8860
8861 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
8862
8863         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
8864
8865 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
8866
8867         * docs/faq/gtk-faq.sgml: Start of Section 6.
8868
8869 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
8870
8871         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
8872         
8873         (Fixes problem with drawing childless frames. Pointed out
8874         by and a first patch from Anders)
8875         
8876         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
8877         compute a child_allocation, even if we don't have a child.
8878
8879         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
8880         Always chain to the parent's impl, even if we don't have a child.
8881
8882 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
8883
8884         * gdk/gdkrgb.c: If possible, create only a single shm segment and
8885         use multiple parts of it instead of creating a bunch of separate
8886         segments, since the maximum number of segments per system is not
8887         large. (This might be worth backporting to GTK+-1.2.x if we make a
8888         new release )
8889
8890         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
8891         structure in preparation for per-colormap GdkRGB.
8892
8893         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
8894         to False when we get EINVAL from shmget so that the caller of
8895         gdk_image_new can retry with a smaller segment size.
8896
8897 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
8898
8899         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
8900
8901 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
8902
8903         * configure.in: make the current version number 1.3.1 (binary age 0,
8904         interface age 0).
8905         
8906         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
8907         gtkcompat.h is all we want.
8908
8909         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
8910         GLib primitive types. fixed g_type_register_fundamental() argument
8911         ordering.
8912
8913         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
8914         compiles.
8915
8916         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
8917         object code cleanup, comment trigraph fixes, etc...
8918
8919 2000-06-23  Havoc Pennington  <hp@redhat.com>
8920
8921         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
8922         instead of making up a bogus name for first_para_mark
8923
8924         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
8925         0 as a context ID
8926
8927 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
8928
8929         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
8930
8931 2000-06-21  Havoc Pennington  <hp@pobox.com>
8932
8933         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
8934         we didn't check window->bg_pixmap != GDK_NO_BG.
8935
8936         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
8937         gdk-pixbuf
8938
8939 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
8940
8941         * docs/faq/gtk-faq.sgm: Move file to here.
8942           TODO: Update Makfile.am 
8943
8944 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
8945
8946         * docs/gtk-faq.sgm: Add Section 2
8947
8948 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
8949
8950         * docs/gtk-faq.sgm: New file. Start of DocBook
8951           version of the FAQ.
8952
8953 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
8954
8955         * configure.in (GDK_PIXBUF_MAJOR): Define version
8956         numbers for GDK_PIXBUF_*, as they get substituted
8957         into a header file. Need to consider versioning
8958         for gdk-pixbuf more carefully later.
8959
8960 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
8961
8962         Work with srcdir != builddir.   
8963         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
8964         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
8965         * demos/testpixbuf.c: Likewise.
8966         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
8967         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
8968         <gdk/x11/gdkx.h>.
8969         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
8970         "gdk-pixbuf.h".
8971         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
8972
8973 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
8974
8975         * TODO.xml: Change 1.4 version numbers to 2.0.
8976
8977 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
8978
8979         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
8980         fixups to GTK+ standard.
8981
8982 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
8983
8984         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
8985         gdk-pixbuf.
8986
8987         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
8988         fixups for GObject.
8989
8990         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
8991         gdk-pixbuf with GDK dependencies moved into GDK.
8992         
8993         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
8994         move gdk-pixbuf-loader here until GObject has signals.
8995
8996         * demos/: New directory of demos. Move demos from
8997         gdk-pixbuf here.
8998
8999         * demos/pixbuf-init.c: Small bit of code to check for
9000         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
9001         set GDK_PIXBUF_MODULEDIR appropriately.
9002
9003         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
9004         define which no longer makes sense.
9005
9006 2000-06-21  Havoc Pennington  <hp@redhat.com>
9007
9008         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
9009         gtk_get_default_language
9010
9011         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
9012         new function to get the default language
9013
9014         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
9015         s/gtk_text_view_style_values/gtk_text_style_values/
9016
9017         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
9018         Add a "language" field to tags.
9019
9020         (gtk_text_tag_set_arg): Fix bug in setting
9021         "bg_full_height_set" tag.
9022
9023 2000-06-21  Havoc Pennington  <hp@redhat.com>
9024
9025         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
9026         in the interfaces
9027
9028         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
9029         stuff instead when possible.
9030
9031         * gtk/gtktexttypes.h: Delete some unused constants
9032
9033         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
9034         testtextbuffer.c: use glib instead of custom unicode routines
9035
9036 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
9037
9038         * docs/es/: Removed mistakenly added generated sgml
9039
9040         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
9041         Remove outdated info files.
9042
9043         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
9044         Moved tutorial files into subdir
9045
9046         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
9047         subdir.
9048
9049         * docs/man/gtk_button.pod: Remove. (contents will be
9050         integrated into gtk-reference button page.)
9051
9052         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
9053         docs/faq/Makefile.am: Adjust for new organization
9054
9055 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
9056
9057         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
9058         not $(MKINSTALLDIRS)
9059
9060 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
9061
9062         * gtk/testgtk.c (create_text): Finish the job Elliot started
9063         of removing font setting test for text widget. (Since text widget
9064         and GdkFont are not deprecated, and cause portability problems.)
9065
9066 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
9067
9068         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
9069         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
9070         Remove use of libunicode in favor of new GLib functions.
9071
9072         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
9073         nano-x, framebuffer. The X11 include is just a hack until we get
9074         the necessary functions in gdkcolor.h, so there is no reason to
9075         add other includes of platforms.
9076
9077         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
9078         window bigger than the screen change.
9079
9080         * gtk/testgtk.c: Revert some random changes from Elliot
9081         that had no particular point and were causing testgtkrc
9082         not to function correctly.
9083         
9084         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
9085         because GdkSegment and GdkRegionBox have the same fields,
9086         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
9087         results in clearer code.
9088
9089         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
9090         gdk_input_translate_coordinates): Fix missed GdkObjectification
9091
9092 2000-06-18  Elliot Lee  <sopwith@redhat.com>
9093
9094         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
9095         * gtk/gtk{plug,socket}.h: Missed commits from previous.
9096
9097 2000-06-20  Havoc Pennington  <hp@redhat.com>
9098
9099         * modules/linux-fb/Makefile.am: Make this compile
9100         without framebuffer enabled
9101
9102         * gdk/linux-fb/Makefile.am: Add conditional to not build
9103         framebuffer unless specified in configure
9104
9105         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
9106         the size of the target instead of source if -1 was passed for
9107         width/height
9108
9109         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
9110         width/height confusion.
9111
9112 2000-06-19  Havoc Pennington  <hp@redhat.com>
9113
9114         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
9115         GDK_DRAWABLE_XID. In the future, we probably want to make it
9116         faster with G_DISABLE_CHECKS turned on.
9117
9118 2000-06-14  Havoc Pennington  <hp@redhat.com>
9119
9120         * gdk/Makefile.am: add gdkpixmap.c
9121
9122         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
9123         s/gdk_image_init/_gdk_windowing_image_init
9124
9125         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
9126         ref/unref
9127
9128         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
9129
9130         * gdk/gdkcompat.h: remove GdkWindowType compat, since
9131         GdkWindowType is now non-deprecated; 
9132         change gdk_window_get_type() compat to be
9133         gdk_window_get_window_type().
9134
9135         * gdk/gdkdnd.h: make GdkDragContext a GObject.
9136
9137         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
9138         virtual GObject. Make all functions call into the vtable.
9139         Move gdk_image_put() guts in here. Remove GdkDrawableType
9140         and gdk_drawable_get_type(), these are now GdkWindow-specific.
9141         draw_image, get_depth, get_size, set_colormap, get_colormap,
9142         get_visual added to the vtable.
9143         
9144         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
9145         GObject. Virtualize everything. 
9146         (gdk_gc_new_with_values): remove check for destroyed window,
9147         because now GdkWindow::create_gc will check this.
9148         (gdk_gc_set_values): New function to set GC values, this 
9149         was already implemented but wasn't in the header
9150
9151         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
9152
9153         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
9154         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
9155         remove _gdk_window_class; add _gdk_window_impl_get_type() and
9156         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
9157         _gdk_windowing_window_init, rename gdk_image_init to
9158         _gdk_windowing_image_init.
9159         
9160         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
9161         (gdk_draw_layout): Remove check for destroyed window, 
9162         because all the drawable methods already check it.
9163         
9164         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
9165         Add gdkpixmap.c which contains implementation of GdkDrawable
9166         virtual table (by chaining to a platform-specific implementation
9167         object).
9168         
9169         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
9170         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
9171         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
9172         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
9173         GdkColormapPrivate. 
9174
9175         * gdk/gdktypes.h: #include <glib-object.h>
9176
9177         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
9178         Move most functionality to platform-specific implementation
9179         object. GdkWindow itself now handles the backing store, then
9180         chains to the platform-specific implementation.
9181         (gdk_window_get_window_type): return GdkWindowType of the window.
9182         (gdk_window_peek_children): New routine, returns the children of 
9183         a GdkWindow
9184         (gdk_window_get_children): Was in X11-specific code and did 
9185         XQueryTree. Changed to simply return a copy of window->children; 
9186         so it can go in cross-platform code.
9187         
9188         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
9189
9190         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
9191         GdkColormap; just changed to use the new private data instead
9192         of casting to GdkColormapPrivate.
9193
9194         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
9195         gdk_cursor_new().
9196
9197         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
9198         (private data member in the GObject). 
9199         (xdnd_manager_source_filter): Function had broken 
9200         error handling, fix it (use gdk_error_trap_push).
9201
9202         * gdk/x11/gdkdrawable-x11.c: This file now implements
9203         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
9204         base class is purely for the convenience of the X port,
9205         and not part of the interface to cross-platform GDK.
9206
9207         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
9208         
9209         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
9210         specific to X, and returned by the create_gc virtual method
9211         of GdkDrawableImplX11. 
9212         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
9213         rather than gchar, this was also changed in the GdkGC vtable.
9214         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
9215         mask is 0, return immediately, instead of checking every flag.
9216         This is faster, and keeps us from segfaulting if values is NULL
9217         and the mask contains some nonzero flags.
9218
9219         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
9220         GdkWindow.
9221
9222         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
9223         GdkWindowPrivate is gone.
9224
9225         * gdk/x11/gdkim-x11.c: rename things that got renamed.
9226
9227         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
9228         remove the image_put stuff that got transferred to GdkDrawable.
9229         
9230         * gdk/x11/gdkinput.c: renamings
9231
9232         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
9233
9234         * gdk/x11/gdkpixmap-x11.c: GObject conversion
9235
9236         * gdk/x11/gdkprivate-x11.h: indentation fixes
9237
9238         * gdk/x11/gdkproperty-x11.c: renamings
9239
9240         * gdk/x11/gdkselection-x11.c: renamings
9241
9242         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
9243         implements the platform-specific "impl" object.
9244         Moved gdk_window_get_children to gdk/gdkwindow.c
9245
9246         * gdk/x11/gdkx.h: Remove all the private structs and private datas
9247         that no longer exist. Add declaration of GdkGCX11 object here.
9248         Fix all the macros to still work. 
9249
9250         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
9251         GdkDragContext from the boxed types since they are now GObjects.
9252
9253         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
9254         moved xthickness/ythickness into the instance. GtkStyleClass
9255         functions are now in the standard vtable for GtkStyle, so you have
9256         to create a GObject subclass to write a theme engine.
9257         (gtk_style_copy): fixed a leaked PangoFontDescription
9258         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
9259         can be the standard GObject function.
9260         
9261         * Throughout GTK:
9262         s/style->klass->[xy]thickness/style->[xy]thickness
9263         s/pango_layout_unref/g_object_unref/
9264
9265         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
9266         
9267         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
9268         accessing GDK internals.
9269
9270         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
9271         accessing GDK internals.
9272
9273 2000-06-18  Elliot Lee  <sopwith@redhat.com>
9274
9275         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
9276
9277         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
9278         problem by calculating event position relative to the trough
9279         rather than the slider.
9280         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
9281
9282         * gdk/gdkgc.h: Add GDK_NOR.
9283
9284         * configure.in, Makefile.am: Add modules top level dir
9285         * configure.in: Only use pangox library if building x11 target.
9286         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
9287
9288 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
9289
9290         * gtk/gtkcolorsel.c: Change private class member to be named
9291         private_data throughout the file.
9292
9293         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
9294         private_data to avoid clashing with keyword.
9295
9296 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
9297
9298         * gdk/gdkdnd.h: Add comment to remove warning.
9299
9300 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
9301
9302         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
9303         Byelorussian language; changed the Makefile and file names 
9304         to reflect that.
9305
9306 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
9307
9308         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
9309         rather than gdk_window_hide; this makes things work
9310         correctly if the window is programmatically hidden while
9311         iconified.
9312
9313 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
9314
9315         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
9316         cut and paste typo where wrong pixmap was being
9317         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
9318
9319 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
9320
9321         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
9322         Add helper function to compute format / bytes 
9323         relationship. Use in a couple places to fix up
9324         errors which assume 8 * format.
9325
9326         * gtk/gtkselection.c (gtk_selection_request): Use 32
9327         rather than 8 * sizeof (GdkAtom), to work correctly
9328         on Alpha.
9329
9330 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
9331
9332         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
9333         libgtk.la
9334         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
9335         versions
9336
9337         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
9338         checking macros return NULL since the function has a return value.
9339
9340 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
9341
9342         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
9343         GTK+ from building at all.
9344
9345         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
9346
9347 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
9348
9349         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
9350         gtk/Makefile.am: make it possible to configure gtk for different
9351         targets on the same platform. The library name is now 
9352         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
9353         flag. Only the x11 target compiles right now.
9354         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
9355         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
9356         * gdk/nanox/gdk*generic*: delete generic region code.
9357         * gdk/linux-fb/gdk*generic*: delete generic region code.
9358         * README.nanox: update information.
9359         
9360 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
9361
9362         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
9363         prepend not append. (Pointed out by Brett Hall.)
9364
9365 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
9366
9367         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
9368
9369 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
9370
9371         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
9372         need this later, and this makes sure that the atexit for
9373         glib gets called after that for GDK, so atexits are
9374         properly ordered for object leak checking.
9375
9376         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
9377
9378         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
9379         pango_x_shutdown_display()
9380
9381         * gtk/simple.c (main): Close window on destroy.
9382
9383 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
9384
9385         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
9386         to treat initial creation different from setting with 
9387         regards to the graphics-exposures parameter, so add a parameter
9388         indicating whether this is initial or not.
9389
9390 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
9391
9392         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
9393         to sort of work by adding an extra return_exposes arg
9394         to gdk_event_translate() - it might be better to simply
9395         deprecate the function altogether and force people to rewrite
9396         without it. gdk_window_scroll() handles most of it, and where
9397         gdk_window_scroll() doesn't work, simply redrawing more does.
9398
9399         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
9400         assertion.
9401
9402         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
9403
9404         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
9405         bunch of pretty much useless /* Print debugging info */ comments 
9406         which had drifted away from the code they were commenting.
9407
9408 2000-06-02  Havoc Pennington  <hp@pobox.com>
9409
9410         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
9411         is in working order.
9412         
9413         * gtk/testtext.c: Change to reflect anonymous mark API
9414
9415         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
9416
9417         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
9418         field, which was unused.
9419
9420         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
9421         saves some typing.
9422
9423         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
9424
9425         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
9426         flag on the insertion point and selection bound
9427
9428         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
9429         make mark-manipulation functions take a GtkTextMark* instead of a
9430         mark name.
9431         
9432         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
9433         GtkTextMarkBody; will be used to detect attempts to delete
9434         the permanent marks (insert and selection bound)
9435
9436         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
9437
9438 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
9439
9440         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
9441         flag to on.
9442
9443         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
9444         Honor DOUBLE_BUFFRED_FLAG
9445
9446         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
9447         function to set the DOUBLE_BUFFERED flag.
9448
9449         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
9450         or not exposes done on the widget should be double-buffered.
9451
9452         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
9453         to be what would be expected. (Fixes problem with a
9454         g_return_if_fail() validating a TextDirection enumeration)
9455
9456 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
9457
9458         * gtk/gtkwidget.c: Remove all references to 
9459         offscreen flag which was no longer used.
9460
9461         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
9462
9463         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
9464         for non-null label_widget->parent.
9465
9466         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
9467         which no longer was used.
9468
9469         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
9470
9471         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
9472         for null arguments.
9473
9474         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
9475         check for destroyed windows.
9476
9477 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
9478
9479         * gtk/gtkimmulticontext.c: Add a finalize method and unref
9480         the slave context there.
9481
9482         * gtk/gtkinvisible.[ch]: Make reference counting behavior
9483         identical to GtkWindow.
9484
9485 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
9486
9487         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
9488         pangox to here, so we can write them independent of rendering
9489         system, using GDK primitives.
9490
9491         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
9492         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
9493         since we have a rendering-system independent implementation in
9494         terms of draw_glyphs().
9495         
9496         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
9497         function to render a single line.
9498
9499         * gdk/x11/gdkpango.c: Move the guts of this file mostly
9500         into ../gdkpango.c, which simplifies things, since we
9501         don't have to deal with raw X gc's.
9502
9503 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
9504
9505         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
9506         get the logical attributes for a given GtkTextLine.
9507
9508 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
9509
9510         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
9511         g_locale_get_codeset() to g_get_codeset() change.
9512
9513 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
9514
9515         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
9516         descriptions.
9517
9518         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
9519         the entry.
9520
9521         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
9522         redoing (vastly simplifying) for Pango. Still needs quite
9523         a bit of work. (Size selection is currently poor. List of 
9524         predefined sizes is not a good idea, since all of these
9525         sizes won't necessarily be distinct.)
9526
9527 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
9528
9529         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
9530         CODESET results for LANG=C.
9531
9532 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
9533
9534         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
9535         which takes a stringized pango font description;
9536         ignore the older 'font' and 'fontset' declarations.
9537
9538         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
9539         field with a GdkFont derived via gdk_font_from_description(),
9540         for compatibility. (Should we just remove it entirely?
9541         Probably too much compatibility breakage, but people
9542         should be migrating to the new Pango stuff as quickly
9543         as possible.)
9544
9545 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
9546
9547         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
9548
9549 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
9550
9551         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
9552         redoing; there are some bugs in size allocation right
9553         now, the semi-existant distinction between header / day
9554         fonts was removed, but, with Pango, could actually
9555         be made functional in a nice way.
9556         
9557         * gtk/testcalender: Move calender from examples into this
9558         directory as a test program. (We really need to restrcture
9559         testgtk into a whole directory full of tests for every
9560         widget or functionality group, separated into multiple .c
9561         files.)
9562
9563 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
9564
9565         * gtk/testgtk.c (file_exists): Fix stupid typo that
9566         was keeping RC file from being loaded.
9567
9568         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
9569         RC file font code.
9570
9571 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
9572
9573         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
9574         Add function to load a GdkFont from a PangoFontDescription.
9575
9576 2000-05-29  Tor Lillqvist  <tml@iki.fi>
9577
9578         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
9579         variable should be of type GdkEventPrivate.
9580
9581 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
9582
9583         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
9584         to have any widget for the label, use a GtkLabel widget
9585         to display the text. (Based partially on a patch from
9586         Anders Carlson.)
9587
9588         (Quite a bit of code reorganization - strip 90% of the
9589         guts out of gtkaspectframe and add a single virtual
9590         func to GtkFrameClass - compute_child_allocation.)
9591
9592 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
9593
9594         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
9595         (Removed clist->row_center_offset field because caching
9596         it wasn't saving time or code, added private function
9597         _gtk_clist_create_cell_layout()).
9598
9599 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
9600
9601         * gtk/gtkaccellabel.c: Pangoized.
9602
9603         * gtk/[hv]ruler.c: Pangoized
9604
9605 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
9606
9607         * gtk/gtkfilesel.c (gtk_file_selection_init):
9608         Use gtk_clist_set_column_auto_resize() to remove need
9609         need for manual column width computations.
9610
9611 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
9612
9613         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
9614         ensuring Pango correctness, and considerably simplifying the
9615         code.
9616         
9617         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
9618
9619         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
9620         getting of numbers of lines.
9621
9622         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
9623         to the actual requested width of the lable, not to the wrap
9624         width we set.
9625
9626         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
9627
9628         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
9629           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
9630
9631         * gtk/gtktextview.c: Fix structure inheritance.
9632
9633         * gtk/gtkprogressbar.c: Pangoize.
9634
9635 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
9636
9637         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
9638         in a function.
9639
9640         * gtk/gtktextlayout.c (find_display_line_above): Fixed
9641         bug with computing line tops.
9642
9643         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
9644
9645 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
9646
9647         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
9648         and y_offset coordinates to do what we need now. (The offset between
9649         buffer and layout coordinates has been reintroduced, but is a 
9650         bit different than before.)
9651
9652         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
9653         handle the adjustments ourselves, and scroll as necessary using
9654         the new gdk_window_scroll().
9655         
9656         The advantage of this is that when we are incrementally revalidating,
9657         we are essentially rearranging things around the visible portion
9658         of the screen. With the old setup, the visible portion of the
9659         screen was moved around in the layout, so scrolling and redrawing
9660         to track that caused jumping of the display. Since we now
9661         control the scrolling ourselves, we can suppress this and
9662         only redraw when things actually change.
9663
9664 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
9665
9666         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
9667         the region not just redisplay it after-all, since we store the
9668         cursors in the LineDisplay. (Ugly interactions here between
9669         GtkLayout and GtkTextBTree here.)
9670         
9671         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
9672
9673 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
9674
9675         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
9676         Added function to scroll contents of a window while keeping the
9677         window constant. Works by XCopyArea or guffaw-scrolling depending
9678         on the details of how the window is set up. (guffaw-scrolling
9679         still needs to be filled in.)
9680
9681 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
9682
9683         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
9684         move the debugging that was tied to a global variable
9685         to that.
9686
9687         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
9688
9689         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
9690         validated flag, in line data instead of setting height/width to
9691         -1. This allows us to perform operations with partially invalid
9692         buffer (using the old size for invalid lines) and thus to do
9693         incremental vaidation. Keep height/width aggregates up to date
9694         when deleting text and rebalancing the tree.
9695
9696         * gtk/gtktextbtree.[ch]: Add functions validate a line
9697         (gtk_text_btree_validate_line), and to validate up
9698         to a number of pixels (gtk_text_btree_validate).
9699
9700         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
9701         that indicates that something is changed and a revalidation
9702         pass is needed. Change ::need_repaint to ::changed, and
9703         make it take old and new yranges instead of a rectangle.
9704
9705         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
9706         the line_data_destroy() function from 
9707         gtk_text_btree_add_view() to a virtual function in 
9708         GtkTextLayout
9709
9710         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
9711         since we are handling partial repaints in a different fashion
9712         now.
9713
9714         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
9715         of the selection instead of queueing a repaint on the
9716         entire widget.
9717
9718         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
9719         get_selection_bounds() down to btree, make the function
9720         in buffer a wrapper around the btree function.
9721
9722         * gtk/gtktextlayout.[ch]: Add functions to check if the
9723         layout is valid and to recompute either a range of pixels
9724         aroudn a line or a certain total number of pixels.
9725
9726         * gtk/gtktextlayout.[ch]: Cache a single line display;
9727         now that we only redraw the needed portions, the hit rate
9728         for this cache is quite high.
9729         
9730         * gtk/gtktextview.[ch]: Keep track of the first paragraph
9731         on the screen so that when re-laying-out the buffer, we can
9732         keep the same place. This requires connecting to ::value_changed
9733         on the adjustments
9734
9735         * gtk/gtktextview.[ch]: Add idle functions to revalidate
9736         the buffer after we receive an ::invalidated signal.
9737         
9738 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
9739
9740         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
9741         to max of allocation and layout size, not just to the
9742         layout size.
9743
9744         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
9745         Invalidate window so it gets redrawn properly.
9746
9747         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
9748         to mean the entire window.
9749
9750         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
9751         into public header.
9752
9753 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
9754
9755         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
9756         to get the name of a mark.
9757
9758         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
9759         to find the paragraph from a y position.
9760
9761 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
9762
9763         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
9764         nodes have width/height >= 0, not > 0.
9765
9766 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
9767
9768         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
9769         Add a size_only flag, so when we only need the size, we don't create
9770         useless appearance attributes.
9771
9772         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
9773         duplicate setting of font description.
9774
9775         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
9776
9777 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
9778
9779         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
9780         EXTRA_DIST. It does not work well when the file that
9781         everything depends on is not in the tarball.
9782
9783 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
9784
9785         * gtk/testgtk.c: Some hacks and fixes so that it basically
9786         works when not sitting in the GTK+ build tree.
9787
9788 2000-05-03  Havoc Pennington  <hp@redhat.com>
9789
9790         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
9791         Properly determine the ordering of the tag root and the current
9792         line within the tree. Previous algorithm only worked if the tag
9793         root's immediate parent was the common root of both the current
9794         line and the tag root.
9795
9796 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
9797
9798         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
9799         alignment.
9800
9801         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
9802         the widget text directional dynamically.
9803
9804         * gtk/gtktextview.[ch]: Added functions to get and set default
9805         wrap mode.
9806
9807 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
9808
9809         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
9810         in cursor location computation.
9811
9812 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
9813
9814         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
9815         vadjusment values properly when layout gets smaller.
9816
9817         * gtk/gtktextview.c (need_repaint_handler): Areas being
9818         passed in are far completely inaccurate, and sometimes
9819         too small, so, for now, just queue a redraw on the
9820         whole visible region.
9821
9822 2000-04-25  Havoc Pennington  <hp@redhat.com>
9823
9824         * gtk/gtktextbtree.c (summary_destroy): new function to 
9825         destroy tag summary nodes
9826         (gtk_text_line_next_could_contain_tag): this function was 
9827         totally broken if the line passed in wasn't below the tag
9828         root. Fix it.
9829         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
9830         "wildcard" case, we have to do a linear scan. Blah.
9831         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
9832         we have to do the linear scan
9833         (tag_removed_cb): When a tag is removed from the tag table, 
9834         remove the GtkTextTagInfo node from the btree.
9835         (gtk_text_btree_spew): Implement the spew function, for 
9836         our debugging pleasure.
9837
9838 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
9839
9840         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
9841         a problem with referring to the wrong buffer.
9842
9843         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
9844
9845         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
9846         font description to gtk_style_new() - otherwise things
9847         don't work without a .gtkrc file.
9848
9849         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
9850         tags table if we create it ourself, too.
9851
9852         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
9853         it was conflicting with XKB modifiers.
9854
9855         * gtk/gtktextview.[ch]: Add simple support for 
9856         GtkIMContext.
9857
9858 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
9859
9860         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
9861         with deletion from last commit.
9862
9863 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
9864
9865         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
9866         in the context from the current locale.
9867         
9868         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
9869         context, not hardcoded value.
9870
9871         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
9872         not logical.
9873
9874 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9875
9876         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
9877         attributes - that doesn't handle partial-glyph selection
9878         properly. Instead use new pango_layout_line_get_x_ranges()
9879         functionality to draw the selection.
9880
9881         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
9882         now properly handles out-of-range coordinates.
9883
9884         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
9885
9886         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
9887         public.
9888
9889         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
9890         for paragraphs opposite to the base direction of the widget.
9891
9892         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
9893
9894         * gtk/gtktextlayout.c: Don't split segments on marks, since that
9895         causes Arabic words to reshape as you cursor through.
9896
9897         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
9898         cursor position when moving vertically with the arrow keys and
9899         scrolling with page-up/page-down. (Arrow keys save only the X,
9900         scrolling saves both X and Y.)
9901
9902         This means you can line-up / line-down or page-up / page-down
9903         without losing your place, and also that moving vertically
9904         with the cursor keys keeps the same X position, not the same
9905         character count:
9906
9907         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
9908         arrow keys move by display lines, not paragraphs.
9909
9910 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
9911
9912         * gtk/gtklayout.c: Make sure that the bin window is at least
9913         as big as the allocation. (Should we also make sure that the
9914         bin window is big enough to completely cover widget->window?)
9915
9916         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
9917         function to get the onscreen rectangle.
9918
9919         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
9920         for offsets in window coordinates.
9921
9922 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
9923
9924         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
9925         confusion.
9926
9927         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
9928         from the widget direction.
9929
9930         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
9931         Add a "direction" attribute.
9932
9933         * gtk/gtktextview.c: global s/tkxt/text_view/.
9934
9935         * gtk/testtext.c: Added long block of text in Arabic, to test out
9936         the direction attributes. (Some problems with the shaping system
9937         for arabic become obvious - like the fact the cursor splits words
9938         into unjoined pieces.)
9939
9940 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
9941
9942         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
9943
9944         * gtk/gtktextlayout.c: Fix up alignment.
9945
9946         * gtk/testtext.c: Add some tests for centering, wrapping.
9947
9948 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
9949
9950         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
9951         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
9952         If we wrote GTK+-specific layout-render function this could just replace
9953         the draw_layout() operation in the vtable.
9954
9955         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
9956         pango_layout_get_cursor_pos() and use that function.
9957
9958         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
9959         is a non-static symbol.
9960
9961         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
9962         with gtk_text_btree_find_line_by_y()
9963
9964         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
9965         renderer that handles GtkTextAppearance attributes.
9966
9967         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
9968
9969           - Move the values in the style that don't affect geometry into a
9970             GtkTextAppearance structure.
9971           - Change underline to take a PangoUnderline and "font" a string
9972             representation of a font description
9973           - Add a "font_desc" attribute which takes a FontDescription structure.
9974
9975         * gtk/gtktextlayout.[ch]:
9976
9977           - Get rid of the display-line list per each line. Instead, we
9978             generate, on demand, a GtkTextLineDisplay structure which]
9979             contains a PangoLayout * and other necesary information
9980             (offsets, cursor locations) for displaying a paragraph.
9981           - Get rid of the code to wrap lines, create display chunks,
9982             etc. Instead, we just go through a paragraph and convert
9983             it into the necessary inputs to a PangoLayout.
9984           - Implement a new attribute type, GtkTextAttrAppearance. This
9985             holds a GtkTextAppearance, and is used to pass colors, 
9986             stipple, etc, through from the layout to the display without
9987             having to use lots and lots of individual attributes.
9988           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
9989             in terms of PangoLayout functions.
9990         
9991         * gtk/gtktextview.c: 
9992          
9993           - Handle passing the necessary PangoContext to the layout
9994           - Some fixups in painting to deal with the automatic backing store
9995             and offsetting of GTK+-1.4
9996           - Add a style_set handler so that the default style reacts
9997             properly to theme changes.
9998         
9999         * gtk/gtktext?*.[ch]: Random code-style fixes.
10000
10001         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
10002
10003 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
10004
10005         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
10006         in original form preparatory to Pango-ization and gdkimcontext-ization.
10007
10008 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
10009
10010         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
10011         so that we can derive from gtkimcontext in language bindings properly.
10012
10013 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
10014
10015         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
10016         Add a compose table including (almost) all the compose combinations
10017         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
10018         data in the XIM implementation.
10019
10020         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
10021         Moved functions to convert keyvalues from and to unicode here from
10022         the win32 port and made them public.
10023
10024 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
10025
10026         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
10027
10028 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
10029
10030         * gtk/gtkimcontext.[ch]: Base class for new input context system
10031
10032         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
10033         the real input context implementation to be loaded from modules
10034         and switched on the fly.
10035
10036         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
10037         context that just does direct keysymbol => unicode translation.
10038
10039         * gtk/gtkentry.[ch]: Start switching editing over to using
10040         GtkInputContext. (No handling of preedit yet.)
10041
10042 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
10043
10044         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
10045         many substitutions. (klass should not be subsituted.)
10046
10047 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
10048
10049         * configure.in: Add checks for Pango
10050
10051         * configure.in docs/Makefile.am: Add test for sgml2html
10052         and allow 'make dist' without building html, but print out
10053         warnings in that case. (For making snapshots)
10054
10055         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
10056         Add Pango libraries and C flags
10057
10058         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
10059         Add function (gdk_draw_layout) to draw a pango layout.
10060
10061         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
10062         for getting Pango contexts for GDK.
10063
10064         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
10065
10066         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
10067         editing.
10068
10069         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
10070         keysym => unicode translations. More languages can be added
10071         here, but real input-method support is needed.
10072
10073         * docs/Changes-1.4.txt: Added note about entry behavior.
10074         
10075         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
10076         to set the reading direction for a widget and the global direction.
10077         Add test which allows toggling the global direction. Two private
10078         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
10079
10080         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
10081           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
10082
10083         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
10084
10085         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
10086         underlining now handled by Pango.
10087
10088         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
10089         to RCStyle and Style. (Having both this and the old font name and GdkFont 
10090         is temporary.)
10091
10092         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
10093         convenience functions for creating contexts and layouts for widgets.
10094
10095         * gtk/testgtk.c: Enhance label tests with multilingual labels.
10096
10097 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
10098
10099         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
10100         titles to be active, even if they aren't visible.
10101         (gtk_clist_column_titles_passive):  Ditto.
10102
10103 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
10104
10105         * gtkmenu.c:
10106         * gtkmenu.h:
10107         * gtktypeutils.h: Spelling/grammar fixes in comments.
10108
10109 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
10110
10111         * gdk/nanox/*.h: add missing header files.
10112
10113 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
10114
10115         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
10116         send_event to TRUE.
10117         (gtk_drawing_area_size): queue a resize.
10118
10119 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
10120
10121         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
10122         the handlers, also invalidate them. bug nailed down by Karl Nelson
10123         <kenelson@ece.ucdavis.edu>.
10124
10125 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
10126
10127         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
10128         "(nil)" foundries, patch from Grigorios Magklis.
10129
10130         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
10131         on non-available fonts, based on a patch by Grigorios Magklis
10132         <maglis@cs.rochester.edu>.
10133
10134 2000-05-18  Elliot Lee  <sopwith@redhat.com>
10135
10136         * gdk/x11/gdkregion-generic.c: If a region does not have any
10137         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
10138         instead of GDK_OVERLAP_RECTANGLE_IN.
10139
10140 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
10141
10142         * gtk/gtklayout.c (gtk_layout_map): Remove references to
10143         OFFSCREEN, as it is no longer necessary.
10144
10145 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
10146
10147         * gtk/gtkcolorsel.c: Patch from David Santiago
10148         <mrcooger@cyberverse.com> to change things so that the 
10149         indicator of the active palette entry is done independently,
10150         not via the focus, since it should always be visible.
10151
10152 2000-05-17  Tor Lillqvist  <tml@iki.fi>
10153
10154         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
10155         refcount leaks as in the X11 backend.
10156
10157         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
10158         cosmetics.
10159
10160         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
10161         backend. Add _gdk_windowing_window_destroy().
10162
10163         * gtk/gtkcolorsel.c: Include correct backend-specific header.
10164         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
10165         either, but these probably do exist on nanox?)
10166         
10167         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
10168         which isn't necessarily defined by <math.h>.
10169
10170         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
10171         ancestry past GtkObject.
10172
10173         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
10174         from DLL on Win32.
10175
10176         * gtk/gtk.def: Update corresponding to recent changes.
10177
10178         * gtk/makefile.{cygwin,msc}: Updates.
10179
10180 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
10181
10182         * docs/Changes-1.4.txt: A bit of editing.
10183
10184         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
10185         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
10186         to clear the update area for the window, and clear it
10187         when hiding a window.
10188
10189         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
10190         if window destroyed.
10191
10192         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
10193
10194         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
10195         gdk_window_destroy() to the generic code, since there was a lot of 
10196         window-system-independent logic it in. Add a function:
10197         
10198          _gdk_window_destroy() 
10199
10200         to the internal API to destroy a window without unreferencing it.
10201         Add a function:
10202
10203          _gdk_windowing_window_destroy()
10204
10205         That does the windowing-system-dependent part of destroying 
10206         the window.
10207
10208 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
10209
10210         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
10211
10212 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
10213
10214         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
10215         Make gtk_widget_shape_combine_mask() keep a reference count on
10216         the pixmap since it keeps it around.
10217
10218 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
10219
10220         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
10221         leak.
10222
10223         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
10224         leak with event filters.
10225
10226 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
10227
10228         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
10229         signal handlers with the right data arguments. (Fixes
10230         some warnings when a widget was repeatedly set as a drag
10231         destination.)
10232
10233         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
10234         window so we can avoid avoid setting the DND properties on the
10235         toplevel window repeatedly.
10236
10237 2000-05-13  Tor Lillqvist  <tml@iki.fi>
10238
10239         * gdk/win32/gdkwin32.h: Define more message types missing from
10240         mingw headers.
10241
10242         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
10243         call gdk_window_destroy_notify(). It was never called. This
10244         probably meant that the GdkWindow was never freed. Thanks Owen for
10245         noticing (!).
10246
10247         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
10248         window as destroyed before calling DestroyWindow(). DestroyWindow()
10249         causes a call to the window procedure (gdk_WindowProc), which
10250         calls gdk_event_translate(), which calls
10251         gdk_window_destroy_notify(), which gets confused unless the window
10252         is set as destroyed.
10253
10254         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
10255         this function to indicate it's win32 only. Put inside #ifdef
10256         G_ENABLE_DEBUG.
10257
10258         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
10259         debugging function. (gdk_event_translate:) Add a default branch
10260         that uses the above function to print debug messages with all
10261         Windows messages symbolically.
10262
10263         * gdk/win32/gdkprivate-win32.h: Declare it, and
10264         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
10265
10266 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
10267
10268         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
10269         public header file.
10270
10271 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
10272
10273         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
10274
10275         * gtk/gtktext.c: made the adjustments no-construct args, simply
10276         provide default adjustments.
10277         (gtk_text_destroy): release adjustments.
10278
10279         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
10280         adjustment argument non-construct.
10281
10282         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
10283         instead of in finalize.
10284         (gtk_progress_get_text_from_value): 
10285         (gtk_progress_get_current_text): 
10286         (gtk_progress_set_value): 
10287         (gtk_progress_get_percentage_from_value): 
10288         (gtk_progress_get_current_percentage): 
10289         (gtk_progress_set_percentage): 
10290         (gtk_progress_configure): ensure an adjustment is present.
10291
10292 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
10293
10294         * gtk/gtkcolorsel.[hc]:
10295         * gtk/gtkcolorseldialog.[hc]:
10296         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
10297         their parent implementation, use bit fields for boolean values, don't
10298         create unused widgets, usage of glib types, braces go on their own
10299         lines, function argument alignment, #include directives etc. etc. etc..
10300
10301         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
10302
10303 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
10304
10305         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
10306
10307         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
10308         of NULL.
10309
10310         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
10311         to freed data.
10312         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
10313
10314         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
10315         to NULL when the toplevel is getting destroyed.
10316         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
10317         (gtk_menu_destroy): 
10318         (gtk_menu_init): store the information of whether we have to
10319         readd the initial child ref_count during destruction in a new
10320         GtkMenu field needs_destruction_ref_count.
10321
10322         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
10323         here, those reading: learn from my mistake! ;)
10324         in order for set_?adjustment to support a default adjustemnt if
10325         invoked with an adjustment pointer of NULL, the code read (pseudo):
10326         if (v->adjustment) unref (v->adjustment);
10327         if (!adjustment) adjustment = adjustment_new ();
10328         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
10329         now imagine the first unref to actually free the old adjustment and
10330         adjustment_new() creating a new adjustment from the very same memory
10331         portion. here, the latter comparision will unintendedly fail, and
10332         all hell breaks loose.
10333         (gtk_viewport_set_hadjustment):
10334         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
10335         after unreferencing it.
10336
10337         * gtk/gtkcontainer.[hc]: removed toplevel registration
10338         functions: gtk_container_register_toplevel(),
10339         gtk_container_unregister_toplevel() and
10340         gtk_container_get_toplevels() which had wrong semantics
10341         anyways: it didn't reference and copy the list.
10342
10343         * gtk/gtkwindow.c: we take over the container toplevel registration
10344         bussiness now. windows are registered across multiple destructions,
10345         untill they are finalized. the initial implicit reference count
10346         users are holding on windows is removed with the first destruction
10347         though.
10348         (gtk_window_init): ref & sink and set has_user_ref_count, got
10349         rid of gtk_container_register_toplevel() call. add window to
10350         toplevel_list.
10351         (gtk_window_destroy): unref the window if has_user_ref_count
10352         is still set, got rid of call to
10353         gtk_container_unregister_toplevel().
10354         (gtk_window_finalize): remove window from toplevel list.
10355         (gtk_window_list_toplevels): new function to return a newly
10356         created list with referenced toplevels.
10357         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
10358
10359         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
10360         adjustment a non-construct arg.
10361         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
10362         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
10363         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
10364
10365         * gtk/gtkrange.c: added some realized checks.
10366         (gtk_range_destroy): get rid of the h/v adjustments in the
10367         destroy handler instead of finalize. remove timer.
10368         (gtk_range_get_adjustment): demand create adjustment.
10369
10370         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
10371         we simply create them on demand now and get rid of them in
10372         the destroy handler.
10373         (gtk_viewport_destroy): get rid of the h/v adjustments in the
10374         destroy handler instead of finalize.
10375         (gtk_viewport_get_hadjustment): 
10376         (gtk_viewport_get_vadjustment): 
10377         (gtk_viewport_size_allocate): demand create h/v adjustment
10378         if required.
10379
10380         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
10381         gtk_widget_real_destroy () functionality.
10382         (gtk_widget_real_destroy): reinitialize with a new style, instead
10383         of setting widget->style to NULL.
10384
10385 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
10386
10387         * gtk/gtkcalendar.c:
10388         * gtk/gtkbutton.c: ported _get_type() implementation over to
10389         GType, either to preserve memchunks allocation facilities,
10390         or because Gtk+ 1.0 GtkTypeInfo was still being used.
10391
10392         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
10393         over. prepare for ::destroy to be emitted multiple times.
10394         removed reference tracer magic. chain into GObjectClass.shutdown()
10395         to emit ::destroy signal.
10396
10397         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
10398         fundamental.
10399
10400         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
10401         cludge.
10402
10403         * gtk/gtksocket.c:
10404         * gtk/gtkplug.c:
10405         * gtk/gtklayout.c:
10406         * gtk/gtklabel.c:
10407         * gtk/gtkargcollector.c:
10408         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
10409         not being a fundamental anymore, and to work with the new
10410         type system (nuked fundamental type varargs clutter).
10411
10412         * gtk/*.c: install finalize handlers in the GObjectClass
10413         part of the class structure.
10414         changed direct GTK_OBJECT()->klass accesses to
10415         GTK_*_GET_CLASS().
10416         changed direct object_class->type accesses to GTK_CLASS_TYPE().
10417
10418         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
10419         GType. made most of the GTK_*() type macros and Gtk* typedefs
10420         simple wrappers around macros and types provided by GType.
10421         most notably, a significant portion of the old API vanished:
10422         GTK_TYPE_MAKE(),
10423         GTK_TYPE_SEQNO(),
10424         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
10425         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
10426         GTK_TYPE_ARGS,
10427         GTK_TYPE_CALLBACK,
10428         GTK_TYPE_C_CALLBACK,
10429         GTK_TYPE_FOREIGN,
10430         GtkTypeQuery,
10431         gtk_type_query(),
10432         gtk_type_set_varargs_type(),
10433         gtk_type_get_varargs_type(),
10434         gtk_type_check_object_cast(),
10435         gtk_type_check_class_cast(),
10436         gtk_type_describe_tree(),
10437         gtk_type_describe_heritage(),
10438         gtk_type_free(),
10439         gtk_type_children_types(),
10440         gtk_type_set_chunk_alloc(),
10441         gtk_type_register_enum(),
10442         gtk_type_register_flags(),
10443         gtk_type_parent_class().
10444         replacements, where available are described in ../docs/Changes-1.4.txt.
10445         implemented compatibility functions for the remaining API.
10446
10447         * configure.in: depend on glib 1.3.1, use gobject module.
10448
10449 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
10450
10451         * TODO.xml: Various updates to current status.
10452
10453 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
10454
10455         * gtk.m4: Print out version when test succeeds.
10456
10457 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
10458
10459         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
10460         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
10461         
10462         (Original triangle color selector from Simon Budig
10463         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
10464         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
10465         Santiago <mrcooger@cyberverse.com>)
10466
10467         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
10468         out into a separate widget.
10469
10470         * gtk/testgtk.c: Add some checkbuttons for toggling palette
10471         and opacity controls.
10472
10473 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
10474
10475         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
10476         snuck in prematurely.
10477
10478 2000-05-07  Tor Lillqvist  <tml@iki.fi>
10479
10480         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
10481         had deleted a ! operator by mistake, which caused
10482         GDK_SELECTION_CLEAR events never to be generated, which caused
10483         only the first copy to the clipboard from an gtkeditable to
10484         actually cause a copy to the Windows clipboard.
10485
10486 2000-05-06  Tor Lillqvist  <tml@iki.fi>
10487
10488         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
10489         compilation, too. Current mingw gcc distributions include the
10490         necessary headers. Also the necessary IIDs are now in mingw
10491         headers/libraries, and own definitions unnecessary.
10492
10493         More hacking on OLE2 DND, still doesn't work though, and thus
10494         ifdeffed out.
10495
10496         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
10497         here, too.
10498
10499 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
10500
10501         * gdk/nanox/*: nano-X port work in progress.
10502         * gdk/simple.c: simple test for Gdk.
10503         * README.nanox: notes about the port: read this first!
10504         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
10505         with nano-X.
10506
10507 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
10508
10509         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
10510         gdk_window_clear() into common code, implement in terms of
10511         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
10512         not redirected to the backing rectangle.
10513
10514 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
10515
10516         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
10517         EXTRA_DIST. It does not work well when the file that
10518         everything depends on is not in the tarball.
10519
10520 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
10521
10522         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
10523         with recursion where process_updates() is called from
10524         an expose handler. (GtkTextView is highly broken in
10525         doing this, but it should work, so it is a nice test
10526         case.)
10527
10528 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
10529
10530         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
10531         handle the case where updates are queued during processing of
10532         updates.
10533
10534 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
10535
10536         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
10537         window is on gdk_display - use that instead of segfaulting.
10538
10539 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
10540
10541         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
10542         broken and require an empty arg, give it to them.
10543
10544 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
10545
10546         * gtk/gtklabel.h: indentation fixes.
10547
10548 2000-05-02  Tor Lillqvist  <tml@iki.fi>
10549
10550         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
10551         draw too narrow or too low arcs, they seem to fail, at least with
10552         some display drivers.
10553
10554         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
10555
10556         Large changes to the Win32 backend, partially made necessary by
10557         the changes to the backend-independent internal
10558         structures. Attempts to implement similar backing store stuff as
10559         on X11. The current (CVS) version of the Win32 backend is *not* as
10560         stable as it was before the no-flicker branch was merged. A
10561         zipfile with that version is available from
10562         http://www.gimp.org/win32/. That should be use by "production"
10563         code until this CVS version is usable. (But note, the Win32
10564         backend has never been claimed to be "production quality".)
10565
10566         * README.win32: Add the above comment about versions.
10567
10568         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
10569
10570         * gdk/gdk.def: Update.
10571
10572         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
10573         presumably be replaced by some more better mechanism as 1.4 gets
10574         closer to release shape.
10575
10576         * gdk/makefile.{cygwin,msc}: Update.
10577
10578         * gdk/win32/*.c: Correct inclusions of the backend-specific and
10579         internal headers. Change code according to changes in these. Use
10580         gdk_drawable_*, not gdk_window_* where necessary.
10581
10582         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
10583         our old DND.
10584
10585         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
10586         to interpret single characters as UTF-8. Thanks to Hans Breuer.
10587         Use correct function name in warning messages.
10588
10589         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
10590         GSourceFuncs gdk_event_prepare and gdk_event_check.
10591         (gdk_event_get_graphics_expose): Do implement, use
10592         PeekMessage. Thanks to Hans Breuer.
10593         (event_mask_string): Debugging function to print an GdkEventMask.
10594         (gdk_pointer_grab): Use it.
10595
10596         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
10597         (old) book I used claimed was Hangul actually is CJK Unified
10598         Ideographs Extension A. Also, Hangul Syllables were missing.
10599         Improve logging.
10600
10601         * gdk/win32/gdkgc-win32.c: Largish changes.
10602
10603         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
10604         g_win32_getlocale() from GLib, and not setlocale() to get current
10605         locale name.
10606
10607         * gdk/win32/gdkprivate-win32.h
10608         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
10609         gdkwin32.h, similarily as in the X11 backend.
10610
10611         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
10612         assignment was used instead of equals in if test. Thanks to Hans
10613         Breuer.
10614
10615         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
10616         the X11 version.
10617
10618         * gdk/win32/makefile.{cygwin,msc}
10619         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
10620         path to the Win32 headers that works also with the mingw compiler.
10621
10622         * gtk/gtkstyle.c: Include <string.h>.
10623
10624 2000-04-26  Havoc Pennington  <hp@redhat.com>
10625
10626         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
10627         replacing the broken gtk_label_get ()
10628
10629 2000-04-15  Havoc Pennington  <hp@pobox.com>
10630
10631         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
10632         this keeps scanner scripts from getting confused.
10633
10634         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
10635         data, rather than void
10636
10637 2000-04-15  Tor Lillqvist  <tml@iki.fi>
10638
10639         * gtk/gtkclist.c (gtk_clist_motion)
10640         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
10641         with is_hint FALSE, get x and y from the event. They used to be
10642         used uninitialised. The Win32 backend never sends motion events
10643         marked as hints. This for instance fixes the annoying file and
10644         font selector behaviour in the Win32 version.
10645
10646 2000-04-14  Tor Lillqvist  <tml@iki.fi>
10647
10648         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
10649         gtk_private_n_signals variables, they are used by some software,
10650         sigh.
10651
10652         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
10653         installation directory from the Registry, where the installer
10654         should have put it.
10655
10656 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
10657
10658         * gdk/x11/Makefile.am: Fix problem with installation directory for
10659         gdkx.h
10660
10661         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
10662         <mrcooger@cyberverse.com> so that when selecting menus with the
10663         mouse, the first item will not be selected, but when selecting
10664         with an accelerator, or navigating left-right on a menubar with
10665         the menus popped up, the first item will be selected.
10666
10667 2000-04-05  Dan Damian  <dand@dnttm.ro>
10668
10669         * configure.in: Added "ro" to ALL_LINGUAS.
10670
10671 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
10672
10673         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
10674         indentation.
10675
10676         * Makefile.am (EXTRA_DIST): Fix typo.
10677
10678         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
10679         to catch gdkconfig.h
10680
10681         * gtk/gtkitemfactory.c: Added FIXME.
10682
10683 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
10684
10685         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
10686         s/return_if_fail/return_val_if_fail/g and add a return value.
10687
10688 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
10689
10690         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
10691         merge slipup.
10692
10693         * gdk/gdkinput.h: Fix missing line from merge.
10694
10695 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
10696
10697         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
10698         instead of gdkprivate.h.
10699
10700 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
10701
10702         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
10703         parent class to correctly be GtkDialogClass.
10704
10705 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
10706
10707         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
10708         toplevel windows and their immediate children by their parents,
10709         since the size of toplevel windows is out of our immediate
10710         control and we don't get any real benefit from trying to track
10711         this size for clipping.
10712
10713         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
10714         for input_only windows.
10715
10716         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
10717         to fix some hacks and make sure that we don't try to set the
10718         background of input only windows.
10719
10720 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
10721
10722         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
10723         the _really_ internal stuff, and leave gdkprivate.h for the fake private
10724         stuff that we've traditionally exposed.
10725
10726         * gdk/**.c: Use gdkinternals.h where appropriate.
10727
10728         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
10729         not include gdkprivate-x11.h, move all stuff of conceivable public
10730         interest into gdkx.h; keep all really private stuff in
10731         uninstalled header gdkprivate-x11.h.
10732
10733         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
10734         image->image_put on windows through a new function _gdk_window_draw_image()
10735         to allow us to do backing store for images. (Sort of ugly)
10736
10737         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
10738         contexts locally so that we can offset them properly when drawing 
10739         onto backing pixmaps.
10740
10741         * gdk/gdkinput.h: Reindented
10742
10743         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
10744         pixmap or color for the window, so we can properly initialize
10745         our double-buffer pixmaps, and also so that we temporarily set
10746         a background of None while scrolling.
10747
10748         * gdk/gdkregion.h: Revise region boolean operators to have an
10749         interface that is actually convenient - switch from creating new
10750         regions on every op, to "methods" that modify existing regions
10751         (A = A OP B). 3 argument forms which allow dest == src, would also
10752         be possible, but the current interfaces seem to map nicely
10753         onto what needs to be done. (There is quite a lot of region
10754         code in GDK now.)
10755
10756         * gdk/gdkregion.h: Add constructor from rectangle and a copy
10757         operator.
10758
10759         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
10760         gdkpoly-generic.h: Copy region code from Xlib, switch it over
10761         to 32 bit coordinates, modify it to be mostly GTK+ style
10762         and to have interfaces that match gdkregion.h.
10763
10764         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
10765         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
10766         create a backing pixmap and redirect all drawing to
10767         that backing pixmap until a matching gdk_window_end_paint().
10768
10769         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
10770         Create a special drawable class for GtkWindow's that 
10771         redirects the drawing to the backing pixmap as necessary
10772         and then calls the real operations in _gdk_windowing_window_class.
10773
10774         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
10775         Store invalid region for each window. Generate expose events for invalid
10776         region in an idle. This replaces both the expose compression
10777         and the redrawing queuing in GTK+. It is both more efficient and
10778         simpler than either one individually and far more so then the
10779         combination.
10780
10781         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
10782         Emulate 32 bit coordinates for windows with 16 bit coordinates
10783         by offsetting drawing, guffaw scrolling techniques and
10784         mapping/unmapping child windows as necessary.
10785
10786         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
10787         where, when invalid regions are processed, the region is stored,
10788         and if expose events come in that are detectably duplicate
10789         the processed exposes (by comparison of event serial numbers),
10790         the stored region is subtracted out of those exposes.
10791
10792         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
10793         regions newly exposed when scrolling or resizing windows.
10794         This, combined with forcing processesing of queued invalidated
10795         regions, gives nice flicker-free scrolling.
10796
10797         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
10798         invalidated regions after every scroll.
10799
10800         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
10801         emulation in GDK. Its, for all practical purposes just a
10802         GtkViewport/GtkFixed hybrid now.
10803
10804         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
10805         (16-bit) structures as necessary instead of just casting.
10806
10807         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
10808         in terms of the structures from gdkregion-generic.c, using appropriate
10809         offsets from GDK to X11 coordinates. Cache clip mask and
10810         origin and ts origin locally and only flush to the server
10811         when drawing, to avoid constantly setting and resetting these
10812         values when offsetting GC's for scrolling and backing pixmaps.
10813
10814         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
10815
10816         * gtk/gtkcontainer.c: Call process_all_updates at end
10817         of resizing to reduce flicker. (Avoids having redraw
10818         lag arbitrarily behind resize under some circumstances)
10819
10820         * gtk/gtkentry.c: Remove old backing store code, and simply take
10821         advantage of the new backing store capabilities of GDK.
10822
10823         * gtk/gtkmain.c: Simple implementation of widget backing
10824         store - simply push a paint while handling each expose.
10825         (Should really be configurable widget for widget.)
10826         
10827         * gtk/gtkwidget.c: Remove all the old complicated redraw
10828         code, and simply invalidate the GDK windows from
10829         gdk_window_queue_clear(), etc. (Sigh, so much carefully
10830         debugged complexity ... gone to the winds.)
10831
10832         Remove all the code for suppressing expose events while
10833         resizes are pending; this isn't needed since the invalid
10834         areas won't be processed until after the resizes are
10835         processed, since they are in a lower priority idle.
10836
10837 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
10838
10839         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
10840         and height of dest rectangle for non-intersecting rectangles.
10841
10842 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
10843
10844         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
10845         for GdkRectangle.
10846
10847 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
10848
10849         * gdk/gdk{events,image,private,types,window}.h
10850          gdk/x11/gdkinputprivate.h: Change all coordinates
10851          from int16 to int. Also, Change width and height from
10852          unsigned to signed to avoid all the stupid C 
10853          signedness bugs.
10854
10855 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
10856
10857         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
10858         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
10859         Add some more detailed checking.
10860
10861         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
10862         New function to retrieve the depth of a drawable.
10863
10864         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
10865         field, reorder fields to save memory. 
10866
10867 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
10868
10869         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
10870         of the background image instead of scaling the background down to
10871         a line.
10872
10873         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
10874         which temporarily set slider to wrong size.
10875
10876         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
10877         queue_clear().
10878
10879 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
10880
10881 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
10882
10883         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
10884
10885 2000-03-17  Tor Lillqvist  <tml@iki.fi>
10886
10887         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
10888         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
10889
10890         * gdk/win32/gdkfont-win32.c
10891         * gdk/win32/gdkproperty-win32.c
10892         * gdk/win32/gdkselection-win32.c
10893         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
10894         now declared such.
10895
10896 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
10897
10898         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
10899
10900 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
10901
10902         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
10903         is called without trapping X errors.
10904
10905 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
10906
10907         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
10908         way into the fontset lists.
10909
10910 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
10911
10912         * gtk/gtkthemes.h: add extern "C" scope.
10913
10914 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
10915
10916         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
10917         to make appends to the list constant. (gtk-guy-990901-0.patch)
10918
10919 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
10920
10921         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
10922         for the typename hash table.
10923
10924 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
10925
10926         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
10927         to make sure we never divide by zero. 
10928         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
10929
10930 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
10931
10932         * gtk/gtkfontsel.c: Apply patch from
10933         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
10934         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
10935
10936         Also, some cleanups in atom handling.
10937
10938 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
10939
10940         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
10941         not GtkWidget.
10942
10943 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
10944
10945         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
10946         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
10947         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
10948         more guint wrap-around bugs before going to bed.
10949
10950 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
10951
10952         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
10953         guint wrap arounds in allocation.width.
10954
10955         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
10956         process untill we fit the allocation given.
10957
10958 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
10959
10960         * gtk/gtkwidget.c:
10961         (gtk_widget_unrealize): guard widget access with ref/unref
10962         around signal emission.
10963         (gtk_widget_hide): same here, but also check its destroyed
10964         state before queueing a resize.
10965
10966 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
10967
10968         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
10969         of gtk_default_insensitive_bg as insensitive base color.
10970
10971         * gtk/gtktext.c (gtk_text_style_set): set the background color according
10972         to the widget's state.
10973         (gtk_text_realize): same here.
10974         (gtk_text_state_changed): same here.
10975         (draw_bg_rect): compare background color against base[] from
10976         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
10977
10978 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
10979
10980         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
10981         grabs are active, unless a delete event is send to the toplevel
10982         of the currently grab holding widget.
10983
10984 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
10985
10986         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
10987         debugging g_print's.
10988
10989 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
10990
10991         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
10992         ever make the scrolled-window requisition ever depend on the 
10993         visibility state of the scrollbars for the AUTOMATIC policy. 
10994         This breaks the GTK+ requisition model, and causes loops.
10995
10996 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
10997
10998         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
10999         the default font to avoid problems with XFree86-4.0 where the
11000         default charset is iso10646-1, not iso8859-1.
11001
11002 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
11003
11004         * acinclude.m4
11005         * config.guess
11006         * config.sub
11007         * ltconfig
11008         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
11009
11010         * gtk/Makefile.am: minor cosmetic consistency tweak
11011
11012 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
11013
11014         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
11015         the activate_time to 0, so that we handle a quick
11016         press/release press/release properly and don't suppress
11017         the second release. (Red Hat bug #7545)
11018
11019 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
11020
11021         * gtk/gtkctree.c (row_delete):
11022         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
11023         bugs with destruction notifier, *always* update internal
11024         structures *before* calling user code.
11025
11026 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
11027
11028         A few more fixes for bug #5487, #2051, #2677.
11029         * gtk/gtkclist.c : 
11030         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
11031         not GDK_BUTTON_PRESS.
11032         (resync_selection): resync only if selection_mode is
11033         GTK_SELECTION_EXTENDED
11034         * gtk/gtkctree.c (resync_selection): same here
11035
11036 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
11037
11038         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
11039         gdk_drag_get_selection() and gtk_menu_detach().
11040
11041         [ From Jeroen Ruigrok/Asmodai ]
11042
11043 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
11044
11045         * gtk/gtknotebook.c (gtk_notebook_size_request): 
11046         page->tab_label can be NULL.
11047
11048 2000-01-25  Havoc Pennington  <hp@pobox.com>
11049         
11050         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
11051         arg is boolean
11052
11053         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
11054
11055         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
11056
11057         * gdk/gdkproperty.c (gdk_property_get): return boolean
11058
11059         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
11060
11061         * gdk/gdkim.c (gdk_im_ready): return boolean
11062
11063         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
11064
11065         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
11066         glib clash, should fix glib)
11067
11068         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
11069         (gdk_get_show_events): return gboolean, and canonicalize 
11070         to TRUE/FALSE
11071
11072         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
11073         colormap is private
11074         (gdk_colors_alloc): gboolean whether to be contiguous
11075         (gdk_color_equal): return gboolean since we are a predicate
11076         and not a qsort() (this looks semi-wrong due to glib breakage,
11077         IMO glib should be fixed)
11078         
11079         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
11080         (gdk_get_use_xshm): return gboolean
11081         (gdk_pointer_is_grabbed): return gboolean
11082
11083         * gdk/gdk.h: Change prototypes to match all the above changes,
11084         and re-run egtk-format-protos as required.
11085
11086 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
11087
11088         * gtk/gtkctree.c (resync_selection): 
11089         * gtk/gtkclist.c (resync_selection):
11090
11091         Return immediately if clist->drag_pos < 0. This is a workaround
11092         for the corrupt state that the clist gets into when a
11093         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
11094
11095         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
11096         
11097         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
11098         variable from recent commit.
11099
11100 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
11101
11102         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
11103
11104 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
11105
11106         * gtk/Makefile.am: prefix all autogenerated source that get build in
11107         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
11108         in builddir. since we subsequently cd into srcdir for autogeneration,
11109         the paths have to be stripped from the target file names, thusly we
11110         use $(@F) as target names now.
11111         put a comment about configure.in's --disable-rebuilds option,
11112         which can be used for non-writable source directories, for development
11113         setups though, srcdir has to be *writable*.
11114
11115 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
11116
11117         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
11118           Finish the job of allowing event to be NULL.
11119           (Fixes bug #4283, reported by Chris Blizzard)
11120
11121         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
11122           things so that the cursor appears on screen, properly
11123           take into account INNER_BORDER.
11124           (Fixes bug #4754, reported by Antonio Campos)
11125
11126 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
11127
11128         * gtk/gtknotebook.c (gtk_notebook_map): Don't
11129           show the tab_label unless it itself is visible.
11130
11131           gtk/gtknotebook.c (gtk_notebook_size_request):
11132           Do a better job of making sure that the visibility
11133           of the tab label corresponds to whether it should
11134           be mapped or not.
11135
11136 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
11137
11138         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
11139           Use the requisition, not the allocation, since the
11140           allocation has not necessarily been computed yet.
11141           (Pointed out by Eugene Osintsev)
11142
11143 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
11144
11145         * gtk/gtkstyle.c (gtk_style_new): Dont' set
11146           style/base[GTK_STATE_INSENSITIVE] both to
11147           gtk_default_insensitive_bg!
11148           (Bug #2187, reported by Jonathan Blandford)
11149
11150         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
11151           Add Alt_L, Alt_R to list of invalid accelerators.
11152           (Bug #3736, reported by Vlad Harchev)
11153
11154 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
11155
11156         * gtk/gtkfilesel.c (open_ref_dir): Fix several
11157         bugs which occured after an attempt to open 
11158         invalid home directory left cmpl_state->reference_dir == NULL.
11159
11160          - completion on files in home directory didn't work
11161          - completion on an empty string caused  segfault
11162
11163          (Bug #3678, reported by Steve Ratcliffe)
11164
11165         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
11166         cut and paste error that was causing scales to
11167         be incorrectly positioned.
11168         (Bug #2956,
11169          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
11170
11171 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
11172
11173         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
11174         when checking for dcgettext, if we've found we needed
11175         it for dgettext.
11176 +
11177 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
11178
11179         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
11180         queue_clear on NO_WINDOW widgets during a reparent,
11181         since at that point the window and widget heirarchies
11182         are out of sync. This stops crashing in some cases
11183         (the scrolled window reparent test, for instance), and
11184         _probably_ won't cause drawing errors.
11185
11186         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
11187         test do what it was supposed to do and be robust against
11188         window closings, etc. (Bug #2443)
11189
11190 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
11191
11192         * gtk/gtkentry.c: Fix return values on mouse events.
11193         (Bug #2686, Sky <seb_sky@yahoo.com>)
11194
11195         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
11196         (pointed out by George Lebl)
11197
11198         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
11199         (From Ettore Perazzoli  <ettore@helixcode.com>)
11200  
11201 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
11202
11203         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
11204         clicks between rows or outside calender area correctly.
11205         (Patch from Damon Chaplin)
11206
11207         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
11208         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
11209           Call destroy function when overwriting existing data. 
11210           (Pointed out by Damon Chaplin)
11211
11212 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
11213
11214         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
11215           which was causing problems on various systems with Xmu.
11216           This hasn't been needed for a very long time.
11217           (Fixes #1185 3167)
11218
11219 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
11220
11221         * gdk/gdki18n.h: Include <ctype.h> when defining
11222           gdk_isw* in terms of is* as a fallback.
11223           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
11224
11225 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
11226
11227         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
11228           realize the widget when it is size allocated!
11229           (old, old bug)
11230
11231         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
11232           Removed unused call to gdk_window_get_size() that
11233           showed up when the above was fixed.
11234
11235 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
11236
11237         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
11238           fix up widget->window when the widget is a
11239           NO_WINDOW container widget.
11240
11241 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
11242
11243         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
11244           to account for the fact that feof() does _not_ 
11245           return TRUE on errors, and thus avoid infinite loops
11246           when trying to use gdk_pixmap_create_from_xpm()
11247           on unreadable values.
11248
11249 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
11250
11251         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
11252
11253 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
11254
11255         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
11256           gdk_gc_set_dashes to take gint8 instead of gchar to
11257           make it clearer that it is _not_ a NULL terminated string.
11258
11259         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
11260           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
11261           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
11262           arguments.
11263
11264 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
11265
11266         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
11267         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
11268         background size relative to our allocation, guard against small
11269         allocations, we may have not yet been size allocated.
11270
11271 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
11272
11273         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
11274         not just version == 3. We implement all 3 + most of 4 - 
11275         (we don't support matching text/plain;charset=iso-8859-1
11276         to a dest that expects text/plain). We'll still advertise
11277         3 to be safe, but any client implementing version >= 3
11278         must interoperate with 3.
11279         
11280 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
11281
11282         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
11283         background and gc members, add a warning in gtk_tooltips_set_color()
11284         indicating that this function is deprecated.
11285
11286 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
11287
11288         * docs/gtkfaq.sgml: FAQ Update:
11289           - Minor cleanups (Emmanuel, me)
11290           - New questions:
11291                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
11292                 How can I retrieve the text from a GtkMenuItem? (timj)
11293                 How do I validate/limit/filter the input to a GtkEntry? (me)
11294                 Memory does not seem to be released when I free the list
11295                         nodes I've allocated (timj)
11296
11297 2000-03-07  Tor Lillqvist  <tml@iki.fi>
11298
11299         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
11300         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
11301         for which it is no use to call GetLastError onWin9x.
11302         (gdk_other_api_failed) New function, for general error
11303         reporting without calling GetLastError.
11304         (gdk_win32_api_failed) OTOH, this function always calls
11305         GetLastError. (gdk_win32_last_error_string) Remove this function,
11306         GLib has the equivalent now.
11307
11308         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
11309         call them with function name, file name and line number in the
11310         arguments.
11311
11312         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
11313         functions.
11314         
11315         * gtk/gtk.def: Add some missing entry points.
11316
11317         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
11318         gtk_paned_set_gutter_size, which don't exist any longer, as void.
11319         
11320         Fixes by Hans Breuer:
11321
11322         * gdk/makefile.msc: Update for debugging.
11323
11324         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
11325         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
11326         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
11327         in the dash_list.
11328
11329         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
11330         the x11 backend.
11331
11332         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
11333
11334         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
11335
11336 2000-03-04  Tor Lillqvist  <tml@iki.fi>
11337
11338         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
11339         just pixel value of background colour.
11340
11341         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
11342         containing code snippet previously duplicated in a couple of
11343         places.
11344         
11345         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
11346         gdk_colormap_color.
11347
11348         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
11349         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
11350         events for autorepeated Shift, Control and Alt keys. Use
11351         gdk_colormap_color.
11352
11353         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
11354         pointer is inside the window the cursor of which we are setting,
11355         call SetCursor immediately.
11356
11357         * gdk/win32/makefile.cygwin
11358         * gtk/makefile.cygwin: If we don't have the build number stamp
11359         file, use zero.
11360
11361         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
11362         gtk_paned_set_gutter_size as empty.
11363
11364         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
11365         
11366 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
11367
11368         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
11369           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
11370           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
11371           docs/gtk_tut.sgml docs/gtk.texi TODO:
11372
11373           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
11374
11375 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
11376
11377         * gtk/gtkcalendar.c: Implement num_marked_dates,
11378           and don't emit mutiple day_selected signals on
11379           month_prev.
11380
11381 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
11382
11383         * docs/make-todo (lineno): let title and logo be configurable so
11384         that GNOME can use this script too.
11385
11386         * TODO.xml: added logourl and a title
11387
11388 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
11389
11390         * TODO.xml: Added some UI items, and an explanatory
11391         comment at the top of the file.
11392
11393 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
11394
11395         * TODO.xml: some updates, added abunch of new entries.
11396         a note for those fiddeling with this file, when done
11397         with it, invoke:
11398         $ ./docs/make-todo TODO.xml >/dev/null
11399         and correct output errors before comitting changes.
11400
11401 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
11402
11403         * TODO.xml: Added XML-structured TODO file.
11404         * docs/make-todo: python script to turn TODO.xml into
11405           pretty XML output. 
11406
11407 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
11408
11409         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
11410         the function to let it draw the seven dots, instead of the old,
11411         much maligned, method.
11412         (draw_dot): New function to draw a dot.
11413
11414         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
11415         to draw the handle inside the border width as opposed to outside.
11416         Use paint function instead of gdk_draw_point.
11417
11418         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
11419         to draw the handle inside the border width as opposed to outside.
11420         Use paint function instead of gdk_draw_point.
11421
11422         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
11423         Change indenting to be more GTK like.
11424
11425 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
11426
11427         * docs/gtk_tut.sgml: New section on GtkCalendar
11428         * examples/calendar: Update example code
11429
11430 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
11431
11432         * docs/gtkfaq.sgml: FAQ Update
11433
11434 2000-02-19  Anders Carlsson  <andersca@gnu.org>
11435
11436         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
11437         to prevent the scroll event to be propagated upwards.
11438
11439 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
11440
11441         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
11442         OwnerGrabButtonMask from button entries for
11443         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
11444
11445         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
11446         to the event mask (which will result in button/press release
11447         being added to the event mask on Unix) so scrolling works
11448         for layouts in scroll windows.
11449
11450         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
11451
11452         Patch from Anders Carlsson  <andersca@gnu.org> to add
11453         a scroll event.
11454
11455         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
11456         scrolling to the "Test Scrolling" part of testgtk.
11457  
11458         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
11459  
11460         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
11461         it against GDK_SCROLL.
11462  
11463         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
11464         way of mouse wheel scrolling.
11465  
11466         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
11467  
11468         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
11469  
11470         * gtk/gtkmain.c: Removed previous mouse wheel hack.
11471  
11472         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
11473         gdk_event_mask_table.
11474  
11475         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
11476         GdkEventScroll handler.
11477  
11478         * gdk/gdkevents.h: Added GdkEventScroll structure.
11479  
11480 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
11481
11482         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
11483         and Anders Carlsson to change the Paned widgets so that they
11484         can be dragged from anywhere along the length. Also change
11485         the way that this is drawn to make this apparent.
11486
11487         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
11488         from George Lebl to check that option_menu->menu is present
11489         before getting history.
11490
11491 2000-02-14  Tor Lillqvist  <tml@iki.fi>
11492
11493         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
11494         before the assertion for non-NULL segment list.
11495
11496         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
11497         Seems that pattern brushes *must* be 8x8 pixels! At least on my
11498         machine, but it might be display driver dependent. Sigh, so make
11499         sure the stipple is that size. Does Windows suck or what?
11500
11501         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
11502         places.
11503
11504 2000-02-13  Havoc Pennington  <hp@pobox.com>
11505
11506         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
11507         refcount to 1
11508         (gdk_cursor_new): init refcount to 1
11509
11510         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
11511
11512 2000-02-13  Tor Lillqvist  <tml@iki.fi>
11513
11514         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
11515         so that we don't have to do unnecessary settings to the HDC.
11516
11517         * gdk/win32/gdkdrawable-win32.c
11518         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
11519         gdk_gc_predraw.
11520
11521         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
11522         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
11523         GDI paths, call WidenPath to get the outline of the stroken path,
11524         and then fill the outline (with the brush that was built from the
11525         stipple).
11526
11527         * gdk/win32/gdkgc-win32.c: Factor out common code from
11528         _gdk_win32_gc_new and gdk_win32_gc_set_values into
11529         gdk_win32_gc_values_to_win32values. Use correct colour for
11530         SetBkColor() (Until now the code actually used a random colour in
11531         the call to SetBkColor()... but that didn't show up as not many
11532         GDI APIs use the background colour. Pattern (opaque stippled)
11533         brushes do.)
11534
11535         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
11536         gdk_win32_api_failed): New functions for error logging.
11537
11538         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
11539         WIN32_API_FAILED to call them, passing function or file name and
11540         line number.
11541
11542         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
11543
11544         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
11545         GdkColor for foreground and background in GdkGCWin32Data.
11546
11547         * gdk/makefile.cygwin: Link in the resource object separately.
11548
11549         * gdk/win32/rc/gdk.rc
11550         * gtk/gtk.rc (New file)
11551         * gdk/win32/makefile.cygwin
11552         * gtk/makefile.cygwin: Update build number in DLLs automatically,
11553         as in GLib.
11554
11555 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
11556
11557         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
11558         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
11559         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
11560         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
11561         parameters given and cursor->ref_count. coding style fixups.
11562
11563         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
11564         not GtkWidget.
11565         
11566         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
11567         fix up widget macros and add _GET_CLASS() variant.
11568         
11569         * gtk/*.c: some GtkType fixups.
11570
11571 2000-02-09  Tor Lillqvist  <tml@iki.fi>
11572
11573         * gdk/win32/gdkproperty-win32.c
11574         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
11575         were reversed.
11576
11577 2000-02-04  Tor Lillqvist  <tml@iki.fi>
11578
11579         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
11580         g_filename_to_utf8 to convert the font names Windows gives us from
11581         whatever is the default codepage to UTF-8.
11582         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
11583         in the other direction.
11584
11585         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
11586         error in debugging output.
11587
11588 2000-02-02  Tor Lillqvist  <tml@iki.fi>
11589
11590         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
11591         and height parameters to gdk_window_clear_area(). Not minus one.
11592
11593 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
11594
11595         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
11596         checks if the widget passed to gtk_drag_get_data() was not the
11597         dest widget.
11598
11599 2000-02-01  Tor Lillqvist  <tml@iki.fi>
11600
11601         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
11602         g_filename_from_utf8 functions (which were added a moment ago to
11603         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
11604         size buffers.
11605
11606         gtk_file_selection_get_filename returns the filename in the C
11607         runtime encoding. It calls g_filename_from_utf8, but copies the
11608         returned string to a static buffer, which is returned. I think
11609         this is better than returning the result from g_filename_from_utf8
11610         directly, which would mean all apps that use it would have to free
11611         the return value. Or should this function care about this issue at
11612         all? Maybe a new function with clearly defined semantics.
11613
11614         * gtk/gtkfilesel.h: Add comment about
11615         gtk_file_selection_get_filename returning the filename in the C
11616         runtime's encoding.
11617
11618         * README.win32
11619         * gdk/gdk.def
11620         * gdk/makefile.{cygwin,msc}
11621         * gtk/gtk.def: Updates.
11622
11623         * gdk/gdkcursor-win32.c: Initialise refcount.
11624
11625 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
11626
11627         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
11628
11629 2000-01-30  Havoc Pennington  <hp@pobox.com>
11630
11631         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
11632         destroy
11633
11634         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
11635
11636         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
11637         implemented in platform-specific code
11638
11639         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
11640
11641         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
11642         underscore in front
11643
11644         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
11645         put an underscore in front
11646
11647         * gdk/gdkcursor.c: new file, implements
11648         gdk_cursor_ref/gdk_cursor_unref
11649
11650         * gdk/gdkcursor.h: Refcount GdkCursor
11651
11652         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
11653
11654 2000-01-29  Tor Lillqvist  <tml@iki.fi>
11655
11656         * gdk/gdkwindow.h
11657         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
11658
11659 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
11660
11661         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
11662         structures to properly inherit from GtkWidget not GtkBin.
11663
11664 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
11665
11666         * gtk+.spec.in: Added lib/gtk+/include/* to %files
11667         (bug #5178 - Peter Wainright)
11668         
11669         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
11670         so that it will be installed.
11671         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
11672
11673 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
11674
11675         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
11676         for the GtkStyleClass vtable const.
11677
11678         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
11679         take a const string argument like GtkTranslateFunc. This will
11680         require changes in use code.
11681
11682 2000-01-19  Tor Lillqvist  <tml@iki.fi>
11683
11684         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
11685         semantics (to mimic the X11 backend, which just calls XClearArea)
11686         is to check for zero width (and height), and in that case use the
11687         window's width minus x (height minus y). This fixes for instance
11688         some redraw problems with gtkclist, which were easily noticeable
11689         in the gtk file selection widget.
11690
11691         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
11692         windows.
11693
11694 2000-01-13  Tor Lillqvist  <tml@iki.fi>
11695
11696         * configure.in
11697         * gdk/Makefile.am
11698         * gdk/x11/Makefile.am
11699         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
11700         (bug #5177).
11701         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
11702         out later.
11703
11704 2000-01-09  Tor Lillqvist  <tml@iki.fi>
11705
11706         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
11707         WM_MOVE for iconified or invisible windows. This fixes various
11708         problems when minimising windows. Thanks to Bernd Herd.
11709
11710 2000-01-05  Tor Lillqvist  <tml@iki.fi>
11711
11712         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
11713         backend's draw_lines method, not draw_points.
11714
11715 2000-01-02  Tor Lillqvist  <tml@iki.fi>
11716
11717         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
11718         before Owen's reorganisation: Don't have queued_events and
11719         queued_tail statics in this file, but use gdk_queued_events and
11720         gdk_queued_tail. This makes exposure event compression work again.
11721
11722         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
11723         seem to be needed?
11724
11725 1999-12-30  Tor Lillqvist  <tml@iki.fi>
11726
11727         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
11728         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
11729         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
11730         doesn't do anything.
11731
11732         * gdk/gdk.def: Add gdk_xid_table_insert.
11733
11734         * gdk/win32/gdkprivate-win32.h
11735         * gdk/win32/gdkevents-win32.c
11736         * gdk/win32/gdkinput-win32.c
11737         
11738         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
11739         extension_events field in the GdkWindowWin32Data struct. Use only
11740         the extension_events field in GdkWindowPrivate. Previously one was
11741         set, and the other one tested, which broke tablet
11742         functionality. Thanks to Keishi Suenaga for pointing this out.
11743
11744 1999-12-18  Tor Lillqvist  <tml@iki.fi>
11745
11746         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
11747         When handling a single character (text length == 1), don't handle
11748         it as if it was UTF-8.
11749
11750 1999-12-11  Tor Lillqvist  <tml@iki.fi>
11751
11752         * Makefile.am: Distribute README.win32.
11753         
11754         * gdk/Makefile.am
11755         * gdk/win32/Makefile.am: Distribute Win32 files.
11756
11757         * gdk/makefile.msc: New file.
11758
11759         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
11760         after label).
11761
11762         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
11763         gdk_error_code as GDKVAR, as they are referred outside GDK.
11764
11765         * gdk/win32/makefile.msc: Update.
11766
11767         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
11768         tweaks. Check only if at least one of those Unicode subrange bits
11769         we care for is set. If no code page bits are set, guess (wildly)
11770         based on the charset.
11771
11772         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
11773
11774         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
11775         non-NULL.
11776
11777         * gtk/gtkdnd.c
11778         * gtk/gtklayout.c
11779         * gtk/gtkplug.c
11780         * gtk/gtkselection.c
11781         * gtk/gtksocket.c
11782         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
11783         appropriate. There must be a cleaner way to handle this?
11784
11785         * gtk/gtkrc.c: Must include windows.h on Win32.
11786
11787         * gtk/testgtk.c: No need to include gdkx.h.
11788
11789         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
11790
11791 1999-12-07  Tor Lillqvist  <tml@iki.fi>
11792
11793         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
11794         the rbearing is set to the same as the width, but this should be
11795         fixed.
11796
11797 1999-12-06  Tor Lillqvist  <tml@iki.fi>
11798
11799         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
11800         function. If Windows doesn't tell us what Unicode subranges a font
11801         covers, guesstimate based on the codepages it covers. This will
11802         hopefully help those Windows versions or fonts that don't give us
11803         any useful Unicode subrange information with GetTextCharsetInfo.
11804         Call this function in gdk_font_load_internal.
11805
11806         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
11807         minor changes.
11808
11809 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
11810
11811         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
11812         New function, long needed.
11813
11814 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
11815
11816         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
11817         only_if_exists argument of gdk_atom_intern to
11818         bool.
11819
11820 1999-11-25  Tor Lillqvist  <tml@iki.fi>
11821
11822         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
11823         Fix two copy&paste errors.
11824
11825         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
11826         win32 has changed.
11827
11828         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
11829         GdkWin32SingleFont struct.
11830
11831         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
11832         subranges of loaded fonts. Clear font signature first, in case
11833         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
11834         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
11835
11836         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
11837         Unoffset clip region.
11838
11839 1999-11-23  Tor Lillqvist  <tml@iki.fi>
11840
11841         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
11842         event->any.window before calling filter functions.
11843
11844 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
11845
11846         * gtk/gtkgamma.h: Adapt cast macros to standard.
11847
11848 [ Merges from 1.2 ]
11849
11850 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
11851
11852         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
11853         If translation does not include a '/', use entire
11854         translation instead of crashing.
11855
11856 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
11857
11858         * docs/gtk_tut.sgml:
11859         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
11860
11861 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
11862
11863         * gtk/gtkselection.c (gtk_target_list_remove): Use
11864         g_list_remove_link, not g_list_remove.
11865
11866         [ From Geert Bevin <gbevin@thunderstorms.org> ]
11867         
11868 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
11869
11870         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
11871         statement upon unselection (how the heck did that slip in?).
11872
11873 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
11874
11875         * gtk/gtktext.c (gtk_text_freeze): 
11876         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
11877         in frozen state (and aparently crashes). patch provided by Anders
11878         Melchiorsen <and@kampsax.dtu.dk>.
11879
11880 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
11881
11882         * fix insensitive default/focus widget activation,
11883         reported by Matt Goodall <mgg@isotek.co.uk>.
11884
11885         * gtk/gtkwindow.c (gtk_window_key_press_event): 
11886         (gtk_window_activate_default):
11887         (gtk_window_activate_focus):
11888         return handled=FALSE for actiavtion of insensitive default
11889         widgets. return handled=TRUE for activation of insensitive
11890         focus widgets. don't activate in either case.
11891
11892 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
11893
11894         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
11895         and $glib_cflags to match library order and in the
11896         theory that an old version of GLib is more likely to
11897         be in the include directory for X then vice-versa.
11898         (Bug #2776)
11899
11900 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
11901
11902         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
11903         to determine the locale for fontsets, not LC_MESSAGES;
11904         the user may want English messages with a handling
11905         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
11906         will still be broken) (Bug #2891)
11907
11908 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
11909
11910         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
11911
11912 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
11913
11914         * gtk/gtkrc.ko: Changed the Korean default fontset.
11915
11916 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
11917
11918         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
11919         where when scrolling to the left or top double exposes
11920         were done, causing major slowdowns.
11921
11922 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
11923
11924         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
11925         names to lowercase and alphanumeric, before looking
11926         them up.
11927
11928         * gtk/Makefile.am: Install codeset variant gtkrc files
11929         with normalized names.
11930
11931 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
11932
11933         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
11934         popup menus when the menu is already visible, but its parent
11935         is still hidden, (happens after tornoff window got hidden).
11936
11937 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
11938
11939         * gtk/Makefile.am (install-data-local): Fix
11940         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
11941         deleted, causing error messages on install.
11942
11943 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
11944
11945         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
11946         the handle as well, since we now sometimes ignore
11947         exposes on the handle while resizing.
11948
11949 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
11950
11951         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
11952         extra g_free introduced in one of the last one or two 
11953         commits.
11954
11955 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
11956
11957         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
11958         consistent, put each style that a gtkrc.* file creates
11959         in a unique namespace, remove old files before installing.
11960
11961 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
11962
11963         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
11964         gtk_rc_init is called multiple times. (Yes, people who
11965         do that have bugs in their code.)
11966
11967 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
11968
11969         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
11970         Remove it since it's generated by the Makefile anyway
11971
11972 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
11973
11974         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
11975         device->info.axes for core pointer.
11976
11977 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
11978
11979         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
11980         idle_id, to deal with obsolete, broken C libraries.
11981
11982 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
11983
11984         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
11985         allocation->x/y twice!
11986
11987         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
11988         consistent with gtk_vscale_pos_trough().
11989
11990 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
11991
11992         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
11993         be queueing a resize on a toplevel container between
11994         the time we show it and when we map it. So, we need
11995         to test GTK_WIDGET_VISIBLE() for toplevels, and only
11996         use GTK_WIDGET_DRAWABLE() for child windows.
11997
11998 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
11999
12000         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
12001         (fixes bug #2144)
12002
12003 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
12004
12005         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
12006         container DRAWABLE (instead of VISIBLE), so we don't queue
12007         resizes on non-toplevel containers.
12008
12009 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
12010
12011         * gtk/gtkselection.[ch]: Make the data argument
12012         const guchar *.
12013
12014 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
12015
12016         * gtk/gtkwindow.c: Try to behave sensibly if 
12017         the focus widget is the window itself. (Should
12018         we allow this at all?)
12019
12020 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
12021
12022         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
12023         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
12024         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
12025         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
12026         in prototypes and implementations consistent (Tomas Ogren).
12027
12028         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
12029         before the widget is unparented (reported by damon).
12030
12031         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
12032         since we provide unsigned data anyways.
12033
12034 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
12035
12036         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
12037         the call to gtk_tooltips_layout_text() until later.
12038
12039         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
12040         Call gtk_widget_ensure_style() before using the style.
12041
12042 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
12043
12044         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
12045         for old widgets that don't propagate draws to all
12046         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
12047
12048 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
12049
12050         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
12051         for a redraw but just the widget that requested the resize.
12052
12053 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
12054
12055         * gtk/gtkcontainer.c: added new widget level method
12056         gtk_container_set_reallocate_redraws() and a GtkContainer flag
12057         reallocate_redraws : 1 to reflect the setting, exported this through
12058         the argument system as a boolean ::reallocate_redraws.
12059
12060         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
12061         on the widget because the allocation changes, do so as well for
12062         widget->parent if the parent has reallocate_redraws set to TRUE.
12063         with that containers requesting reallocation redraws get automatically
12064         redrawn if their children changed allocation (this unfortunately
12065         affects also other children that didn't change allocation, but we
12066         cannot work around that before 1.3).
12067
12068 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
12069
12070         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
12071         _and_ height are >0 (not _or_).
12072
12073         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
12074         instead of gtk_container_queue_resize(), which is a core gtk internal
12075         function (must have been on crack when i queued that).
12076
12077         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
12078         we can check more reliably if we want to discard expose events.
12079         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
12080         flag.
12081         
12082         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
12083         we simply trust these events. for deciding whether to discard exposes,
12084         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
12085         
12086 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
12087
12088         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
12089         queues of areas that are completely off screen.
12090
12091         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
12092         logic for handleboxes.
12093
12094         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
12095         check on width/height.
12096
12097 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
12098
12099         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
12100         we are fine with using $@ the way we do (if we actually encounter
12101         brokeness with $@ in VPATH builds because of additional path prefixes,
12102         we need to use $(@F) actually).
12103
12104 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
12105
12106         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
12107         short lived bugs, that would allow language bindings to do surgeries
12108         to our guts.
12109
12110 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
12111
12112         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
12113         where comparison was being done against an uninitialized
12114         value causing intermittant results depending on
12115         compiler flags. Also make it clearer that we aren't
12116         ever initializing the child as 0x0 (though this will
12117         be caught in gtk_widget_size_allocate())
12118
12119 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
12120
12121         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
12122         gtk_window_unset_transient_for() call after we do checks
12123         involving the old transient parent.
12124         [ From Lance Capser <lmc@cyberhighway.net> ]
12125
12126 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
12127
12128         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
12129         an empty file.
12130
12131 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
12132
12133         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
12134         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
12135
12136 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
12137
12138         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
12139         `$@' is valid only in the build dir, not after we've done 
12140         `cd $srcdir'.  Also use `test -f' instead of less portable
12141         `test -e'.
12142
12143 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
12144
12145         * gtk/gtktext.c (correct_cache_insert): Rewrite
12146          for simplicity, and hopefully correctness.
12147          (Fixes bug #1322, which was a segfault when
12148           on some insertions with the properties around
12149           the insertion set up just wrong.)
12150
12151         * gtk/gtktext.c (gtk_text_adjustment): When we receive
12152          a "changed" signal, clamp the new value to the adjustment
12153          bounds to avoid segfaulting if someone tries to change
12154          the adjustment to a bogus value. (Bug #1795)
12155
12156 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
12157
12158         * gtk/gtkmain.c: Ignore unexpected destroy notifies
12159         for children, for toplevel windows handle them
12160         like delete_event.
12161
12162         * gtk/gtkplug.c: Add an unrealize handler so that
12163         we unref plug->socket_window when we are done
12164         with it.
12165
12166 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
12167
12168         * gtk/gtktext.c (clear_area): Fix stupid signedness
12169          problem that was causing background to sometimes
12170          be misaligned.
12171
12172 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
12173
12174         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
12175         
12176         * gtk/gtkmenu.c (gtk_menu_position): Make
12177          sure we never position menus with negative x, y,
12178          since gtk_widget_set_uposition() can't handle that.
12179
12180         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
12181          Modify the positioning code a bit so that we always
12182          put the top-left corner onscreen. (This is for
12183          UI reasons, gtk_menu_position() now takes care of
12184          gtk_widet_set_uposition() brokeness.)
12185
12186 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
12187
12188         * gtk/Makefile.am: fixed up things for -jx, x > 1.
12189
12190 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
12191
12192         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
12193           RC style that is passed in. The lack of the ref
12194           before was a bug. If people worked around this
12195           bug, this will introduce a slight memory leak
12196           in their code. The code should typically look like:
12197
12198             rc_style = gtk_rc_style_new ();
12199             [...]
12200             gtk_widget_modify_style (widget, rc_style);
12201             gtk_rc_style_unref (rc_style);
12202
12203         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
12204           the style if it was already set.
12205
12206         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
12207           style if it was set before.
12208
12209 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12210
12211         * gtk/testgtk.c (main): Add a check to see if we
12212           are being run from the correct directory and
12213           to quit nicely if we are not.
12214
12215         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
12216           static.
12217
12218 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
12219
12220         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
12221
12222         * gtk/gtkwindow.c:
12223         queue resizes unconditionally (gtk_widget_queue_resize will figure
12224         what to do if the window is not realized).
12225         (gtk_window_move_resize): only recenter the window
12226         for GTK_WIN_POS_CENTER_ALWAYS.
12227         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
12228         the same way as GTK_WIN_POS_CENTER.
12229
12230 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
12231
12232         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
12233         with (!(info->last_flags & GDK_HINT_POS)) instead of
12234         (!info->last_flags & GDK_HINT_POS).
12235
12236         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
12237         new_height unconditionally, because we use these values even if
12238         !default_size_changed && !hints_changed.
12239         comented the (default_size_changed || hints_changed) case with
12240         respect to resize rejects from the window manager.
12241
12242         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
12243         in the zvt condition hack, since this includes the window hints, set
12244         the hints after the handling_resize case.
12245
12246         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
12247         window is initially shown with to the geometry.
12248
12249 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
12250
12251         * gtk/gtkwindow.c (gtk_window_move_resize):
12252         s/size_changed/default_size_changed/g so i know what's
12253         really going on (frying brain on smaller flame now).
12254
12255 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
12256
12257         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
12258         we have size_changed upon handling_resize. this is a gross
12259         workaround for the broken zvt widget and should be removed in
12260         1.3 again (search for FIXME).
12261         Owen provided an accurate comment for this:
12262
12263         /* We could be here for two reasons
12264          *  1) We coincidentally got a resize while handling
12265          *     another resize.
12266          *  2) Our computation of size_changed was completely
12267          *     screwed up, probably because one of our children
12268          *     is broken. It's probably a zvt widget.
12269          *
12270          * For 1), we could just go ahead and ask for the
12271          * new size right now, but doing that for 2)
12272          * might well be fighting the user (and can even
12273          * trigger a loop). Since we really don't want to
12274          * do that, we requeue a resize in hopes that
12275          * by the time it gets handled, the child has seen
12276          * the light and is willing to go along with the
12277          * new size. (this happens for the zvt widget, since
12278          * the size_allocate() above will have stored the
12279          * requisition corresponding to the new size in the
12280          * zvt widget)
12281          *
12282          * This doesn't buy us anything for 1), but it shouldn't
12283          * hurt us too badly, since it is what would have
12284          * happened if we had gotten the configure event before
12285          * the new size had been set.
12286          */
12287
12288 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
12289
12290         * gtk/gtkrc.c: deal properly with the fact that RC
12291           style lists may include rc styles more than once.
12292
12293         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
12294           unused static function.
12295
12296         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
12297           stack of directories of RC files currently being
12298           parsed and implicitely add them to pixmap path.
12299           
12300           This fixes a bug where the directory would get
12301           appended then overwritten by pixmap_path declarations.
12302
12303           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
12304
12305         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
12306           theme's exit function. (Patch from Peter Wainwright,
12307           bug #1454)
12308
12309         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
12310           Add a destroy() handler to take care of removing
12311           group for menu item. (Fixes bug #1197)
12312
12313         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
12314           in warning message.
12315
12316 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
12317
12318         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
12319         roundtrip to figure window's width and height, since we know that
12320         anyways from widget->allocation.
12321
12322 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
12323
12324         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
12325           the hints after we request the new size.
12326
12327 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
12328
12329         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
12330           GTK_WIDGET_REALIZED() assertion - we can compute the
12331           hints before we are realized.
12332
12333         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
12334           hint changing so that we have a value of hints_changed
12335           when we decide whether to constrain the window size.
12336
12337         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
12338
12339         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
12340         change back to G_MAXINT.
12341
12342 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
12343
12344         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
12345         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
12346         contain uncluttered values.
12347         (gtk_window_compute_hints): simply assert that window is realized
12348         and that geometry_info is valid, since we rely on this anyways.
12349         (gtk_window_constrain_size): major cleanups to the code.
12350         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
12351         for the base size, instead of the minimums. use 32767 as max width
12352         and height (like in gtkwindow.c) instead of G_MAXINT.
12353
12354 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
12355
12356         * cleaned up the GtkContainer.need_resize flag handling mess, we
12357         only need to force resize requests when we were prematurely
12358         realized, or our widget tree was modified when we were temporarily
12359         hidden. handling these cases directly upon showing the window (i.e.
12360         while the GdkWindow is still unmapped) avoids the need to wait for
12361         a configure event response and therefore makes the GUI more snappier
12362         and avoids blank windows during the roundtrip.
12363
12364         * gtk/gtkwidget.c:
12365         (gtk_widget_hide): 
12366         (gtk_widget_show): don't queue resizes on toplevels, they know how
12367         to deal with matters.
12368
12369         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
12370         flag directly for not visible resize containers and spare us unecessary
12371         signal emissions.
12372
12373         * gtk/gtkwindow.c:
12374         (gtk_window_realize): if we need to enforce premature size allocation,
12375         queue a container resize so we are correctly resized later on.
12376         (gtk_window_init):
12377         (gtk_window_size_request):
12378         don't freak around with the ->need_resize flag,
12379         gtk_container_queue_resize() will care about that.
12380         (gtk_window_show):
12381         handle initial resizing issues here, we can handle matters better in
12382         this place, especially since we know that our GdkWindow is still
12383         unmapped.
12384         (gtk_window_move_resize):
12385         don't care about ->need_resize at all.
12386         handle size changes properly that occoured while we waited for a
12387         configure event.
12388
12389 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
12390
12391         * gtk/gtkwidget.c (gtk_widget_set_uposition):
12392         * gtk/gtkwindow.[hc] (gtk_window_reposition):
12393         Move the hint setting code from gtk_widget_set_uposition
12394         to here; set the hints so that we respect any previously
12395         set geometry hints.
12396
12397         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
12398         change the window hints here or move the window here,
12399         let that happen in gtk_window_move_resize().
12400
12401 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
12402
12403         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
12404         to already queued resizes (and therefore redraws) on a widget, check
12405         its anchestry as well.
12406
12407         * gtk/gtkcontainer.c:
12408         (gtk_container_queue_resize): clear resize widgets for resize
12409         containers before aborting prematurely. this is especially important
12410         for toplevels which may need imemdiate processing or their resize
12411         handler to be queued.
12412         (gtk_container_dequeue_resize_handler): added new internal function for
12413         gtkwindow.c.
12414
12415         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
12416         configure event, take possible changes in window position into account
12417         as well.
12418         if we request a new window size, queue up a resize handler that will
12419         last until the configure event response arrives.
12420         combined the ->need_resize case (initial show) with the general size
12421         (hints) changed case and added even more comments.
12422         if !auto_shrink, only revert to the old allocation if the new size
12423         is smaller than the current allocation.
12424
12425 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
12426
12427         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
12428                            gtk_window_set_geometry_hints
12429                            gtk_window_set_default_size):
12430         When hints are set, queue a resize so that the hints will
12431         be eventually reset on the toplevel.
12432
12433         * gtk/gtkwindow.c (gtk_window_show): Use
12434         gtk_window_compute_default_size(). Clear the need_resize flag
12435         on the initail map so that we don't unnecessarily trigger the
12436         resize code.
12437
12438         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
12439         into separate functions. Compare the hints we are setting
12440         with what we set last time so that we can accurately
12441         tell when we need to reset the hints.
12442
12443         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
12444         function to figure out the size from requisition
12445         and default_size.
12446
12447         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
12448         from fvwm to constrain a size to the geometry hints.
12449
12450         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
12451         to compare two sets of geometry hints.
12452
12453         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
12454         from gtk_window_set_hints(), just compute the hints,
12455         don't set them.
12456
12457         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
12458         code from gtk_window_move_resize() to separate function,
12459         rationalize a bit.
12460
12461 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
12462
12463         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
12464         structure into a new private structure.
12465
12466         * gtkrc.c: Split GtkRcStyle into public/private.
12467         In the private part, add a list of pointers to the
12468         RcStyle lists this RcStyle participates in.
12469
12470         * gtkrc.c: When a RcStyle is free, remove all
12471         lists referencing it from the 
12472         realized_style_ht hash, and free those lists.
12473         
12474         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
12475         gtk_rc_init(), since that adds the default styles
12476         to the list of parsed RC files again.
12477
12478         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
12479         
12480 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
12481
12482         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
12483         checks that ensure that a widget's allocation is at least 1 in width
12484         and height. (GNOME note: this doesn't affect old panel code anymore,
12485         because GtkSocket will request width and height of at least 1 since
12486         Fri Jul 23).
12487
12488         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
12489         allocated yet (happens if the user realizes the window prematurely),
12490         size request and allocate it.
12491         (gtk_window_size_allocate): guard against guint underflows.
12492
12493 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
12494
12495         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
12496         in gtk_built_sources, so gtk.defs gets built prior to all other
12497         sources.
12498
12499 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12500
12501         * gtk/Makefile.am:
12502         invoke indent on gtkmarshal.*. 
12503         rewrote source generation rules, use COPYING as oldest source tag for
12504         a piggyback rule to generate all sources from (don't touch it ;).
12505         major cleanups, strip spaces on build rules for GNU Make.
12506
12507         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
12508         source and target files from commandline arguments. don't invoke indent.
12509
12510 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
12511
12512         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
12513         notebook after switch to avoid drawing problems.
12514         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
12515         
12516         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
12517         show them instead. 
12518         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
12519
12520 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
12521
12522         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
12523         notebook after switch to avoid drawing problems.
12524         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
12525         
12526         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
12527         show them instead. 
12528         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
12529
12530 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
12531
12532         * gtk/gtkwindow.c:
12533         we use window->need_resize from configure_event now, to indicate that
12534         the gtkwindow should keep its allocation (e.g. because the user resized
12535         the window through window manager handles). resize_count is now reliably
12536         used to figure whether we got the allocation we requested from the
12537         window manager.
12538         configure events get queued as resizes now, the real stuff (size
12539         computation and allocation) now only goes on in gtk_window_move_resize().
12540         GtkWindow's requisition now contains its *real* requisition (like all
12541         other widgets), *not* taking usize into account.
12542         geometry_info->last_{width|height} is now updated from set_hints() only
12543         so it always contains the last hints we set for the window manager.
12544         made some event handlers return TRUE instead of FALSE.
12545         the overall code should be much more straight forward now, and the
12546         significant code portions are accompanied by comments now.
12547         (gtk_window_set_hints):
12548         removed requisition argument and made it
12549         fetch the requisition through gtk_widget_get_child_requisition.
12550         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
12551         does that now.
12552         (gtk_window_show):
12553         ensure that the widget is realized before calling 
12554         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
12555         ensure that we got properly size requested and allocated before
12556         realization.
12557         (gtk_window_configure_event):
12558         ignore plain window moves, or reallocate the widget tree through the
12559         resize queue otherwise.
12560         (gtk_window_move_resize):
12561         mostly rewrote this function to figure window manager hints more
12562         reliably, coalesce window moves and resizes to reduce configure events
12563         and do actuall size allocations.
12564
12565 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
12566
12567         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
12568         that have a resize pending, because a redraw is already queued for them.
12569
12570         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
12571         hack to clear resize_widgets.
12572
12573         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
12574         for resize containers prior to size allocation. (this is also a bit
12575         ugly, but avoids side effects for stopped emissions and is thus more
12576         reliable).
12577         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
12578
12579         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
12580         function from gtk_tooltips_expose, as we connect to ::expose_event
12581         *and* ::draw now.
12582
12583 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
12584
12585         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
12586         checks.
12587         (gtk_target_list_unref): Likewise.
12588
12589         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
12590
12591 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
12592
12593         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
12594         guard against division by zero. (Fixes bug #1339)
12595
12596 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
12597
12598         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
12599         Prevent the trivial leak of information of allowing
12600         word motion when the entry is not visible.
12601
12602 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
12603
12604         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
12605         modality to error dialog as well as confirmation dialogs.
12606         (Bug #1803, reported by Rosanna Wing Sze Yuen)
12607
12608 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
12609
12610         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
12611         tree->view_lines.
12612         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
12613
12614         * gtk/Makefile.am (install-data-local): Solaris apparently
12615         has various troubles with ln -f; use rm first instead.
12616         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
12617
12618 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
12619
12620         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
12621         use `cp' followed by `rm' (the `rm' was already there).
12622
12623 July 30, 1999 Elliot Lee <sopwith@redhat.com>
12624         
12625         * configure.in: Fix autoconf warnings about cross compilation by
12626         trying to provide sane defaults for AC_TRY_RUN.
12627         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
12628         put them into $(srcdir) when generated. Also add a dependency of
12629         gtksignal.h on gtkmarshal.h for -j builds. 
12630         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
12631
12632 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
12633
12634         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
12635         GDK_THREADS_{LEAVE,ENTER} pair.
12636         (From Paul Fisher <pnfisher@redhat.com>)
12637
12638 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
12639
12640         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
12641         width and height are always >0 (owen).
12642
12643 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
12644
12645         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
12646         change that assured that a widget's allocated with and height are
12647         always >1, since this breaks *buggy* panel code. unfortunately this
12648         back-breaks the gimp's color selector.
12649
12650         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
12651         allocation is always >0 in width and height, before sending the
12652         configure event; this is a *gross* hack to get the gimp back to work.
12653         
12654         * marked both cases with TODO-1.3
12655
12656 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
12657
12658         * gtk/gtktext.c: Don't display wrap indicators when
12659         text is not editable and word wrap is on.
12660
12661 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
12662
12663         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
12664         option menus here as they are not derived from menu shell, assure that
12665         the option menu has a menu we can add items to.
12666
12667 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
12668
12669         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
12670         width/height to (gint) before calculations and check against < 0 to
12671         avoid guint wraparounds.
12672
12673 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
12674
12675         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
12676         width and height is never zero. sanity check both dimensions against
12677         32767 and issue a warning if the allocation is greater than that.
12678
12679 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
12680
12681         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
12682         to g_main_pending() as well.
12683
12684 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
12685
12686         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
12687         call to g_main_iteration() - since that will regrab
12688         GTK+ lock to process events.
12689
12690 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
12691
12692         * gtk/gtkwindow.c
12693         - Regularize with the rest of GTK+ by making widget->requisition
12694           not reflect the set_usize()
12695         - Always recompute geometry hints, then check if they
12696           changed before sending them to the X server. The
12697           previous checks for changes would fail in a number
12698           of circumstances. 
12699
12700 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
12701
12702         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
12703
12704 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
12705
12706         * gtk/gtkdnd.c:
12707         - Code cleanups
12708         - Instantaneously update on modifier key presses
12709         - Allow cancellation of the drag with Escape.
12710
12711 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
12712
12713         * gtk/testgtk.c (create_handle_box): Set the policy
12714         to auto_shrink - otherwise the appearance is rather
12715         strange when flipping between horizontal and vertical.
12716
12717 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
12718
12719         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
12720         (gtk_window_set_default_size): don't change a value if it's < 0.
12721         queue a resize.
12722
12723 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
12724
12725         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
12726
12727 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
12728
12729         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
12730         add an extra "/" when concating "/" + filename.
12731         (From Matt Grossman <mattg@oz.net>)
12732
12733 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
12734
12735         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
12736         for fg_gc if we set it for drawing pixmap.
12737
12738 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
12739
12740         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
12741         
12742         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
12743         already set, call old engine's destroy function and
12744         unref the old engine.
12745
12746 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
12747
12748         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
12749
12750 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
12751
12752         * gtk/gtkaccelgroup.h: mark certain functions as internal.
12753
12754 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
12755
12756         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
12757         expand behaviour changed.
12758
12759         * gtk/gtklabel.c (gtk_label_set_pattern):
12760         (gtk_label_set_justify):
12761         (gtk_label_set_line_wrap):
12762         don't bother invoking queue_clear, the reallocation does
12763         that for us, always free_words so the upcoming resize will
12764         relayout the label's contents.
12765
12766 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
12767
12768         * applied argument implementation patches from Elena Devdariani
12769         <elena@cogent.ca>.
12770
12771         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
12772         ::space_style, ::relief
12773         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
12774         * gtk/gtkpreview.c: ::expand
12775         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
12776         * gtk/gtknotebook.c: ::homogeneous
12777         * gtk/gtklabel.c: ::wrap
12778         * gtk/gtklist.c: ::selection_mode
12779         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
12780         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
12781         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
12782         * gtk/gtkclist.c: ::sort_type
12783         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
12784         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
12785
12786 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
12787
12788         * gtk/gtkstyle.c: Removed ill-thought-out part of last
12789         comment.
12790
12791 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
12792
12793         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
12794         counting right when we have to attach a new style
12795         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
12796
12797         * gtk/gtkstyle.c: Documented the refcounting
12798         peculularities of gtk_style_attach.
12799
12800 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
12801
12802         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
12803         window types.
12804
12805         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
12806         of GTK_TOPLEVEL for creating the window.
12807
12808 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
12809
12810         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
12811         the last argument (reported by Per Winkvist).
12812         
12813 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
12814
12815         Fixes for invisible XOR lines (Frank Loemker
12816         <floemker@TechFak.Uni-Bielefeld.DE>)
12817         
12818         * gtk/gtkclist.c (gtk_clist_realize): Always use
12819         a non-zero pixel for GDK_XOR.
12820
12821         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
12822         Use GDK_INVERT instead of GDK_XOR.
12823
12824 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
12825
12826         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
12827         signals if h/voffsets differ from adjustment values.
12828         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
12829
12830 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
12831
12832         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
12833         ::selection-done emissions up to the topmost menu shell.
12834
12835 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
12836
12837         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
12838         the user data on the window before destroying it.
12839
12840         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
12841         unrealize handler to take care of destroying 
12842         notebook->panel properly. 
12843         (Bug #1198 - Morten Welinder <terra@diku.dk>)
12844
12845         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
12846         of g_new and g_realloc to stop memory leak. (Actually,
12847         we could just use g_realloc(), but I'm not 100% sure
12848         that is portable).
12849         (Bug #1196 - Morten Welinder <terra@diku.dk>)
12850
12851 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
12852
12853         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
12854
12855         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
12856         for fontsets.
12857
12858         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
12859         with bin/button confusion.
12860
12861 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
12862
12863         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
12864         and show how preselection of radio items is done.
12865
12866 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
12867
12868         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
12869         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
12870         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
12871         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
12872         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
12873         * gtk/gtktable.c (gtk_table_attach): 
12874         * gtk/gtklist.c (gtk_list_insert_items): 
12875         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
12876         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
12877         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
12878         * gtk/gtkbin.c (gtk_bin_add): 
12879         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
12880         * gtk/gtkfixed.c (gtk_fixed_put): 
12881         * gtk/gtklayout.c (gtk_layout_put):
12882         general fixups to container_add logic. always realize child if
12883         child->parent is realized, only map the child and queue a resize
12884         if child and child->parent are both visible.
12885
12886 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
12887
12888         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
12889         instead of gtk_container_foreach to walk and unrealize children, so
12890         composite children get also unrealized.
12891         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
12892         (gtk_widget_map): assert that the widget is visible (basic constrain).
12893         (gtk_widget_real_map): assert that the widget is realized (basic
12894         constrain).
12895
12896 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
12897
12898         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
12899
12900 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
12901
12902         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
12903         file for iso-8859-2 locales.
12904
12905         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
12906
12907 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
12908
12909         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
12910          (Pointed out by andy@rz.uni-karlsruhe.de and others).
12911          Remove some suspicious and useless lines. 
12912
12913 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
12914
12915         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
12916         width,height = 0, 0 to mean - here to edge of window,
12917         instead of -1, -1, since the former is all we support.
12918
12919 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
12920
12921         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
12922         when removing from quit_functions list.
12923
12924 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
12925
12926         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
12927
12928 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
12929
12930         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
12931          When redrawing characters on non-visible entry, use appropriate
12932          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
12933
12934 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
12935
12936         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
12937         from drag coordinates.
12938         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
12939         use drag_dest_cell.
12940
12941         * gtk/gtktree (drag_dest_cell)
12942         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
12943         (Bug #1129)
12944
12945 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
12946
12947         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
12948         translate_* fields.
12949         (gtk_item_factory_finalize): invoke translate_notify independant from
12950         translate_data.
12951         (gtk_item_factory_set_translate_func): likewise.
12952         (gtk_item_factory_destroy): only remove ifactory pointer from those
12953         widgets that belong to us (stupid me).
12954
12955 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
12956
12957         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
12958         rc_style list when lookup succeeeds.
12959
12960 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
12961
12962         * gtk/gtkctree.c (resync_selection): 
12963         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
12964         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
12965         bug.
12966
12967 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
12968
12969         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
12970         Add some missing GDK_THREADS_ENTER()/LEAVE around
12971         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
12972
12973 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
12974
12975         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
12976         rather than emit_by_name.
12977
12978         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
12979         on the widget across multiple signal emissions.
12980         (gtk_editable_delete_text): same here.
12981         (gtk_editable_class_init): set widget_class->activate_signal after
12982         editable_signals[ACTIVATE] has been created.
12983
12984 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
12985
12986         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
12987         position here prematurely -- we might not have the
12988         right ->min_position and ->max_position yet.
12989
12990 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
12991
12992         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
12993         Add error traps so if the other end of the connection
12994         dies, we survive.
12995
12996         * gtk/gtkselection.c (gtk_selection_notify): Clean
12997         up properly when selection property retrieval fails.
12998         
12999         * gtk/gtkselection.c (gtk_selection_request): Correctly
13000         reject SelectionRequest notifies where the handler
13001         returns no data.
13002
13003 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13004
13005         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
13006         when we've previously highlighted.
13007
13008         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
13009         emit two "drag_leave" signals for Motif drops.
13010
13011         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
13012         back the correct status messages when dropping from
13013         Motif onto a proxy window that is rejecting the
13014         drop.
13015
13016 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
13017
13018         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
13019         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
13020         to compare two argument values. added gtk_arg_to_valueloc() to set a
13021         variable from an arg through its location (pointer).
13022
13023         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
13024         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
13025         as gfloat*, uchars are collected as guchar*, ints are collected as
13026         gint*, etc...
13027
13028 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
13029
13030         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
13031         Include <string.h> instead of <strings.h>.
13032
13033         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
13034         (actually, a lot more duplicate includes occur if
13035          you trace through the sequence of #include's)
13036         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
13037         
13038 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
13039
13040         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
13041         gtk-a-higuti-990322-[0-3]
13042
13043         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
13044         that was causing -DX_LOCALE not to work.
13045
13046         * gtk/gtkrc.c (gtk_rc_init):
13047         X_LOCALE will never have LC_MESSAGES defined
13048
13049 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
13050
13051         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
13052         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
13053
13054         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
13055         left/right as well (gtk-michael-980726-0.patch.gz).
13056
13057         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
13058         for pointer values, use gchar instead of char. fixed uline allocation
13059         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
13060         chunks instead of G_ALLOC_ONLY.
13061         (gtk_label_size_request): always alter requisition as passed and leave
13062         widget->requisition alone.
13063         (gtk_label_set_text): allow NULL strings.
13064         (gtk_label_new): likewise.
13065
13066 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
13067
13068         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
13069
13070 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
13071
13072         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
13073         *and* mapped (i.e. drawable).
13074         (gtk_bin_expose): only send exposes to drawable children.
13075
13076         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
13077         (gtk_box_expose): only send exposes to drawable children.
13078
13079         * gtk/gtkhscale.c (gtk_hscale_draw): 
13080         * gtk/gtkvscale.c (gtk_vscale_draw):
13081         hm, this is an ugly one. we first compute the size of our trough area
13082         here (window relative) and then check intersection with the draw_area
13083         which is parent relative because we're a NO_WINDOW widget, so we need
13084         to offset the trough area by allocation.x and allocation.y before the
13085         check. (this must not be done for the background area though, since
13086         that's already computed parent relative).
13087
13088 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
13089
13090         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
13091         unrealize title buttons.
13092
13093 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
13094
13095         * gtk/gtkclist.c (gtk_clist_column_title_passive)
13096         (gtk_clist_column_title_active): 
13097         only connect/disconnect to GtkWidgetClass::event to block mouse events.
13098
13099         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
13100         zero initialize event, removed superfluous gdk_window_get_pointer call
13101
13102         * gtk/gtklist.c (gtk_list_vertical_timeout)
13103         (gtk_list_horizontal_timeout): removed superfluous
13104         gdk_window_get_pointer call
13105
13106 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
13107
13108         * plugging problems reported by "Bruce Mitchener, Jr."
13109         <bruce@puremagic.com> due to a purify session.
13110
13111         * gtk/gtkstyle.c:
13112         (gtk_style_ref): 
13113         (gtk_style_unref): assert ref_count to be > 0.
13114
13115         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
13116         the requisition.
13117         (gtk_clist_set_shift): likewise.
13118
13119         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
13120         adjustments.
13121
13122         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
13123         event before sending it and set send_event to TRUE (which needs to
13124         be done for *all* synthesized events).
13125         (gtk_list_vertical_timeout): likewise.
13126
13127         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
13128         leaks.
13129
13130         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
13131         to TRUE when synthesizing events.
13132
13133 [ *** end of merges from 1.2 *** ]      
13134         
13135 1999-11-21  Tor Lillqvist  <tml@iki.fi>
13136
13137         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
13138         (or copied from gdkconfig.h.win32 on Win32, sigh).
13139
13140         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
13141
13142         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
13143
13144         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
13145
13146         * gdk/gdkconfig.h.win32: New file.
13147
13148         * gdk/win32/makefile.cygwin: Build just a static archive here.
13149
13150         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
13151         for the DLL from the static archive built above.
13152
13153         * gdk/gdk.def: Moved here from the win32 subdirectory.
13154
13155         * gdk/win32/*: Adapt for the changed private struct organisation.
13156
13157         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
13158
13159 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
13160
13161         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
13162         for wheel mice (buttons 4 and 5).
13163
13164 1999-11-18  Tor Lillqvist  <tml@iki.fi>
13165
13166         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
13167         drawables use just the pixel field in the foreground and
13168         background GdkColor of the GdkGC.
13169
13170         gdk_gc_set_{fore,back}ground() are called in the GIMP with
13171         GdkColors containing uninitialized (red,green,blue) fields, and
13172         just the pixel field filled in, and furthermore in the
13173         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
13174         It thus turns out that we really don't need to have the full
13175         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
13176         it later to have just the pixel values.
13177
13178 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
13179
13180         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
13181
13182 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
13183
13184         * docs/gtkfaq.sgml: threads example from Erik Mouw.
13185         New question on GtkLabel background colors.
13186
13187         * docs/gtk_tut.sgml:
13188           - Correct the example code callback
13189             function definitions.
13190           - Update the gtkdial example code, from Frans van Schaik.
13191           - Update setselection.c to current API.
13192
13193         * examples/Makefile examples/*/*.c: Update to code
13194         listed in tutorial.
13195
13196 1999-11-10  Tor Lillqvist  <tml@iki.fi>
13197
13198         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
13199         subrange table (from the "Developing International Software for
13200         WIndows 95 and Windows NT" book) was missing the Hangul syllable
13201         block... Get the loaded font's charset correctly.
13202
13203         (Note that this, and the other *-win32.c files, still really are
13204         the old ones, the win32 subdirectory is not ready for compilation
13205         yet after the reorg.)
13206
13207 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
13208
13209         * gtk/gtkclist.c: Fix off-by-one bug in parameter
13210         check.
13211
13212 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
13213
13214         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
13215         on results of XQueryDeviceState().
13216
13217 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
13218
13219         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
13220         we need to accesss only ->children. We need an accessor
13221         for the children.
13222
13223         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
13224         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
13225         to get rid of gdkx.h include.
13226         
13227         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
13228         and random references to 'None'.
13229
13230         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
13231         Get rid of unused #include <gdk/gdkx.h>
13232
13233         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
13234         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
13235         gdkconfig.h.
13236
13237 1999-11-08  Tor Lillqvist  <tml@iki.fi>
13238
13239         * gdk/win32/gdkdraw.c
13240         * gdk/win32/gdkfont.c
13241         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
13242         following yesterday's changes. (Unrelated to Owen's reorg.)
13243
13244 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
13245
13246         * gdk/x11/gdkinput-gxi.c: Add missing include,
13247           fix GdkWindowPrivate => GdkDrawablePrivate.
13248
13249         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
13250
13251         * gdk/x11/Makefile.am (xinput_sources): Add missing
13252         backslash to fix building with --with-xinput=none
13253
13254 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
13255
13256         Move all X specific code into the x11/ directory.
13257         Aside from shuffling things around, did the following:
13258
13259        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
13260          gdk_arg_context_* - a simple argument parsing system
13261          in the style of popt.
13262
13263        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
13264          gdk/x11/gdkprivate-x11.h:
13265          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
13266          add ->klass and ->klass_data fields. The klass_data
13267          field points to an auxilliary structure that is
13268          windowing system dependent.
13269
13270        * gdk/gdkfont.c: Make most of the measurement functions
13271          simply wrappers around gdk_text_extents().
13272
13273        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
13274          _gdk_font_strlen() function that hides the weird
13275          behavior in gtk+-1.[02] where a string is interpreted
13276          differently for 8-bit and 16-bit fonts.
13277
13278        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
13279          to store common code for synthesizing double/triple
13280          press events.
13281         
13282        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
13283          Make all the function that modify an existing GC
13284          simply wrappers around gdk_gc_set_values().
13285          
13286        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
13287          for throwing out later.
13288
13289        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
13290          GdkImagePrivate and GdkColormapPrivate to have a
13291          windowing system dependent part (GdkFontPrivateX etc.)
13292          that "derives" from the system-independent part.
13293
13294        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
13295          Got rid of the included-source-files for XInput in
13296          favor of automake conditionals. (Which didn't exist
13297          when XInput support was originally added.)
13298
13299        * gdk/gdkrgb.c: Remove the visual id from the debugging
13300          statements since that is X11 specific; print out
13301          type/depth info instead.
13302          
13303
13304 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
13305
13306         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
13307         loading duplicates of hashed fonts.
13308
13309         * gdk/gdk.c (gdk_keysym_convert_case): rename
13310         gdk_XConvertCase to gdk_keysym_convert_case, allow
13311         results to be NULL in the GTK+ style.
13312
13313         * gdk/gdkcompat.h: Started compatibility header
13314         for renames.
13315
13316 1999-11-07  Tor Lillqvist  <tml@iki.fi>
13317
13318         * gdk/win32/gdkprivate.h: New font private structures, related to
13319         fontsets.
13320
13321         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
13322         gdk_font_list_free(). On X11, will just be wrappers to
13323         XListFonts() and XFreeFontNames(). On Win32, the code previously
13324         in gtkfontsel.c is now here.
13325
13326         New function gdk_font_xlfd_create(). On X11 will get the FONT
13327         property of the font (for GDK_FONT_FONTs), or call
13328         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
13329         builds a XLFD style name from the font information in the LOGFONT
13330         struct(s).
13331
13332         New function gdk_font_xlfd_free(), which correspondingly frees the
13333         string returned by gdk_font_xlfd_create().
13334
13335         Implement fontsets on Win32. Add a function that iterates over a
13336         wide char string and calls a callback function for each substring
13337         of wide chars from the same Unicode subrange (and thus probably
13338         available in the same real font).
13339
13340         Improve the XLFD emulation a bit.
13341
13342         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
13343
13344         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
13345         Beta3, WM_IME_CHAR messages don't seem to contain the composed
13346         multi-byte char as with the Active IMM on Win9x. Oh well, handle
13347         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
13348         ImmGetCompositionStringW() to get the composed Unicode chars.
13349
13350         * gdk/win32/gdkgc.c
13351         * gdk/win32/gdkdraw.c: Changes needed because of the font private
13352         struct changes.
13353
13354         * gdk/win32/gdk.def: Add the new functions.
13355
13356 1999-11-04  Tor Lillqvist  <tml@iki.fi>
13357
13358         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
13359         get the Platform SDK to get <dimm.h>.
13360
13361         * gdk/win32/gdkevents.c: More event handling fixes and
13362         simplification. Never generate motion events with is_hint true. We
13363         used to do that on bogus grounds earlier. Windows sends
13364         WM_MOUSEMOVE messages on button events even if the mouse hasn't
13365         moved, ignore these.
13366
13367         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
13368
13369         * gdk/win32/gdkglobals.c
13370         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
13371         the TrackMouseEvent function, and use it.
13372
13373         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
13374         char before calling WideCharToMultiByte in order to get a string
13375         for the window title.
13376
13377         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
13378
13379         * gdk/win32/gdk.def: Remove obsolete functions.
13380
13381         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
13382         /nodefaultlib and /defaultlib switches.
13383
13384         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
13385
13386 1999-10-31  Tor Lillqvist  <tml@iki.fi>
13387
13388         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
13389         EuroSign).
13390
13391         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
13392         same type as GdkWChar, especially on Win32.
13393
13394         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
13395
13396         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
13397         before passing to Windows GDI for drawing etc. Convert to the
13398         system default codepage before passing to Windows as window
13399         titles.
13400
13401         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
13402         support changing input locale on the fly.
13403
13404         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
13405         on-the-fly changes. Convert incoming characters from the current
13406         codepage to Unicode (and then to a UTF-8 multi-byte string) based
13407         on the current input language. Use keysym<->Unicode mapping tables
13408         and functions borrowed from xterm sources.
13409
13410         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
13411         editions of Win9x, use the ActiveX-based Active IMM (Input Method
13412         Manager) if available. IMEs and the Active IMM are available under
13413         the disguise of Chinese, Korean and Japanese support for IE and
13414         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
13415         support is present in all editions (as long as you install it).
13416
13417         Call DispatchMessage from gdk_events_queue() (and thus
13418         gdk_WindowProc()), instead of duplicating the code in
13419         gdk_WindowProc().
13420
13421         Reworked the grab handling and propagation code, factored out
13422         duplicated code snippets into separate functions. Other cleanups,
13423         too.
13424
13425         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
13426         the <dimm.h> header describing the Active IMM.
13427
13428         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
13429         just do the same as for "single" fonts.
13430
13431         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
13432         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
13433         the new keysyms from gdkkeysyms.h.
13434
13435         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
13436         fontset, so that gtkentry uses wide characters.
13437
13438         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
13439         GTk+'s system directory "gtk+", not "gtk".
13440
13441 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
13442
13443         * docs/gtkfaq.sgml: FAQ update
13444
13445 1999-10-21  Tor Lillqvist  <tml@iki.fi>
13446
13447         * gdk/win32/gdkprivate.h: Add more font private data.
13448
13449         * gdk/win32/gdkfont.c
13450         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
13451         fonts and strings. Now works much better. You still have to
13452         have a correct font selected, though. No fontset emulation yet.
13453
13454 1999-10-19  Tor Lillqvist  <tml@iki.fi>
13455
13456         * gtk/maketypes.awk: Use G_OS_WIN32.
13457
13458         * gtk/gtk.def: Add some missing entry points. Also some non-public
13459         ones, but PyGTK porter claims to need them.
13460
13461         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
13462         built-in type generation.
13463
13464 1999-10-14  Tor Lillqvist  <tml@iki.fi>
13465
13466         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
13467         GDK_FONT_FONT fonts (which is all we have for now, we don't
13468         emulate fontsets). The X11 version uses plain XDrawString in that
13469         case, too. The string passed to gdk_draw_text_wc seems to be in
13470         fact (at least, when used by gtkentry and gtktext) either in a
13471         single-byte charset, or a DBCS. Not Unicode.
13472
13473         This fixes the problem in gtkfontsel, where even if you had
13474         selected a font with a non-Latin1 charset (windows-greek, for
13475         instance), the preview still used Latin-1 glyphs.
13476
13477         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
13478         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
13479         (gdk_font_load): Recognize the demibold etc weights, even if we
13480         don't have the corresponding constants in the headers.
13481         (gdk_font_hash_insert): Use same hash mechanism as in the X11
13482         version. Should save font resources a bit, when we don't have
13483         multiple HFONTs for the same font.
13484
13485         * gdk/win32/gdkprivate.h: Add the names field as in the X11
13486         version.
13487
13488 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
13489
13490         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
13491         X values
13492
13493 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
13494
13495         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
13496         layout support (as mentioned on
13497         http://www.jcinteractive.com/gnome-ui/software/widgets/)
13498
13499 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
13500
13501         * gtk/fnmatch.c
13502         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
13503
13504 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
13505
13506         * configure.in (ALL_LINGUAS): Added Galician (gl)
13507
13508 1999-10-05  Tor Lillqvist  <tml@iki.fi>
13509
13510         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
13511
13512         * gdk/win32/gdkcompat.c: New file, actually provide an
13513         implementation for the deprecated functions. (Just temporarily.)
13514
13515         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
13516
13517         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
13518
13519         * gdk/win32/gdk.def gtk/gtk.def: Updates.
13520
13521 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
13522
13523         * configure.in: Added "uk" to ALL_LINGUAS.
13524         
13525 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
13526
13527         * configure.in: correct checking for BeOS check
13528
13529         * gdk/gdktypes.h
13530         * gtk/fnmatch.c
13531         * gtk/gtkfilesel.c
13532         * gtk/gtkitemfactory.c
13533         * gtk/gtkmain.[ch]
13534         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
13535
13536 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
13537
13538         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
13539         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
13540         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
13541         by Bulgarian). 
13542
13543 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
13544
13545         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
13546         Fix a reference to window_private->destroyed.   
13547
13548         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
13549         (ugly) setting of an internal GdkWindow member to use
13550         a _slightly_ cleaner macro.
13551
13552         * gdk/gdkprivate.h: Split GdkWindowPrivate into
13553         GdkDrawablePrivate and GdkWindowPrivate.
13554         Add extra macros for accessing GDK_DRAWABLE_ components.
13555
13556         * *.[ch]: Massive adjustments for the above, use the
13557         new macros in a lot of places.
13558
13559 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
13560
13561         * gdk/gdktypes.h: Make GdkDrawable the base type,
13562         not GdkWindow.
13563
13564 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
13565
13566         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
13567
13568 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
13569
13570         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
13571
13572 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
13573
13574         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
13575         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
13576
13577         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
13578
13579         * docs/gtk-config.1: Now autogenerated.
13580         * docs/Changes-1.4.txt: started
13581         
13582 1999-10-03  Tor Lillqvist  <tml@iki.fi>
13583
13584         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
13585         to #ifdef also here.
13586
13587         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
13588         Owen did to the X11 backend.
13589
13590         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
13591         ScrollWindowEx when blitting inside a window, it can't be correct
13592         in the general case.
13593
13594         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
13595         WM_GETMINMAXINFO is easier.
13596
13597         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
13598         depth equal to the bitspixel value, not the visual's depth.
13599
13600         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
13601         to 24 even if the bitspixel value is 32.
13602
13603         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
13604         need to check for depth==32 when bpp==32, depth will always be 24.
13605
13606 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
13607
13608         * docs/Changes-1.4.txt: Started
13609         
13610         * gtk/Makefile.am (gdk_headers): Include all the new headers.
13611
13612         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
13613         
13614         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
13615         into C file.
13616         
13617         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
13618         header to gdkinputprivate.h.
13619
13620         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
13621         unused since before 1.2.
13622
13623 1999-09-30  Tor Lillqvist  <tml@iki.fi>
13624
13625         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
13626         expand possible hex escapes in the font family (put there by
13627         logfont_to_xlfd if the font name isn't a legal XLFD font family,
13628         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
13629         On Win32, add hex escapes here, too.
13630
13631 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
13632
13633         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
13634         to #ifdef GDK_WINDOWING_X11.
13635
13636 [ Merges from gtk-1-2 ]
13637
13638 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
13639
13640         * configure.in: fixed "GNU Make" check to pass with new make version
13641         3.77.95.
13642
13643 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
13644
13645         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
13646         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
13647         AM_PATH_GTK() macros don't get confused by the -pre1.
13648
13649 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
13650
13651         * configure.in (REBUILD): Change check for perl5
13652           to check explicitely for v >= 5.002. (5.001
13653           does not work with our scripts.)
13654
13655 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
13656
13657         * configure.in: evaluate $PERL for the perl version check. added
13658         --disable-rebuilds to give the user an option to completely disable
13659         any source autogeneration rules.
13660
13661 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
13662
13663         * configure.in: evaluate $ac_make when checking for GNU Make.
13664
13665 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
13666
13667         * docs/Makefile.am: added generation.txt.
13668
13669         * Makefile.am: require automake 1.4, build README from README.in and
13670         INSTALL from INSTALL.in in dist-hook.
13671         
13672         * README.in:
13673         * INSTALL.in: new files to autogenerate README and INSTALL from.
13674
13675         * configure.in: figure whether we have GNU Make
13676
13677         * docs/generation.txt: minor additions/corrections.
13678
13679 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
13680
13681         * docs/gtkfaq.sgml: FAQ Update
13682
13683 July 30, 1999 Elliot Lee <sopwith@redhat.com>
13684         
13685         * configure.in: Fix autoconf warnings about cross compilation by
13686         trying to provide sane defaults for AC_TRY_RUN.
13687
13688 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
13689
13690         * ltconfig
13691         * ltmain.sh: upgrade to libtool 1.3.3
13692
13693 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
13694
13695         * INSTALL: Indicate that the --with-glib= configure
13696         time flag is unsupported.
13697
13698 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
13699
13700         * docs/generation.txt: Added a file that gives
13701         documenation about the autogeneration process for
13702         various autogenerated files.
13703         
13704 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
13705
13706         * configure.in (LIBS): Look for libgmodule in the
13707         right location.
13708
13709 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
13710
13711         * docs/gtk_tut.sgml: Removed references to
13712         code examples in my directory on gtk.org as
13713         they should all be in the tutorial now.
13714
13715         * docs/gtk_tut.sgml: Added sources for dial-test
13716         and scribble-xinput programs that were previously
13717         missing.
13718
13719 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
13720
13721         * TODO: Added entry about menu keyboard navigation, removed
13722         some finished items.
13723
13724 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
13725
13726         * acinclude.m4: Standardize on func_dgettext
13727         not func_gettext, so that the checks for dgettext
13728         actually are paid attention to.
13729
13730 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
13731
13732         * configure.in (LIBS): Add $INTLLIBS into $LIBS
13733         directly, rather than repeating the checks for
13734         gettext.
13735
13736         * INSTALL: Added information about gettext and
13737         NLS support.
13738
13739         * acinclude.m4 (LIBM): Check for dgettext, not
13740         just gettext. This should hopefully fix things wrt
13741         systems with old versions of GNU gettext installed.
13742
13743 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
13744
13745         * configure.in (LIBS): Look for libgmodule in the
13746         right location.
13747
13748 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
13749
13750         * autogen.sh: add --enable-maintainer-mode
13751
13752         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
13753
13754 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
13755
13756         * docs/gtk-config.1.in:
13757           docs/Makefile.am:
13758           configure.in: gtk-config is now generated.
13759
13760         * docs/gtk-config.1: Removed, now generated.
13761
13762 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
13763
13764         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
13765         handle CreateNotify itself, still put out a debuging message for
13766         --gdk-debug=events. made the ReparentNotify debugging message more
13767         verbose.
13768         wrap xcoords translation for ConfigureEvents into an error trap,
13769         a destroy event may already be pending, and in that case, the
13770         actuall coordinate values are not at all critical.
13771
13772 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
13773
13774         * gdk/gdkcc.c: Stop leaking the color_hash all over
13775         the place. Simplify and improve the logic.
13776
13777 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
13778
13779         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
13780         for prototypes and function implementations consistent (reported
13781         by Tomas Ogren).
13782
13783 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
13784
13785         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
13786         send_event set in debugging output.
13787         (gdk_compress_exposures): default initialize the event so we don't
13788         operate on bogus values (namely send_event).
13789
13790 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
13791
13792         * gdk/gdkwindow.c: When we receive an unexpected
13793         destroy notify on one of our windows, don't just
13794         warn about it, also mark our windows as destroyed.
13795
13796 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
13797
13798         * gdk/gdkfont.c (gdk_font_hash_insert): Add
13799           name => font and name => fontset hashes. The 
13800           name => fontset hash is a _big_ win since we
13801           weren't previously caching fontsets at all and loading
13802           fontsets is expensive. The name => font hash
13803           is less of a win, but it does save us from doing
13804           repeated XQueryFont calls on the same font.
13805
13806         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
13807           list so we can remove font/fontset from hash.
13808
13809 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
13810
13811         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
13812           and slightly confusing test. [ XInternAtom (,,TRUE)
13813           will never return None ].
13814
13815 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
13816
13817         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
13818           gdk/gdkwindow.c (gdk_window_set_hints):
13819
13820         Don't omit setting the properties if flags == 0 -
13821         there may be an existing set of properties there
13822         already. (Very old bug. Would it be better to
13823         delete the property instead?)
13824
13825         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
13826           spelling error in comment.
13827
13828 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
13829
13830         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
13831           to avoid stomping over gdk_error_warnings.
13832
13833         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
13834           as (bits_per_pixel + 7) / 8. This gives the same
13835           result as before for multiples of 8, but actually
13836           a "reasonable" value for 1bit or 4bit displays.
13837
13838 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
13839
13840         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
13841         GNU Make.
13842
13843 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
13844
13845         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
13846         discarding configure events.
13847
13848 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
13849
13850         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
13851         refcount is greater than zero.
13852
13853         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
13854
13855         * gdk/gdkfont.c (gdk_font_unref): Likewise.
13856
13857         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
13858
13859         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
13860
13861 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
13862
13863         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
13864         that format 32 => sizeof(item) == 4. It really is
13865         sizeof(long).
13866
13867 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
13868
13869         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
13870         core dump at all on X IO errors, only core dump
13871         if --enable-debug for X errors.
13872
13873 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
13874
13875         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
13876         unknown window:" message. disabled ConfigureNotify discarding code,
13877         because it led to events being processed out of order.
13878
13879 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
13880
13881         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
13882
13883         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
13884         we export this function, supress error warnings and don't reset the
13885         error code in the first half of this function.
13886
13887         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
13888         code (instead of just -1) so gdk_error_trap_pop() reveals something
13889         actually informative about the error that happened.
13890
13891         * gdk/*.c:
13892         don't rely on gdk_error_code being -1 if an error occoured, but just
13893         gdk_error_code != 0.
13894
13895 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
13896
13897         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
13898         pointer *before* invoking the filter function, so we at least don't
13899         crash if a filter is removed that is currently executed. window filters
13900         *really* need to be made truely reentrant at some point.
13901
13902 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
13903
13904         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
13905         PropertyNotify debug messages.
13906
13907 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
13908         
13909         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
13910         
13911         * gdk/gdkim.c: Fix cut-and-paste errors for 
13912         x/y and PreeditAttributes/StatusAttributes.
13913
13914 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13915
13916         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
13917         G_MAXINT to 2^16 to alleviate overflow problems in
13918         various window managers.
13919
13920 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
13921
13922         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
13923         for fontsets.
13924
13925 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
13926
13927         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
13928         Initialize size_hints.x and size_hints.y because kwm
13929         brokenly pays attention to them.
13930         (Bug #1181 -  Lars Heete <hel@admin.de>)
13931
13932 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
13933
13934         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
13935         return value of gdk_list_visuals(). 
13936         (Bug #1193 - Morten Welinder <terra@diku.dk>)
13937
13938 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
13939
13940         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
13941         XSetIMValues to (void *) when comparing to NULL, to workaround
13942         the problem of some compilers barfing since older X headers don't
13943         have the prototype for it.
13944
13945 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
13946
13947         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
13948         for pseudocolor where colormap->colors was double
13949         allocated.
13950
13951         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
13952         color value in the hash table with the pixel filled
13953         in so when we do later hash table lookups, the color
13954         value is correct.
13955         
13956 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
13957
13958         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
13959         making the call
13960
13961 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
13962
13963         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
13964         pointed out by Morten Welinder <terra@diku.dk>.
13965
13966 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13967
13968         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13969           default filter from the list
13970
13971 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13972
13973         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13974           default filter from the list
13975
13976 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
13977
13978         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
13979
13980         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
13981         g_strdup_printf instead of calcing the length separately
13982
13983 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
13984
13985         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
13986         that we don't do in many other places. (Fixing duplicate 
13987         #include of config.h)
13988
13989         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
13990         Otherwise, #ifndef XINPUT_NONE check in the latter
13991         doesn't work. (Bug #546)
13992
13993 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
13994
13995         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
13996         "None" case insensitive.
13997
13998 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
13999
14000         * gdk/gdkselection.c: 
14001         Add error traps so if the other end of the connection
14002         dies, we survive.
14003
14004 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
14005
14006         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
14007         dest_xid field into two fields - one for the window
14008         to send in messages, one to indicate the last looked
14009         up window for caching purposes. This is needed, so
14010         that Leave messages get the correct window.
14011
14012 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
14013
14014         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
14015         Fix warning created by people mucking around
14016         with the gsource API.
14017
14018         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
14019         Change mapping between GIOCondition and GdkInputCondition
14020         to match the way the Linux kernel does it. This should
14021         fix problems where closed pipes were no longer signalling
14022         GDK_INPUT_READ on systems with a native poll().
14023
14024 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
14025
14026         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
14027         explicitly for the string "None" - it is in the XPM
14028         spec and some servers treat unknown colors in odd ways
14029         (like asking the user!)
14030
14031 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
14032
14033         * gdk/gdkevents.c: made "->" into a "." of previous change so
14034         it compiles
14035
14036 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
14037
14038         * gdk/gdkevents.c (gdk_compress_exposures): Set the
14039         window field of the event structure before calling
14040         user filters.
14041
14042 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
14043
14044         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
14045         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
14046
14047 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
14048
14049         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
14050         intermediate text property - prevents major memory
14051         leak when gdk_use_mb.
14052         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
14053
14054 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
14055
14056         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
14057         gtk-a-higuti-990322-[0-3]
14058
14059         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
14060         sizeof(wchar_t) != sizeof (GdkWChar)
14061
14062         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
14063         that was causing -DX_LOCALE not to work.
14064
14065         * gtk/gtkrc.c (gtk_rc_init):
14066         X_LOCALE will never have LC_MESSAGES defined
14067
14068         * gdk/gdk.c (gdk_init_check):
14069         Remove --xim-preedit and --xim-status from argv properly.
14070
14071         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
14072         that the client window is present on the X server
14073         before we pass it to the input method.
14074
14075 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
14076
14077         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
14078         if --display is specified on the command line, than
14079         the drag window will not be created on that display.
14080         
14081 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
14082
14083         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
14084         lookups with only_if_exists == TRUE were inserting
14085         bogus values into the atom cache.
14086
14087 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
14088
14089         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
14090         then reset it to NULL.
14091
14092         * gdk/gdkcolor.c:
14093         (gdk_colors_free): 
14094         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
14095         key for g_hash_table_remove() in both functions, this prevents us
14096         from accessing possibly uninitialized portions of a GdkColor structure
14097         where we are only interested in its pixel value.
14098
14099 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14100
14101         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14102         font hash table, if we have a GdkFontPrivate entry for this font
14103         already, simply increment its reference count, provided by Olaf Dietsche
14104         <olaf.dietsche+list.gtk@netcologne.de>.
14105
14106 1999-09-21  Tor Lillqvist  <tml@iki.fi>
14107
14108         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
14109         just to be sure.
14110
14111         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
14112         unused variables, leftovers from the X11 version.
14113
14114         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
14115
14116         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
14117         downcase fields on X11.
14118
14119 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
14120         
14121         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
14122         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
14123
14124 1999-09-17  Tor Lillqvist  <tml@iki.fi>
14125
14126         * gdk/win32/gdk.def: Add gdk_threads_mutex.
14127
14128         * gtk/makefile.msc: Correct path to libintl.
14129
14130         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
14131         use of gint vs. int, and gint vs. gboolean in headers and
14132         definitions. Use GtkType for the *_get_type functions. Note that
14133         these changes preserve binary compatibility.
14134
14135         * gdk/gdk.c
14136         * gdk/win32/gdk.c
14137         * gdk/gdk.h: Fix inconsistencies: gint vs int.
14138
14139         * gtk/gtkmain.c
14140         * gtk/gtkclist.c
14141         * gtk/gtkmenufactory.c
14142         * gtk/gtknotebook.c
14143         * gtk/gtkwidget.c: Fix inconsistencies, also gint
14144         vs. gboolean.
14145
14146         * gtk/gtkcolorsel.[ch]
14147         * gtk/gtkcombo.[ch]
14148         * gtk/gtkdrawingarea.[ch]
14149         * gtk/gtkgamma.[ch]
14150         * gtk/gtkhandlebox.[ch]
14151         * gtk/gtkhpaned.[ch]
14152         * gtk/gtkhruler.[ch]
14153         * gtk/gtkplug.[ch]
14154         * gtk/gtkpreview.[ch]
14155         * gtk/gtkruler.[ch]
14156         * gtk/gtksocket.[ch]
14157         * gtk/gtkstatusbar.[ch]
14158         * gtk/gtktoolbar.[ch]
14159         * gtk/gtkvbbox.[ch]
14160         * gtk/gtkvpaned.[ch]
14161         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
14162         functions.
14163
14164         * gtk/gtkgamma.h: Fix bug, missing () in call of
14165         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
14166
14167 1999-09-14  Tor Lillqvist  <tml@iki.fi>
14168
14169         * gdk/gdkcolor.c (gdk_colormap_new)
14170         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
14171         colormap->colors was allocated twice.
14172
14173         * gdk/win32/gdk.c: Remove some unused stuff.
14174
14175         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
14176         colormap.
14177
14178         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
14179         * gtk/gtklabel.h (gtk_label_get_type)
14180         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
14181         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
14182         in a couple of places, not guint.
14183
14184 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
14185
14186         * configure.in,po/et.po: added Estonian language file
14187
14188 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
14189
14190         * configure.in,po/da.po: added Danish file
14191
14192 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
14193
14194         * docs/gtkfaq.sgml: Minor FAQ Update
14195
14196 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
14197
14198         * docs/gtkfaq.sgml: FAQ update
14199
14200 1999-08-27  Tor Lillqvist  <tml@iki.fi>
14201
14202         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
14203         way to get window contents continually refreshed while resizing. I
14204         didn't like the effects myself, so it's not on by default.
14205
14206         * gdk/win32/gdkprivate.h: New flag variable
14207         gdk_event_func_from_window_proc, FALSE by default.
14208
14209         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
14210         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
14211         are passed --gdk-event-func-from-window-proc.
14212
14213         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
14214         and we have am event_func, call it instead of enqueing the event.
14215
14216 1999-08-23  Tor Lillqvist  <tml@iki.fi>
14217
14218         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
14219         Kelley: Set expose_count in GdkEventExposes correctly.
14220
14221         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
14222         MULTIPLE_WINDOW_CLASSES).
14223
14224         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
14225         for bug in NT, apparently NT *does* draw the end pixel, too, in
14226         LineTo with a one-pixel pen, so we don't have to do it ourselves.
14227
14228 1999-08-21  Tor Lillqvist  <tml@iki.fi>
14229
14230         Improvements by Hans Breuer: 
14231
14232         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
14233
14234         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
14235         CS_?REDRAW flags as they cause lots of (late) redraws when "show
14236         window contents while dragging" is turned on. Allocate at least
14237         one unique class for every GdkWindowType. If support for single
14238         window-specific icons is ever needed (eg. Dialog specific), every
14239         such window should get its own class.
14240
14241 1999-08-19  Tor Lillqvist  <tml@iki.fi>
14242
14243         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
14244         error that caused crashes.
14245
14246 1999-08-17  Tor Lillqvist  <tml@iki.fi>
14247
14248         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
14249         window, use ScrollWindowEx, and call UpdateWindow. This prevents
14250         bugs when for instance part of the window was outside the
14251         display. Thanks to Philippe Colantoni for finding and fixing this.
14252
14253 1999-08-16  Tor Lillqvist  <tml@iki.fi>
14254
14255         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
14256         endpoint calculations which were totally wrong. (A little RTFMing
14257         helps a lot ;-)
14258
14259         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
14260         from a separate directory, not from gettext, because of licensing
14261         issues (we want to use the LGPL version).
14262
14263         * README.win32: Mention the intl from glibc vs from gettext issue.
14264
14265 1999-08-13  Tor Lillqvist  <tml@iki.fi>
14266
14267         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
14268         in the key event handling: Now AltGr chars work again. Also,
14269         now Alt-digits are passed up as well as Control-digits.
14270         Pass keypad plus and minus as normal plus and minus.
14271
14272 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
14273
14274         * docs/gtkfaq.sgml: FAQ Update
14275
14276 1999-07-25  Tor Lillqvist  <tml@iki.fi>
14277
14278         * README.win32
14279         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
14280         the Wintab SDK.
14281
14282         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
14283         OK, but getting closer. Guard against bogus tilt data from Wacom
14284         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
14285         enable easier building without Wintab.
14286
14287         * gdk/win32/gdkinput.h
14288         * gdk/win32/gdkevents.c 
14289         * gdk/win32/gdkwindow.c: Minor changes related related to above.
14290         
14291         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
14292         code. As we have just one visual on Win32, no sense to have it in a
14293         table, and no need for the hash table.
14294
14295         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
14296         better on white background.
14297
14298 1999-07-21  Tor Lillqvist  <tml@iki.fi>
14299
14300         * README.win32: Update gcc build instructions. Mention gettext is
14301         GPL.
14302
14303         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
14304         supported cursor size with GetSystemMetrics.
14305
14306         * gdk/win32/gdkfont.c
14307         * gtk/gtkfontsel.c: Guard against some font weight and charset
14308         symbols being undefined (in mingw32 headers).
14309
14310         * gdk/win32/makefile.cygwin
14311         * gtk/makefile.cygwin
14312         * gtk/gtkthemes.c: No longer need to have differently named
14313         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
14314
14315 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
14316
14317         * docs/gtkfaq.sgml: Long awaited FAQ update.
14318
14319 1999-07-15  Tor Lillqvist  <tml@iki.fi>
14320
14321         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
14322         it. Obscure bit manipulation needed.
14323
14324         * gdk/win32/gdkevents.c: Logging.
14325         
14326         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
14327         style (file name include compiler name) for theme engines.
14328
14329 1999-07-13  Tor Lillqvist  <tml@iki.fi>
14330
14331         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
14332
14333         * gdk/win32/gdkevents.c: Fix long-standing bug in key
14334         events. The key.string wasn't zero-terminated, still we strdup'ed
14335         it in gdk_event_copy(). Synthesize crossing events for button
14336         events before possible propagation.
14337
14338         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
14339
14340         * gdk/win32/makefile.cygwin
14341         * gtk/makefile.cygwin: Use new DLL naming style for the
14342         GCC-compiled ones.
14343
14344         * gdk/win32/makefile.msc
14345         * gtk/makefile.msc: Cosmetics mostly.
14346
14347         * gtk/gtk.def: Add missing entry points.
14348
14349         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
14350
14351 1999-07-09  Tor Lillqvist  <tml@iki.fi>
14352
14353         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
14354         or height is zero. Don't print a warning if Pie or Arc fails, they
14355         always fail (?) for very narrow ellipses.
14356
14357         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
14358         the part or the destination window corresponding to source area
14359         outside of the source drawable's boundary.
14360
14361         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
14362         anything if less than two points.
14363
14364         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
14365         return NULL. Gtk cut-and-paste inside a single program works
14366         better this way. (It always gets the clipboard contents from
14367         Windows, not from its own copy, which is cleared anyway. I can't
14368         say I fully understand what happens... Emulating the X selection
14369         and property stuff is a bit of a mess.)
14370
14371         * gdk/win32/gdkevents.c
14372         * gdk/win32/gdkproperty.c: A bit more verbose logging.
14373
14374         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
14375         that never got deleted). Revamp gdk_region_shrink.
14376
14377         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
14378         after use.
14379
14380         * gtk/gtk.def: Add some missing entry points.
14381
14382         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
14383         component.
14384
14385 1999-07-04  Tor Lillqvist  <tml@iki.fi>
14386
14387         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
14388         Control-digits specially.
14389
14390 1999-07-03  Tor Lillqvist  <tml@iki.fi>
14391
14392         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
14393
14394 1999-06-28  Tor Lillqvist  <tml@iki.fi>
14395
14396         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
14397         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
14398         finding this.)
14399
14400 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
14401
14402         * gtk+.spec.in: Corrected some typos in files section.
14403         
14404 1999-06-15  Tor Lillqvist  <tml@iki.fi>
14405
14406         * README.win32: Mention using GNU gettext.
14407         * config.h.win32: Enable NLS stuff.
14408         * gtk/makefile.msc: Use GNU gettext.
14409         * gdk/win32/gdkdnd.c: Minor header reorg.
14410         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
14411         cosmetics.
14412         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
14413         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
14414
14415 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
14416
14417         * acinclude.m4
14418         * config.guess
14419         * config.status
14420         * ltconfig
14421         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
14422
14423 1999-05-30  Tor Lillqvist  <tml@iki.fi>
14424
14425         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
14426         SafeAdjustWindowRectEx. Don't override all calls to
14427         AdjustWindowRectEx by it, but use it only in two places: When
14428         creating a new top-level window and when moving a top-level
14429         window.
14430
14431         Use screen coordinate rectangle, not client rectangle, in
14432         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
14433         when we try to place a window so that the decoration (mainly,
14434         title bar) isn't visible.
14435
14436         These changes fix the bug that showed up for instance as the
14437         GIMP's saved top-level windows moving right and down (by an amount
14438         equal to the window decoration) for each session. This bug showed
14439         up also in testgtk's "Saved Position".
14440
14441         gdk_window_resize also redone a bit.
14442
14443 1999-05-25  Tor Lillqvist  <tml@iki.fi>
14444
14445         * gtk/testgtkrc: Add (commented out) Windows-style theme
14446         include line.
14447
14448         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
14449
14450 1999-05-18  Tor Lillqvist  <tml@iki.fi>
14451
14452         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
14453         gdkx.h to a gdk subdirectory, so that applications can include
14454         these with <gdk/*.h> without trouble.
14455
14456         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
14457         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
14458         have their bitmap destroyed.
14459
14460         * gdk/win32/gdk.def: Add gdk_root_parent.
14461
14462 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
14463
14464         * configure.in
14465           gtk-config.in
14466           ltconfig
14467           ltmain.sh     
14468           gtk/Makefile.am: changes to compile nicely (with xlib) 
14469           on BeOS
14470
14471 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
14472
14473         * acinclude.m4
14474         * config.guess
14475         * config.sub
14476         * ltconfig
14477         * ltmain.sh: upgrade to libtool 1.3
14478
14479 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
14480
14481         * gtk/gtkclist.c:
14482         * gtk/gtkctree.c: merges from gtk-1-2
14483
14484 1999-04-25  Tor Lillqvist  <tml@iki.fi>
14485
14486         Support added for building using a GNU toolchain on Win32,
14487         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
14488
14489         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
14490         * config.h.win32: Changes for gcc.
14491         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
14492         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
14493         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
14494         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
14495         Protect shl stuff unavaiilable with mingw32 headers.
14496         * gdk/win32/gdkevents.c: Fix typo.
14497         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
14498         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
14499         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
14500         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
14501         the mingw32 headers.
14502         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
14503         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
14504         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
14505         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
14506         Test for NATIVE_WIN32, not _MSC_VER.
14507         * gtk/gtkmain.c: No use warning about developer version on Win32,
14508         there aren't any non-developer versions anyhow.
14509         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
14510         * gtk/makefile.msc: Use pthread from another directory. Minor other
14511         changes. 
14512
14513 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
14514
14515         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
14516           default filter from the list
14517
14518 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
14519
14520         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
14521          when gtk_widget_grab_default() is called for a widget that
14522          is not within a GtkWindow.
14523
14524 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
14525
14526         * docs/gtk_tut.sgml, examples/clist.c: use a
14527           scrolled window in the clist example. Minor
14528           tutorial fixes.
14529
14530 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
14531
14532         * docs/gtk_tut.sgml: Style check from David King
14533           <dking@youvegotmail.net>
14534
14535 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
14536
14537         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
14538         compile with unknown value of GDK_WINDOWING
14539
14540 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
14541
14542         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
14543         after the rule is fired.
14544         (install-exec-local): Install gdkconfig.h only if the contents are
14545         different from the currently installed gdkconfig.h.
14546
14547 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
14548
14549         * gdk/Makefile.am (configexecincludedir): Rename from 
14550         configincludedir so that gdkconfig.h will be installed 
14551         as part of `make install-exec'. 
14552
14553 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
14554
14555         * acinclude.m4
14556         * config.guess
14557         * config.sub
14558         * ltconfig
14559         * ltmain.sh: upgrade to libtool 1.2f
14560
14561         * autogen.sh: libtool is not required to autogen gtk+
14562
14563         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
14564         needed)
14565
14566 1999-03-18  Tor Lillqvist  <tml@iki.fi>
14567
14568         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
14569         declaring gdk variables exported/imported from the DLL. New image
14570         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
14571         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
14572         GDK_DRAG_PROTO_OLE2.
14573
14574         * gdk/gdk.h: Merge in Win32 version: Two new functions,
14575         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
14576         declared only for the Win32 version, but could be in the X11
14577         version as well. (Needed for a Xlib-less gdk_imlib.)
14578         gdk_color_hash should have only one parameter. Declare
14579         gdk_threads_mutex with GDKVAR.
14580         
14581         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
14582         just one parameter.
14583
14584         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
14585         per pixel, not bits.
14586
14587         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
14588         Fetch bpp (which means bits-per-pixel here) from another place on
14589         Win32. Accept also depth==32 (which we might get on Win32) with
14590         bpp==32.
14591
14592         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
14593         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
14594         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
14595         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
14596         in the backend-dependent directory, not in the common gdk
14597         directory.
14598
14599         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
14600         headers.
14601
14602 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
14603
14604         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
14605         want to use the Gtk+ devel version (which is true, and yes - even i am
14606         currently working with the 1.2.x branch). so everyone reading this, you
14607         probably want to issue
14608         cvs checkout -r glib-1-2 glib
14609         and
14610         cvs checkout -r gtk-1-2 gtk+
14611         as your next two comands.
14612
14613 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
14614
14615         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
14616         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
14617
14618         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
14619         file. strongly deprecated the GTK_HAVE_* macros, we provide
14620         GTK_CHECK_VERSION() for people that need to check for certain
14621         Gtk+ versions.
14622
14623         * gtk/gtkcompat.h: removed this from CVS.
14624         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
14625         idea right from the start, it just didn't seem like that back then.
14626
14627 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
14628
14629         * merges from gtk-1-2:
14630
14631 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
14632
14633         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
14634         item factory class has been created.
14635         (gtk_item_factory_parse_rc): likewise.
14636
14637         * gtk/gtkmenu.c:
14638         keep proper references for old_active_menu_item.
14639         (gtk_menu_reparent): unset the usize of the new parent,
14640         so the menu can sanely be size requested and we don't get nasty screen
14641         artefacts upon next reparentation.
14642         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
14643         enter notify. only synthesize enter notifies if the pointer really is
14644         inside the event window.
14645         (gtk_menu_popdown): use gtk_menu_shell_deselect().
14646         (gtk_menu_popup): move the background setting stuff into
14647         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
14648
14649         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
14650         gtk_menu_shell_select_item() to select the new item.
14651         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
14652         do the right thing for deselection as well.
14653
14654 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
14655
14656         * gtk/gtkwidget.[hc]:
14657         (gtk_widget_accelerators_locked): return whether a widget's accelerators
14658         are locked.
14659
14660         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
14661         existing accelerators if the widget's accelerators are locked.
14662
14663 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
14664
14665         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
14666
14667         * gtk/gtkmenu.c: truely forward key press and key release events to
14668         the menu widget from the toplevel or tearoff window. we can't simply
14669         connect to that, we need to stop further processing of the events as
14670         well.
14671
14672 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
14673
14674         * gtk/gtkmenu.c:
14675         (gtk_menu_key_press): pass event->keyval, event->state to
14676         gtk_accelerator_valid, instead of event->keyval twice.
14677         refuse to install single letter accelerators for menus that use
14678         single letter shortcuts.
14679
14680         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
14681         gtk_menu_ensure_uline_accel_group().
14682
14683         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
14684         which will always return an uline accel group, made
14685         gtk_menu_get_uline_accel_group() return NULL if the group isn't
14686         yet created.
14687
14688 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
14689
14690         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
14691
14692         * gtk/gtkclist.c (gtk_clist_column_title_passive):
14693         Leave button sensitive, trap  button_press, button_release,
14694         motion_notify, enter_notify and leave_notify events instead.
14695         (gtk_clist_column_title_active): disconnect event handler.
14696         (gtk_clist_drag_data_get): fixed memory leak. Reported by
14697         Guillaume Laurent <glaurent@worldnet.fr>
14698
14699 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
14700
14701         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
14702         width/height mixups.
14703
14704         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
14705         if needed.
14706
14707 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
14708
14709         * gtk/testgtk.c (create_item_factory): unref the item factory after
14710         window's destruction.
14711
14712         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
14713         count on the menu shell around the menu item's activation, since the
14714         signal emission may cause menu shell destruction.
14715
14716         * gtk/gtkitemfactory.c:
14717         the previous code leaked one accel group per menu. we use
14718         gtk_menu_get_uline_accel_group() now to fix that, and with that
14719         also create the underline accelerator group of the menus only if
14720         required (i.e. an underline accelerator has been specified).
14721         (gtk_item_factory_construct):
14722         (gtk_item_factory_create_item): removed code that would create an
14723         extra accel group for the menu (and leak references).
14724         (gtk_item_factory_create_item): adapted the underline accelerator
14725         installation code to properly feature gtk_menu_get_uline_accel_group().
14726
14727         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
14728         menu->accel_group, this may return NULL if the accelerator group
14729         hasn't been set yet.
14730         added gtk_menu_get_uline_accel_group() to retrive the underline
14731         accelerator group of the menu, this will be created on demand
14732         and proper care is taken about its reference count.
14733
14734         * gtk/gtkitemfactory.h:
14735         * gtk/gtkitemfactory.c:
14736         dumped the approach of keeping a widgets by action list on the
14737         factory since the factory<->widget destroy negotiation didn't work
14738         and would be hard to get going at all. instead we keep a list of
14739         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
14740         persistant throughout a program's life time).
14741         also, i removed the static const gchar *key_* variables, and made
14742         them inline strings (they weren't actually used anyways).
14743         (gtk_item_factory_add_item): update ifactory->items.
14744         (gtk_item_factory_destroy): destroy ifactory->items (and remove
14745         the item factory pointer from the remaining ifactory widgets).
14746         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
14747         list to find the widget.
14748         (gtk_item_factory_get_item): new function that works around
14749         gtk_item_factory_get_widget() limitations, this function will only
14750         return menu items, even for <Branch> entries.
14751
14752 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14753
14754         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14755         font hash table, if we have a GdkFontPrivate entry for this font
14756         already, simply increment its reference count, provided by Olaf Dietsche
14757         <olaf.dietsche+list.gtk@netcologne.de>.
14758
14759         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
14760         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
14761
14762 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
14763
14764         * gtk/gtkcontainer.c:
14765         (gtk_container_add_with_args):
14766         (gtk_container_addv):
14767         (gtk_container_add): before adding a child to a conatiner, make sure
14768         it is (default) constructed, this is neccessary because under certain
14769         circumstances the child will get relized and mapped immediatedly, in
14770         which case it has to be constructed already.
14771
14772 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
14773
14774         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
14775         values > 1 as TRUE also.
14776
14777 1999-03-16  Tor Lillqvist  <tml@iki.fi>
14778
14779         * README.win32: New file.
14780                 
14781         * configure.in: Check for lstat.
14782
14783         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
14784         completeness.
14785
14786         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
14787
14788         * gtk/gtk.def: Removed CRs.
14789
14790         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
14791         ..\gdk\win32).
14792
14793         * gdk/win32/makefile.msc: Correct upwards relative paths.
14794         
14795 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
14796
14797         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
14798           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
14799           it was connecting a void function to expose_event and the int
14800           returning function to the draw signal
14801
14802 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
14803
14804         * configure.in:
14805         Use correct path to libgmodule.la when ref'ing uninstalled copy
14806         of glib.  (Already in stable branch, Bug #417)
14807
14808 1999-03-15  Tor Lillqvist  <tml@iki.fi>
14809
14810         Win32 merge and general portability stuff:
14811                 
14812         * acconfig.h,configure.in: Check for <sys/time.h>.
14813
14814         * gdk/win32: New directory (actually, been there for a while).
14815         
14816         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
14817         NATIVE_WIN32, and use these. Always case fold on Win32. No
14818         backslashed escapes on native Win32.
14819
14820         * gtk/{gtk.def,makefile.msc}: New files.
14821
14822         * gtk/Makefile.am: Add above new files.
14823         
14824         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
14825         instead of <strings.h>.
14826
14827         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
14828         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
14829         <unistd.h> appropriately.
14830
14831         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
14832         Use ABS() (from <glib.h>) instead of abs().
14833         
14834         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
14835         of gtk (and thus glib) headers, so that WIN32 will be
14836         defined. With MS C, include <direct.h> for mkdir prototype.
14837
14838         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
14839         some casts, needed by MS C.
14840
14841         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
14842         implemented).
14843
14844         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
14845         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
14846         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
14847
14848         * gtk/gtkmain.h: Mark variables for export/import on Win32.
14849                 
14850         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
14851         the event is not a hint, or its window is not the slider. Needed
14852         on Win32, at least.
14853
14854         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
14855         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
14856         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
14857         a subdirectory of the Windows directory as gtk system
14858         configuration directory.
14859
14860         * gtk/gtkselection.c: No chunks on Win32.
14861
14862         * gtk/gtksocket.c: Not implemented on Win32.
14863
14864         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
14865
14866         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
14867
14868         * gtk/maketypes.awk: Declare variables with a macro that expands to
14869         necessary export/import magic in the case of Win32.
14870                 
14871         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
14872
14873 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
14874
14875         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
14876         since those were meant only for gdki18n.h.  
14877         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
14878         for widechar tests.
14879         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
14880
14881 1999-03-13  Tor Lillqvist  <tml@iki.fi>
14882
14883         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
14884         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
14885
14886         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
14887         installed) to CFLAGS.
14888
14889         * gdk/Makefile.am: Add rules for gdkconfig.h.
14890
14891         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
14892         APIs.
14893
14894         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
14895         gdkx.h anyway when compiling for X11.
14896         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
14897         general): Merge in Win32 version.
14898         
14899         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
14900         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
14901         expansion (if we don't have HAVE_PWD_H), allow for drive
14902         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
14903         included code from Craig Setera's port to Win32 (the one that uses
14904         X11, and the cygwin dll), even if it probably will be abandoned.
14905
14906         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
14907         the user entered one herself.  This way one can complete *.h and
14908         don't get matches on any .help files, for instance.
14909         
14910 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14911
14912         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14913         font hash table, if we have a GdkFontPrivate entry for this font
14914         already, simply increment its reference count, provided by Olaf Dietsche
14915         <olaf.dietsche+list.gtk@netcologne.de>.
14916
14917         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
14918         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
14919
14920 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
14921
14922         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
14923         the number of calls to gdk_draw_point() (and thus to X) by
14924         clipping the points by hand.
14925
14926         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
14927         the clip parameter.
14928         (gtk_handle_box_paint): Only paint the handle if the expose area
14929         intersects it.
14930
14931 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
14932
14933         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
14934
14935 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
14936
14937         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
14938         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
14939
14940 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
14941
14942         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
14943          textmode (O_TEXT) for OS/2 version.
14944
14945 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
14946
14947         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
14948         GtkSpinButton, "input" and "output", to make the output more flexible.
14949         The user has to provide a mapping between adjustment->value and the
14950         output string (and vice versa, if the spin button is editable). 
14951         See testgtk for examples.
14952
14953 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
14954
14955         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
14956         new one.
14957         
14958         * configure.in: set gtk+ version to 1.3.0.