]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-10
Massive reordering/sorting work. Now pretty much works.
[~andy/gtk] / ChangeLog.pre-2-10
1 Thu Mar 29 16:29:12 2001  Jonathan Blandford  <jrb@webwynk.net>
2
3         * gtk/gtkliststore.c (gtk_list_store_iter_changed): Massive
4         reordering/sorting work.  Now pretty much works.
5
6         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): Lots of work to make
7         reorder mostly work.  Still need to get the parity correct.
8
9         * gtk/gtktreeviewcolumn.c: Listen for "model" property changed
10         signal, so I can listen for the sort_column_changed signal so I
11         can change my "sort_indicator" property.  Cool.
12
13 Wed Mar 28 00:03:10 2001  Owen Taylor  <otaylor@redhat.com>
14
15         [ Patch from Havoc Pennington, hp@redhat.com ]
16
17         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c:
18         Add functions gdk_window_begin_resize_drag/begin_move_drag
19         to start resizing or moving a toplevel window. This
20         is done either using the _NET_WM_MOVERESIZE protocol,
21         or, if that isn't present, by emulation.
22
23         * gtk/gtkwindow.[ch]: Add functions gtk_begin_move/resize_drag
24         to export the above to GTK+-land.
25
26         * gtk/gtkstyle.[ch]: Add ->draw_resize_grip() paint func.
27         
28         * gtk/gtkwindow.c gdk/gdkwindow.[ch] (gdk_window_constrain_size):
29         Move this function into gdkwindow, since we need it
30         when implementing fallback resizing.
31
32         * gdk/x11/gdkwindow-x11.c: gdk_window_set_geometry_hints.
33         Fix typo when setting gravity.
34
35         * gtk/gtkstatusbar.[ch] (gtk_statusbar_set_has_resize_grip):
36         Add an optional (but on by default) resize grip for resizing 
37         the parent window.
38
39 01-03-29  Alexander Larsson  <alexl@redhat.com>
40
41         * gtk/gtktooltips.c (gtk_tooltips_event_handler):
42         Don't return TRUE from the event handler, that blocks all
43         event signals on the tooltip widget. Now you can press buttons
44         in toolbars again.
45
46 Wed Mar 28 19:20:43 2001  Owen Taylor  <otaylor@redhat.com>
47
48         * gtk/testtext.c (create_buffer): Add missing NULL on
49         valist.
50
51         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Fix
52         c-n-p problem with INCONSISTENT property.
53
54         [ Patch from Havoc Pennington  <hp@redhat.com> ]
55
56         * gtk/gtkentry.h (struct _GtkEntryClass): add same populate_popup
57         hook.
58
59         * gtk/gtktextview.h (struct _GtkTextViewClass): add populate_popup
60         signal as a hook for extending the default popup menu
61
62         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
63         use radio menu items for the input method menuitems
64
65         * gtk/gtkimcontextsimple.c (check_hex): do better validation of 
66         inserted unicode from Ctrl-Shift-hex input method
67
68         * gtk/gtktextbtree.c (_gtk_text_btree_insert): remove utf8
69         validatation here, already done at GtkTextBuffer level.
70
71         * gtk/gtkwidget.c (gtk_widget_class_init): add binding set, add
72         popup_menu run action signal and Shift+F10 and Menu keybindings.
73
74         * gtk/gtkentry.c: implement a default handler for popup_menu
75
76         * gtk/gtktextview.c: implement a default handler for popup_menu
77
78         * gtk/gtkmenu.c (gtk_menu_popup): select first item if popup is
79         from a key event
80         
81         * gtk/gtklabel.c: remove "trailer" cruft
82
83 Wed Mar 28 17:27:12 2001  Jonathan Blandford  <jrb@redhat.com>
84
85         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): new function to
86         handle reordering of trees.  Seems to mostly work w/ the exception
87         of the parity flag.
88
89         * gtk/gtktreeview.c (gtk_tree_view_reordered): handle "reordered"
90         signal.
91
92 Wed Mar 28 21:12:37 2001  Tim Janik  <timj@gtk.org>
93
94         * gtk/gtkwidget.h: c++ fixes.
95
96 Sun Mar 25 15:51:28 2001  Owen Taylor  <otaylor@redhat.com>
97
98         * gtk/gtksettings.c (gtk_settings_init): Fix use of uninitialized
99         memory.
100
101 Tue Mar 27 22:36:07 2001  Owen Taylor  <otaylor@redhat.com>
102
103         * gtk/gtkwidget.h gtk/gtkrange.h: Apply patch from 
104         Nils Barth fixing event return values. (#51041)
105
106         * gtk/gtkwidget.c: Fix some return values for default
107         functions.
108
109         * gtk/gtk[vh]scrollbar.c gtk/gtk[vh]range.c: Fix
110         return values for trough_keys functions.
111
112         * gtk/gtkwidget.h (struct _GtkWidgetClass): Fix return
113         value for add_accelerator (shoudl have been a void
114         return.)
115
116         * gtk/gtkcellrenderer.[ch]: gtkcellrenderertoggle.h:
117         Fix return type of EVENT.
118
119         * gtk/gtkmarshal.list gtk/gtktexttag.c: Make EVENT
120         signal return a boolean.
121
122 Tue Mar 27 22:07:44 2001  Jonathan Blandford  <jrb@webwynk.net>
123
124         * gtk/gtkliststore.c (gtk_list_store_sort): Fix arguments to
125         reordered signal.
126
127         * tests/testtreesort.c (main): fix spelling.
128
129 Tue Mar 27 20:55:29 2001  Jonathan Blandford  <jrb@redhat.com>
130
131         * gtk/gtkliststore.c: More work on implementing sortable
132         interface.
133
134 Mon Mar 26 15:48:45 2001  Owen Taylor  <otaylor@redhat.com>
135
136         * gtk/gtkwindow.c (gtk_window_list_toplevels): Don't
137         reference the widgets in the resulting list. (#11821)
138         This makes this consistent with gtk_container_children.
139
140         * gtk/gtkwindow.c gtk/gtkwidget.c: Fix up the two
141         uses of gtk_window_list_toplevels.
142
143 Mon Mar 26 15:26:17 2001  Owen Taylor  <otaylor@redhat.com>
144
145         * gtk/gtkimcontext.c (gtk_im_context_set_use_preedit): Add
146         a virtual function to set whether the IM context should use 
147         the preedit string. (#51922)
148         
149 Mon Mar 26 14:42:59 2001  Owen Taylor  <otaylor@redhat.com>
150
151         * gdk/gdkpango.h: Remove stale FIXME comment.
152
153 2001-03-26  Alexander Larsson  <alla@lysator.liu.se>
154
155         * gtk/gtkfilesel.c (gtk_file_selection_get_filename):
156         Fixed bug that returned NULL if a filename was selected.
157
158 2001-03-24  Havoc Pennington  <hp@pobox.com>
159
160         * gtk/gtkthemes.c (gtk_theme_engine_load): improve error message
161         to contain the word "theme"
162
163 2001-03-24  Havoc Pennington  <hp@pobox.com>
164
165         * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much
166         slower but finer-grained
167         (gtk_hsv_focus): get initial focus on the ring or triangle 
168         according to tab direction
169
170         * gtk/testgtk.c (main): get rid of weird sleep(1) on exit
171
172 2001-03-23  Havoc Pennington  <hp@pobox.com>
173
174         * gtk/gtkhsv.c: make this somewhat key-navigable
175
176         * gtk/gtkfontsel.c: mnemonics
177
178         * gtk/gtkgamma.c: mnemonics
179
180         * gtk/gtkcolorsel.c: add mnemonics to labels
181
182 2001-03-22  Havoc Pennington  <hp@pobox.com>
183
184         Applied big patch from Seth Lytle to fix event handler return
185         values, slightly modified.
186
187         * gtk/gtkcalendar.c (gtk_calendar_button_press): return TRUE if
188         handled.
189         (gtk_calendar_key_press): return TRUE for GDK_space triggers
190         select_day
191
192         * gtk/gtkclist.c (gtk_clist_button_press): return TRUE if handled
193         (gtk_clist_button_release): return TRUE if handled
194
195         * gtk/gtkcolorsel.c (mouse_release):
196         (palette_activate): 
197         (palette_press): 
198         (palette_new): 
199         (mouse_press): 
200         (get_screen_color): 
201         fixed return type (void to gboolean), return TRUE,
202         added GTK_SIGNAL_FUNC cast
203
204         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fixed return type
205         (void to gboolean), and return TRUE
206         (gtk_combo_button_release): changed return value to TRUE after
207         gtk_grab_add on combo->popwin
208
209         * gtk/gtkctree.c (gtk_ctree_button_press): return TRUE if triggers a
210         collapse or expand
211
212         * gtk/gtkcurve.c (gtk_curve_graph_events): return TRUE for
213         button/motion
214
215         * gtk/gtkdnd.c (gtk_drag_source_event_cb): return TRUE for button
216         press/release and motion that trigger act
217
218         * gtk/gtkentry.c (gtk_entry_button_release): return TRUE
219
220         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): return TRUE
221         for GDK_Return
222         
223         * gtk/gtklist.c (gtk_list_button_press): return TRUE mostly
224         (gtk_list_button_release): return TRUE if selection
225
226         * gtk/gtklistitem.c (gtk_list_item_button_press): return TRUE on
227         press
228
229         * gtk/gtkmenushell.c (gtk_menu_shell_button_press):
230         (gtk_menu_shell_button_release): chain parent_menu_shell retval
231
232         * gtk/gtknotebook.c (gtk_notebook_button_press): return FALSE if
233         nothing triggered
234         (gtk_notebook_button_release): return TRUE if we do anything
235
236         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): 
237         (gtk_spin_button_button_release): return TRUE or chained retval
238
239         * gtk/gtktext.c (gtk_text_button_press): 
240         (gtk_text_button_release): return TRUE
241         (gtk_text_key_press): remove redundant retval code
242         
243         * gtk/gtktreeitem.c (gtk_tree_item_button_press): return TRUE if button
244         and sensitive
245         (gtk_tree_item_subtree_button_click): changed type to gint, and return
246         TRUE if sensitive
247
248         * gtk/gtktooltips.c (gtk_tooltips_event_handler): deactivate implies 
249         return TRUE
250
251 2001-03-23  Havoc Pennington  <hp@redhat.com>
252
253         * gtk/testgtk.c: fix warnings
254
255         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): fix return value
256
257         * gtk/gtktextview.c: fix warnings
258
259         * gtk/gtktext.c (find_cursor_at_line): fix warning
260
261         * gtk/gtkselection.c (gtk_selection_notify): fix warning 
262
263         * gtk/gtkitemfactory.c (gtk_item_factory_menu_pos): fix signature
264         of this function
265
266         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
267         fix warning
268
269         * gtk/gtkhandlebox.c (gtk_handle_box_style_set): fix warning
270
271         * gtk/gtkfontsel.c: fix warning
272
273         * gtk/gtkcolorsel.c: fix warnings
274
275 2001-03-23  Havoc Pennington  <hp@redhat.com>
276
277         * gtk/gtkhandlebox.c: Apply property patch from Lee Mallabone
278
279         * gtk/gtkbox.c: Apply property patch from Lee Mallabone
280
281         * gtk/gtkcheckmenuitem.c: Apply property patch from Lee Mallabone,
282         and deprecated gtk_check_menu_item_set_show_toggle().
283         
284         * gtk/gtkbutton.c: Apply property patch from Lee Mallabone
285
286         * gtk/gtkfilesel.c: Apply property patch from Lee Mallabone
287
288         * gtk/gtkframe.c: Apply property patch from Lee Mallabone
289
290 2001-03-23  Havoc Pennington  <hp@redhat.com>
291
292         * gtk/gtktoolbar.c, gtk/gtkimcontext.c, gtk/gtklabel.c: fix up
293         some docs
294
295 Fri Mar 23 16:13:43 2001  Jonathan Blandford  <jrb@redhat.com>
296
297         * gtk/gtktreeviewcolumn.h (GtkCellDataFunc): Forgot to namespace
298         this.
299
300         * gtk/gtktreestore.c (gtk_tree_store_set_value): change from
301         set_cell to set_value
302
303         * gtk/gtkliststore.c (gtk_list_store_set_value): change from
304         set_cell to set_value
305
306 Thu Mar 22 19:27:34 2001  Jonathan Blandford  <jrb@redhat.com>
307
308         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
309         fix braino.
310         * gtk/gtktreesortable.[ch]: New interface to add cleanup sortable
311         support.
312
313         * gtk/gtktreeview.c: Addition of initial sortable support.
314
315         * gtk/gtktreestore.c: Addition of initial sortable support.
316
317         * gtk/gtkliststore.c: Addition of initial sortable support.
318
319         * gtk/gtkmarshal.list: yet another marshaller.
320
321         * gtk/gtktreedatallist.[ch]: shared code between the store models
322         for handling sorting headers.
323
324 2001-03-22  Havoc Pennington  <hp@redhat.com>
325
326         * gtk/gtkcontainer.c (gtk_container_set_focus_chain): 
327         (gtk_container_unset_focus_chain): Add ability to override the 
328         focus chain for a container explicitly
329
330 Thu Mar 22 13:01:44 2001  Tim Janik  <timj@gtk.org>
331
332         * gtk/gtklabel.[hc]: some cleanups, fixed mnemonic_widget handling,
333         added PROP_MNEMONIC_WIDGET.
334
335         * gtk/gtkwindow.c (gtk_window_activate_mnemonic): 
336         (gtk_window_remove_mnemonic): 
337         (gtk_window_add_mnemonic): fixed assertions.
338         (gtk_window_activate_mnemonic): constrain modifier checks to those
339         permitted by gtk_accelerator_get_default_mod_mask().
340         got rid of gtk_window_get_default_accel_group().
341
342         * gtk/gtkwidget.c (gtk_widget_real_activate_mnemonic): handle non
343         activatable widgets either by focussing or a warning.
344         added a signal accumulator to ::activate_mnemonic which stops the
345         emission once a handler returned TRUE.
346
347 2001-03-22  Havoc Pennington  <hp@pobox.com>
348
349         * gtk/gtktoolbar.c (gtk_toolbar_insert_stock): handle mnemonics in
350         the stock item label
351
352         * gtk/gtklabel.c: s/@gtk_func/gtk_func()/ in docs
353
354         * gtk/gtkstock.c (builtin_items): add mnemonics where missing
355
356         * demos/gtk-demo/*.c: Add mnemonics all over the place
357
358         * gtk/gtklabel.h: mark parse_uline deprecated
359
360 2001-03-21  Alexander Larsson  <alexl@redhat.com>
361
362         * gtk/gtkitemfactory.[ch]:
363         Add support for stock and normal imagemenuitems.
364         
365         * gtk/testgtk.c:
366         Add some tests for mnemonics, stock toolbars, stock
367         and image menuitems in itemfactory and gdk_window_scroll.
368
369 2001-03-21  Alexander Larsson  <alexl@redhat.com>
370
371         * gtk/gtkbutton.[ch]:
372         * gtk/gtkdialog.c:
373         Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and
374         removed accel_group argument. Renamed gtk_button_new_accel() to
375         gtk_button_new_with_mnemonic() and removed accel_group argument.
376
377         * gtk/gtkcheckbutton.[ch]:
378         New function gtk_check_button_new_with_mnemonic().
379
380         * gtk/gtkentry.c:
381         Override activate_mnemonic and just grab focus.
382
383         * gtk/gtkitemfactory.c:
384         Don't add menu uline accel group, instead use mnemonics support.
385
386         * gtk/gtklabel.[ch]:
387         New support for mnemonics.
388
389         * gtk/gtkmarshal.list:
390         Needed BOOLEAN:BOOLEAN for activate_mnemonic.
391
392         * gtk/gtkmenu.[c]:
393         * gtkmenushell.c:
394         Use mnemonics instead of accel groups for uline
395         support in menu items.
396         Removed gtk_menu_get_uline_accel_group() and
397         gtk_menu_ensure_uline_accel_group().
398
399         * gtk/gtkmenuitem.c:
400         Override activate_mnemonic to handle switching between
401         menu items if there are collisions.
402         
403         * gtk/gtknotebook.c:
404         Connect to activate_mnemonic on the tab_label, so that
405         activating it switches to that notebook page.
406
407         * gtk/gtkwidget.[ch]:
408         Add activate_mnemonic signal. New function
409         gtk_widget_activate_mnemonic() to emit it.
410         Default implementation does activate/grab_focus.
411
412         * gtk/gtkwindow.[ch]:
413         Add support for mnemonics in windows.
414         New functions:
415         gtk_window_add_mnemonic, gtk_window_remove_mnemonic,
416         gtk_window_activate_mnemonic, gtk_window_set_mnemonic_modifier
417
418         * gtk/testgtk.c:
419         Update to function name changes.
420         
421 2001-03-21  Alexander Larsson  <alexl@redhat.com>
422
423         * gtk/gtkimagemenuitem.[c]:
424         Add gtk_image_menu_item_new_from_stock()
425
426 Tue Mar 20 15:00:43 2001  Jonathan Blandford  <jrb@webwynk.net>
427
428         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
429         Fix buglet in meeting.
430
431 2001-03-19  Havoc Pennington  <hp@redhat.com>
432
433         * gtk/gtkiconfactory.c: Make GtkIconSource an opaque datatype, and
434         add a bunch of accessor functions. This is because we have
435         reasonable expectations of extending what fields it contains in
436         the future.
437
438         * gtk/gtkstyle.c (gtk_default_render_icon): adapt to icon source
439         changes
440
441         * gtk/gtkrc.c (gtk_rc_parse_icon_source): fix to use new
442         GtkIconSource   
443
444 Mon Mar 19 15:53:36 2001  Owen Taylor  <otaylor@redhat.com>
445
446         * gtk/gtkitemfactory.c gtk/testgtk.c: Handle quoting of / with \; properly
447         handle __ in paths, quote " and \n in gtk_item_factory_dump_items().
448
449         * gtk/gtkadjustment.[ch] gtk/gtkclist.c gtk/gtkhruler.c gtk/gtklayout.c 
450           gtk/gtklist.c gtk/gtkprogress.[ch] gtk/gtkprogressbar.[ch] gtk/gtkrange.[ch]
451           gtk/gtkruler.[ch] gtk/gtkscale.c gtk/gtkscrolledwindow.c gtk/gtkspinbutton.[ch]
452           gtk/gtktext.c gtk/gtktextview.c gtk/gtkvruler.c gtk/testgtk.c:
453         Change float to double everywhere with the exception of 0<->1.0 alignment
454         and GtkCurve.
455
456 2001-03-19  Tor Lillqvist  <tml@iki.fi>
457
458         * gdk/win32/gdkdrawable-win32.c
459         * gdk/win32/gdkimage-win32.c: Use correct casts in debugging
460         output.
461
462         * demos/testpixbuf-drawable.c: If GDK_WINDOWING_WIN32, include
463         gdkwin32.h.
464
465 2001-03-18  Tor Lillqvist  <tml@iki.fi>
466
467         * gdk/win32/gdkevents-win32.c (print_window_state): New function.
468         print_event_state, print_event): Use preprocessor macro to make
469         code more compact. Print also GDK_WINDOW_STATE events.
470         (synthesize_crossing_events): Remove the old #ifdeffed-out code.
471         
472         * gtk/gtk.def
473         * gtk/makefile.mingw.in: Update.
474
475         * gtk/gtkmain.h: Check for G_PLATFORM_WIN32, not only G_OS_WIN32,
476         to catch also Cygwin.
477
478 Sun Mar 18 01:15:30 2001  Tim Janik  <timj@gtk.org>
479
480         * gtk/gtkspinbutton.[hc]: added rc-style argument
481         GtkSpinButton::shadow_type.
482         removed spin_button->shadow_type, gtk_spin_button_set_shadow_type()
483         and ARG_SHADOW_TYPE as it doesn' make much sense to try to override
484         rc-style settings.
485
486         * gtk/gtkfixed.c: removed gtk_fixed_paint() (was unused).
487
488         * gtk/gtkwidget.c: quark cleanups.
489
490         * gtk/gtkrc.[hc]: added gtk_rc_scanner_new() to create an rc-file
491         scanner with appropriate configuration, renamed GtkRcStyleClass.clone
492         to create_rc_style() (we don't do cloning in standard OO sense).
493         added per rc style properties.
494         
495         * gtk/gtkstyle.[hc]: added code to retrive pspec conformant rc-style
496         property values and for caching those. some cleanups.
497         
498         * gtk/Makefile.am: -DG_DISABLE_CONST_RETURNS.
499         
500         * gtk/gtksettings.[hc]: new file for global rc-file properties
501         (at least currently, should get extended to support X properties
502         and other communication mechanisms).
503         
504         * gtk/gtkwidget.[hc]: added style property support:
505         (gtk_widget_class_install_style_property_parser): install style
506         property pspec with parser function for rc-file values other
507         than LONG, DOUBLE or STRING.
508         (gtk_widget_class_install_style_property): same as above without
509         parser (parsers are going to be needed quite infrequently).
510         (gtk_widget_style_get_property): retrive style property value.
511         (gtk_widget_style_get_valist): same as above with varargs support,
512         has NOCOPY semantics.
513         (gtk_widget_style_get): wrapper around gtk_widget_style_get_valist().
514
515 Fri Mar 16 18:24:53 2001  Jonathan Blandford  <jrb@redhat.com>
516
517         * demos/gtk-demo/main.c (row_activated_cb): modified to use
518         "row_activated" signal.
519
520         * gtk/gtktreeview.c (gtk_tree_view_row_activated): oh, the
521         stupidity.  Lets actually pass in the row with this signal...
522
523 Fri Mar 16 18:01:17 2001  Jonathan Blandford  <jrb@redhat.com>
524
525         * gtk/gtktreeviewcolumn.[ch]: s/GTK_TREE_COLUMN/GTK_TREE_VIEW_COLUMN
526
527         * gtk/gtktreeview.c (gtk_tree_view_row_activated): New signal.
528
529         * gtk/gtktreeview.c (gtk_tree_view_destroy): moved pretty much
530         everything into the ::destroy function, and freed a lot more.
531
532 2001-03-16  Havoc Pennington  <hp@redhat.com>
533
534         * gtk/gtkwidget.h (struct _GtkWidgetAuxInfo): change to use gint
535         instead of gint16, to avoid overflow issues, since sizes > 16-bit
536         are now allowed.
537
538 2001-03-16  Havoc Pennington  <hp@redhat.com>
539
540         * Applied patch from Nils Barth (bug # 51041) to 
541         replace "gint" with "gboolean" and 0/1 with TRUE/FALSE
542         in various places.
543
544 2001-03-15  Havoc Pennington  <hp@redhat.com>
545         
546         * gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): add varargs 
547         for properties to set on the tag.
548
549         * gtk/testtext.c: fixups to reflect create_tag change
550         
551         * gtk/gtktexttag.c (gtk_text_tag_set_property):
552         background/foreground stipple are objects, not boxed.
553
554         * demos/gtk-demo/textview.c: intellihancing
555
556 Fri Mar 16 11:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
557
558         * gtk/gtktreeview.c (gtk_tree_view_set_model): Fixed some
559         braindeadness spotted by Jamie Strachan <frostfreek@yahoo.com>.
560
561 2001-03-16  Alexander Larsson  <alexl@redhat.com>
562
563         * gdk/x11/gdkgeometry-x11.c (_gdk_window_process_expose):
564         Fix sign error with queued region translations.
565
566 2001-03-15  HideToshi Tajima  <tajima@happy>
567
568         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_set_cursor_location): 
569         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_location):
570         * gtk/gtkentry.c (update_im_cursor_location): 
571         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_location):
572         * gtk/gtkimcontext.h (struct _GtkIMContextClass): rename
573         set_cursor_pos to set_cursor_location in GtkInputContext class
574
575 Thu Mar 15 18:22:44 2001  Jonathan Blandford  <jrb@redhat.com>
576
577         * gtk/gtkcellrenderer.h: Changed prototype to allow for getting
578         the location of the cell relative to its area.
579         * gtk/gtkcell*: modified for above change
580         * gtk/gtktreeview.c: modified for above change.
581
582 Wed Mar 14 13:58:32 2001  Jonathan Blandford  <jrb@redhat.com>
583
584         * gtk/gtktreeview.c (gtk_tree_view_set_model): Ref the model.
585          (gtk_tree_view_finalize): actually unref the model.  Thanks to
586         Jamie Strachan <frostfreek@yahoo.com> for noticing this error.
587
588 2001-03-14  Havoc Pennington  <hp@redhat.com>
589
590         * gtk/gtkdata.h, gtk/gtkdata.c: Delete.
591         
592         * gtk/gtk.h: remove gtkdata.h
593
594         * gtk/Makefile.am: remove gtkdata
595         
596         * gtk/gtktext.c (gtk_text_set_adjustments): connect to "destroy"
597         not "disconnect" on the adjustments.
598         
599         * gtk/gtktooltips.h, gtk/gtktooltips.c: derive from GtkObject not
600         GtkData
601
602         * gtk/gtkadjustment.h, gtk/gtkadjustment.c: derive from GtkObject
603         not GtkData
604
605         * configure.in: handle case where X render exists, but Pango lacks
606         Xft support.
607
608 2001-03-15 Alexander Larsson  <alexl@redhat.com>
609
610         * gtk/gtktoolbar.[ch]:
611         New functions gtk_toolbar_set_icon_size and gtk_toolbar_insert_stock
612         to add stock items to toolbars.
613
614         * gtk/Makefile.am:
615         Remove ../gdk/gdkim.h from gdk_headers.
616
617 2001-03-15  Sven Neumann  <sven@gimp.org>
618
619         * gdk/gdkim.h: removed
620         
621         * gdk/gdkprivate.h
622         * gdk/x11/gdkim-x11.c: do not include gdkim.h 
623
624 2001-03-14  HideToshi Tajima  <tajima@happy.sunsoft.eng.sun.com>
625
626         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos):
627         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos):
628         * gtk/gtkimcontext.h (struct _GtkIMContextClass): add
629         set_cursor_pos() virtual method
630
631         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init):
632         (gtk_im_context_xim_set_cursor_pos): add implementation for
633         set_cursor_pos() method
634
635         * gtk/gtkentry.c (recompute_idle_func): set current cursor
636         position to input methods
637
638 Mon Mar 12 21:02:08 2001  Jonathan Blandford  <jrb@redhat.com>
639
640         * gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus
641         code a lot.
642
643         * gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use
644         g_mem_chunk.
645         (_gtk_tree_data_list_alloc): use g_mem_chunk.
646         (_gtk_tree_data_list_node_to_value): Fix to switch on
647         G_TYPE_FUNDAMENTAL.
648         (_gtk_tree_data_list_value_to_node): Fix to switch on
649         G_TYPE_FUNDAMENTAL.
650         (_gtk_tree_data_list_node_copy): Fix to switch on
651         G_TYPE_FUNDAMENTAL.
652
653 2001-03-12  Havoc Pennington  <hp@redhat.com>
654
655         * gtk/gtkwindow.c (gtk_window_class_init): Patch from John Margaglione 
656         to convert to new property API. Also, change default_width and
657         default_height get_property to return 0 as the flag value for
658         "unset"; -1 is not a valid value for these fields.
659
660 2001-03-12  Havoc Pennington  <hp@redhat.com>
661
662         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an
663         enum with registration for icon sizes, instead of strings.
664
665         * gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, 
666         gtkwidget.c: Fix to reflect GtkIconSize
667         
668 2001-03-12  Alexander Larsson  <alexl@redhat.com>
669
670         Make GtkFB compile and link.
671         
672         * gdk/linux-fb/gdkdrawable-fb2.c:
673         window->mapped to GDK_WINDOW_IS_MAPPED(). 
674         
675         * gdk/linux-fb/gdkwindow-fb.c:
676         window->mapped to GDK_WINDOW_IS_MAPPED(). 
677         Added gdk_window_shape_combine_region.
678         Added assorted placeholders for unimplemented new GdkWindow API calls.
679
680 2001-03-12  Alexander Larsson  <alexl@redhat.com>
681
682         * gtk/gtkfilesel.c:
683         Add more test when converting filenames from/to utf-8.
684         Don't allow entering text in the filename entry which isn't allowed in
685         a filename. Just beep instead.
686
687 2001-03-12  Alexander Larsson  <alexl@redhat.com>
688
689         * gtk/gtkclist.c:
690         Scroll using gdk_window_scroll(). Don't wait for exposes.
691         Move the column headers in an order that makes them flash less.
692
693 2001-03-10  Hans Breuer  <hans@breuer.org>
694
695         * gdk/gdk.def : updated
696
697         * gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
698         to offseting the clip_mask at the right place
699
700         * gdk/win32/gdkwindow-win32.c : don't create background brushes
701         for all the gdkClasses, especially not for the input_only case.
702         Otherwise flickering wont be avoidable, because we don't get
703         WM_ERASEBKGND message for these windows.
704
705         * gdk/win32/gdkevents-win32.c : initialize event->expose.region
706         and fixed massive redraw problems apparently triggered by Alexanders 
707         recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
708         but it seems to work quite well :-)
709
710         * gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose
711         prototype
712
713 Sat Mar 10 12:15:31 2001  Jonathan Blandford  <jrb@redhat.com>
714
715         * gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
716         (gtk_list_store_set_cell): Fix a stupid typo.
717
718 Fri Mar  9 20:36:21 2001  Jonathan Blandford  <jrb@redhat.com>
719
720         * gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
721         select_all not work if you're in SINGLE mode (it doesn't make that
722         much sense, anyway.)
723
724         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
725         handle types more sanely.
726         (_gtk_tree_data_list_value_to_node): handle types more sanely.
727         (_gtk_tree_data_list_node_copy): handle types more sanely.
728
729         * gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
730         GValue better. Converts the type as well.
731
732         * gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
733         GValue better. Converts the type as well.
734
735 Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
736
737         * gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
738         gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c 
739         gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
740         gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
741
742         * gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
743         gdk_im/gdk_ic.
744
745 2001-03-09  Hans Breuer  <hans@breuer.org>
746
747         * gdk/gdk.def : updated
748
749         * gdk/win32/gdkevents-win32.c : don't ask input_only windows
750         for their palette
751
752         * gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
753         removing
754
755         * gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
756         removing and implemented Havoc's GdkWindow state functions; 
757         stick/unstick only as no-op, cause I don't know how to emulate 
758         on win32 ...
759
760         * gtk/gtk.def : updated
761
762         * gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
763
764         * gtk/gtktypeutils.c : #include <string.h>
765
766         * gtk/gtkwindow.h : declare gtk_window_set_decorated ()
767
768 Fri Mar  9 09:31:55 2001  Tim Janik  <timj@gtk.org>
769
770         * gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with
771         GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object,
772         not a boxed.
773
774 2001-03-09  Alexander Larsson  <alexl@redhat.com>
775
776         * docs/Changes-2.0.txt:
777         Document expose event->region change and that gtk_widget_event
778         doesn't allow passing expose events.
779
780         * gdk/gdkevents.h:
781         Add region to expose event.
782         
783         * gdk/gdkevents.c:
784         Handle event->region in gdk_event_copy() and gdk_event_free().
785
786         * gdk/gdkwindow.c (gdk_window_process_updates_internal):
787         Generate expose_event->region when creating expose events.
788
789         * gdk/x11/gdkevents-x11.c:
790         Generate expose events with regions when translating X events.
791
792         * gtk/gtkcontainer.[ch]:
793         Default expose handler that propagates expose events to NO_WINDOW
794         children. New function gtk_container_propagate_expose()
795
796         * gtk/gtkwidget.[ch]:
797         Moved gtk_widget_event implementation to gtk_widget_event_internal.
798         gtk_widget_event calls gtk_widget_event_internal but doesn't allow
799         expose events. New function gtk_widget_send_expose() to send expose
800         events. New function gtk_widget_region_intersect() to calculate
801         window/region intersections.
802         
803         * gtk/gtkmain.c (gtk_main_do_event):
804         Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
805         Use gtk_widget_send_expose() to send expose events.
806         
807         * gtk/gtkbin.c:
808         * gtk/gtkbox.c:
809         * gtk/gtkfixed.c:
810         * gtk/gtkimagemenuitem.c:
811         * gtk/gtklist.c:
812         * gtk/gtkpacker.c:
813         * gtk/gtktable.c:
814         * gtk/gtktree.c:
815         Remove expose handler, using the default container implementation
816         instead.
817         
818         * gtk/gtkbutton.c:
819         * gtk/gtkcheckbutton.c:
820         * gtk/gtkeventbox.c:
821         * gtk/gtkfixed.c:
822         * gtk/gtkhandlebox.c:
823         * gtk/gtklayout.c:
824         * gtk/gtklistitem.c:
825         * gtk/gtkmenu.c:
826         * gtk/gtkmenubar.c:
827         * gtk/gtkmenuitem.c:
828         * gtk/gtknotebook.c:
829         * gtk/gtkoptionmenu.c:
830         * gtk/gtkpaned.c:
831         * gtk/gtkscrolledwindow.c:
832         * gtk/gtktogglebutton.c:
833         * gtk/gtktoolbar.c:
834         * gtk/gtktreeitem.c:
835         * gtk/gtkviewport.c:
836         Chain expose handler to parent class handler. Use
837         gtk_container_propagate_expose() to propagate exposes.
838
839         * gtk/gtkclist.c (check_exposures):
840         * gtk/gtktext.c (process_exposes):
841         Use gtk_widget_send_expose instead of gtk_widget_event.
842
843 Thu Mar  8 19:40:28 2001  Jonathan Blandford  <jrb@redhat.com>
844
845         * gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function.
846
847 Thu Mar  8 19:18:27 2001  Jonathan Blandford  <jrb@redhat.com>
848
849         * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually
850         unref the nodes.   Fixes bug #50058.
851
852         * gtk/gtktreemodel.c (gtk_tree_model_ref_node): change
853         "::ref_iter" to "::ref_node".
854         (gtk_tree_model_unref_node): change "::unref_iter" to
855         "::unref_node". Fixes bug #50064.
856
857 Thu Mar  8 17:40:09 2001  Jonathan Blandford  <jrb@redhat.com>
858
859         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add
860         support for invisible cells.
861          (gtk_tree_view_bin_expose): ditto
862
863 Thu Mar  8 16:36:00 2001  Jonathan Blandford  <jrb@redhat.com>
864
865         * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
866         on gobjects.
867
868         * tests/testtreefocus.c (main): New test file.
869
870         * tests/testtreeview.c: update to latest glib changes.
871
872         * tests/testtreecolumns.c: update to latest glib changes.
873
874 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
875
876         * gtk/testgtk.c: re-enabled event watcher emission hooks.
877
878 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
879
880         * *.c: added accumulator data argument to g_signal_newc()
881         functions.
882
883         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
884         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
885         * gtk/treestoretest.c (make_window):
886         s/g_signal_connect/g_signal_connectc/.
887
888         * gtk/gtktextbuffer.c: completed signal arg fixups,
889         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
890
891 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
892
893         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
894         G_CONST_RETURN.
895
896         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
897         ::hierarchy-changed signal when a widget changes
898         from anchored to unanchored or vice versa.
899         (anchored means 
900          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
901         Use a private flag to keep track of this efficiently.
902
903 2001-03-07  Havoc Pennington  <hp@redhat.com>
904
905         * gtk/testgtk.c (create_spins): uglify so that size request gets
906         tested.
907
908         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
909         request on values for upper/lower, completes #6152
910
911 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
912
913         * Makefile.am: Remove gtk-config-2.0 again.
914         (Grrrr, pkg-config. And stops make loops.)
915
916 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
917
918         * gtk/gtksignal.[hc]: removed old emission hook API.
919         
920         * docs/Changes-2.0.txt: fixed sections.
921         
922         * gtk/gtktextbuffer.c: signal arg fixups.
923
924 2001-03-07  Havoc Pennington  <hp@redhat.com>
925
926         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
927
928         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
929         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
930         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
931         validation and the redraw which is higher priority than the
932         validation.
933
934 2001-03-07  Havoc Pennington  <hp@redhat.com>
935
936         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
937         (gtk_entry_set_property): remove trailer
938
939         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
940         (gtk_entry_get_width_chars): new functions, to set size request to 
941         a given number of characters
942
943         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
944
945         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
946         (gtk_dialog_get_has_separator): new function
947         (run_delete_handler): fix to not emit "response" signal
948         because we already did in the delete event handler installed
949         at dialog creation time.
950         
951         * gtk/gtkdialog.h: add a has_separator property,
952         add GTK_DIALOG_NO_SEPARATOR flag
953
954 2001-03-07  Havoc Pennington  <hp@redhat.com>
955
956         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
957         off decorations for a window.
958
959         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
960         changes
961
962         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
963         to get location of PangoLayout inside the label, closes #51198
964
965         * gtk/testgtk.c (create_bbox): fix up button box usage
966
967         * gtk/testcalendar.c (create_calendar): fix up button box usage
968
969         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
970
971         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
972
973         * gtk/gtkhbbox.h: deprecations
974
975         * gtk/gtkvbbox.h: deprecations
976
977         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
978         emulate deprecated gtk_button_box_get_spacing
979
980         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
981         the "set global default" functions
982         (struct _GtkButtonBox): remove "spacing" field, use the one from 
983         GtkBox base class
984
985         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
986
987         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
988         render the icon, return the missing image icon.
989
990         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
991         image icon if the load fails.   
992
993         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
994         when no image is found; should be the Netscape "missing image"
995         icon eventually but for now is a random image
996
997         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
998         role for the session manager
999
1000         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
1001
1002         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
1003         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
1004
1005         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
1006
1007 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
1008
1009         * gtk/*.c: marshaller fixes.
1010         
1011         * gtk/gtkmarshal.list: extreme cleanup.
1012
1013         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
1014         param spec for now.
1015
1016         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
1017         where appliable.
1018
1019         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
1020         special cased autogenerated boxed types from gtktypebuiltins_ids.c
1021         which are not reference counted:
1022         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
1023         PangoFontDescription, GtkTreeIter and GtkTreePath.
1024
1025 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
1026
1027         * gtk/gtktreeselection.h: 
1028         * gtk/gtktreemodel.c:
1029         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
1030         file should be included directly, and gobject/gmarshal.h
1031         as well as gtk/gtkmarshal.h even can't be included directly.
1032
1033         * Makefile.am: grr, install gtk-config-2.0.
1034
1035         * gtk/testgtk.c:
1036         * gtk/simple.c:
1037         * gtk/gtkmenu.c:
1038         * gtk/gtkitemfactory.c: use g_object_connect() instead of
1039         passing "*signal*::*" args to gtk_widget_set().
1040         
1041         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
1042         
1043         * gtk/*.c: removed trailer arg from property setters and getters.
1044         macro fixups.
1045
1046 2001-03-07  Alexander Larsson  <alexl@redhat.com>
1047
1048         * gtk/gtklabel.c (set_markup): Removed warning
1049
1050 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
1051
1052         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
1053         field to allow you to hide cell renderers.
1054
1055         * gtk/gtkcellrenderer.c: Add support for invisible cells.
1056
1057         * gtk/gtktreeview.c: Add support for invisible cells.
1058
1059 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
1060
1061         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
1062         Add "clicked" signal back to columns.
1063
1064         * ChangeLog: remove conflict markers.
1065
1066 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
1067
1068         * gtk/gtkbutton.c: Add animation of activation by, on 
1069         activate, pressing the button, and adding a timeout that 
1070         releases the button after 250ms or on key release and
1071         emits ::clicked. (#51501)
1072
1073         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
1074         action area, we connect to ::clicked instead of ::activate
1075         so the dialog stays up through the animation.
1076
1077 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
1078
1079         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
1080         check the ignore_enter flag for the menu shell that
1081         the item is actually a child of, not for attached
1082         submenus. (#51536)
1083
1084 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
1085
1086         * gtk/gtkmain.c (gtk_propagate_event): Only do special
1087         special key-press grab handling for widgets within
1088         GtkWindows. Otherwise, fall through to normal case.
1089
1090         This prevents key events being sent twice to GtkInvisible
1091         widgets, which can cause all sorts of mischief.
1092
1093 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
1094
1095         * gtk/gtkmain.c (gtk_propagate_event): When a grab
1096         widget is in effect, give the grab widget a first
1097         crack at KEY_PRESS/RELEASE events. (#424)
1098
1099 2001-03-06  James Henstridge  <james@daa.com.au>
1100
1101         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
1102         offset for the window_state_event to point at window_state_event
1103         rather than no_expose_event.
1104
1105 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
1106
1107         * gtk/gtkimmodule.h: fix busted /* comment */
1108
1109 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
1110
1111         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
1112         object properties.
1113
1114 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
1115
1116         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
1117         add object properties.
1118
1119         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
1120         to add object properties.
1121
1122         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
1123         object properties.
1124
1125         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
1126         add object properties.
1127
1128         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
1129         object properties.
1130
1131 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
1132
1133         * gtk/gtktreemodel.c: renamed "child_toggled" to
1134         "has_child_toggled".
1135
1136         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
1137         handle new signal name.
1138
1139         * gtk/gtktreestore.c: Updated to handle new signal name.
1140         * gtk/gtklisttore.c: Updated to handle new signal name.
1141         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
1142
1143 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1144
1145         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
1146         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
1147
1148 2001-03-05  Michael Natterer  <mitch@gimp.org>
1149
1150         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
1151         pixbuf-engine coincidentially also failed to make one of it's
1152         parent_class pointers static, causing overwriting of GtkLabel's
1153         parent_class pointer in pixbuf_style_class_init().
1154         (Will commit the fix to the pixbuf-engine too).
1155
1156 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1157
1158         * gdk/gdkwindow.h:
1159         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
1160         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
1161         gdk_window_set_icon_list for net wmspec functionality.
1162
1163         * gdk/x11/gdkwindow-x11.c:
1164         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
1165         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
1166         gdk_window_set_icon_list.
1167         Added gdk_wmspec_change_state helper function and used it in the code.
1168         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
1169
1170         * gtk/gtkdialog.c (gtk_dialog_init):
1171         Set GDK_WINDOW_TYPE_HINT_DIALOG.
1172
1173         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
1174         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
1175
1176         * gtk/gtkwindow.c:
1177         new function gtk_window_set_type_hint.
1178         On realize, set type hint and modal hint.
1179
1180         * gtk/gtkwindow.h:
1181         Added type_hint field and gtk_window_set_type_hint.
1182
1183 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1184
1185         * gtk/gtklabel.[ch]:
1186         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
1187         New function gtk_label_get_accel_keyval () to get the underline accelerator
1188         of the label. Setting the label pattern overrides other attributes.
1189
1190 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
1191
1192         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
1193         Added missing initializers to gtk_rc_style_init().
1194
1195 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
1196
1197         * gtk/gtktextview.c: fixed bug #51097 about setting 
1198         gtk_text_view_set_border_window_size() if the widget is 
1199         already realized.
1200
1201 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
1202
1203         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
1204
1205         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
1206         comment. Won't do to have duplicated doc comments between
1207         the platform subdirs.
1208
1209 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
1210
1211         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
1212           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
1213
1214         Detectable auto-repeat - make a repeating key generate
1215         press/press/press/release instead of press/release pairs.
1216
1217         If we have Xkb and XkbSetDectableAutoRepeat supports
1218         that, we do it that way. Otherwise, when we get
1219         a release event, we check ahead with XPending to see
1220         if the next key is a KeyPress with the same keycode
1221         and timestamp. (Not 100% reliable, but pretty close.)
1222           
1223 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
1224         
1225         * gtk/gtkmain.c (gtk_propagate_event): Only do special
1226         special key-press grab handling for widgets within
1227         GtkWindows. Otherwise, fall through to normal case.
1228  
1229         This prevents key events being sent twice to GtkInvisible
1230         widgets, which can cause all sorts of mischief.
1231  
1232 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
1233  
1234         * gtk/gtkmain.c (gtk_propagate_event): When a grab
1235         widget is in effect, give the grab widget a first
1236         crack at KEY_PRESS/RELEASE events. (#424)
1237  
1238 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
1239
1240         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
1241         to extend the selection. (Roughly based on patch
1242         from Jay Cox, #50939)
1243
1244         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
1245         to properly handle previous GDK_BUTTON_PRESS. 
1246         (Patch from Jay Cox, #50938)
1247
1248         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
1249         '\0' back along with the deleted text. (#51148)
1250
1251 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
1252
1253         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
1254         the group when extracting it from the X keyboard event.
1255
1256         * modules/input/Makefile.am modules/input/imipa.c: 
1257         Simple module for entering IPA. (Do we need a 
1258         gtk-stupid-input-tricks CVS module?)
1259
1260 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
1261
1262         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
1263         const.
1264
1265         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
1266
1267         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
1268         is no focus widget for the dialog currently, grab the focus as well
1269         as the default.
1270
1271         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
1272         the action area's children to iterate through, not the
1273         dialog's children.
1274
1275 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
1276
1277         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
1278         Add plug-socket tests. (Won't work worth a darn until I commit
1279         the rest of the plug-socket changes, but no reason these
1280         can't go into CVS now.)
1281
1282 2001-03-02  Havoc Pennington  <hp@redhat.com>
1283
1284         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
1285         _gdk_region_get_xrectangles()
1286
1287         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
1288
1289         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
1290
1291         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
1292         function, contributed by Ron Steinke    
1293
1294         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
1295         gdk_net_wm_supports
1296
1297         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
1298         New function, contributed by Ron Steinke
1299
1300         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
1301         used to line up the text in the entry when using the entry for
1302         editable sheet cell hacks
1303
1304         * gtk/testgtk.c (create_entry): test the activate_default setting
1305         on GtkEntry
1306
1307         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
1308         cause the entry to activate the default button for a dialog when 
1309         activated
1310         (gtk_entry_get_activates_default): new function
1311
1312 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
1313
1314         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
1315         Hwang to move call to sync_selection() up a few lines
1316         to before the row list is modified, to fix crash when
1317         removing rows in the undo_selection list.
1318
1319         (Test case provided by Daniel Elstner:
1320
1321         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
1322
1323 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
1324
1325         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
1326         of tree->root_tree in parent_set rather than _map(), 
1327         fixing #50892 in a bit better manner.
1328
1329 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
1330
1331         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
1332
1333 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
1334
1335         * gtk/gtkstyle.c : Remove duplicate fwd decl for
1336         gtk_default_draw_shadow.
1337
1338 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
1339
1340         * gdk/gdkimage.c (gdk_image_new): Remove excess 
1341         warning, make warnings more verbose, treat a error
1342         in shmat as permanent, and don't try again.
1343         (#51163, Ed Randall.)
1344
1345 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
1346
1347         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
1348         delay for the first click before starting to scroll.
1349         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
1350
1351         * gtk/gtktext.c: GtkText should have I-beam cursor. 
1352         (based on gtk-enf-990513-1.patch, Eric Fisher.)
1353
1354 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
1355
1356         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
1357         cleanup to remove some references to unused
1358         ->xoffset, ->yoffset.
1359
1360 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
1361
1362         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
1363         mask. (#51039, fix from Martin Maierhofer)
1364
1365 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
1366
1367         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
1368         for unshifted + and shifted = for non-us keyboards.
1369         Make <Control>+ and <Control>- work as well as 
1370         <Control>KP_Plus, <Control>KP_Minus for recursive
1371         open/close.  (#2682, René Seindal)
1372
1373 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
1374
1375         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
1376         the active menu item before deactivating the menu,
1377         so gtk_menu_popdown doesn't change the history. (#50964)
1378         
1379 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
1380
1381         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
1382         draw lines with text_gc rather than black_gc.
1383         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
1384
1385 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
1386
1387         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
1388         Move handling of buttons fully in gtktreeviewcolumn.  This code is
1389         less interrelated then it was, but it still requires the
1390         GtkTreeView to map it.
1391
1392         * test/testtreecolumn.c: Now I can add a column to one view,
1393         remove it, add it to the another view, remove it, then re-add it
1394         to the first.  Nifty.
1395
1396 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
1397
1398         * docs/tutorial/gtk-tut.sgml: Minor corrections
1399
1400 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
1401
1402         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
1403         GtkRowReference.
1404
1405 2001-02-28  Havoc Pennington  <hp@redhat.com>
1406
1407         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
1408         draw_default
1409         (gtk_widget_draw_focus): remove this function; we could instead
1410         make it just gtk_widget_draw(), but in most cases I think the
1411         result would be broken user code, so think it's better to have
1412         that code not compile and get fixed
1413         (gtk_widget_draw_default): ditto
1414
1415         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
1416         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
1417         
1418         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
1419         widgets lose/get the default, instead of calling draw_default
1420         
1421         * docs/Changes-2.0.txt: note about all this
1422
1423         Then fixed every widget in GTK, I won't list all the filenames.
1424
1425 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
1426
1427         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
1428         _gtk_tree_row_reference_deleted.
1429         (inserted_callback): Proxy out to
1430         _gtk_tree_row_reference_inserted.
1431         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
1432         get around signal emission ordering problem.
1433
1434         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
1435         fix to work with SINGLE 
1436         (_gtk_tree_selection_internal_select_node): Major sanitization on
1437         selections.  SINGLE now seems to work.
1438
1439         * tests/Makefile.am: add testtreecolumn.c:
1440
1441         * tests/testtreecolumn.c: New test.  Mostly points out selection
1442         bugs currently, but will test columns later.
1443
1444         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
1445         selection bug.  I hate touching this code -- it's scary.
1446
1447 2001-02-26  Havoc Pennington  <hp@redhat.com>
1448
1449         * gtk/testgtk.c: test the window state stuff
1450
1451         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
1452         window come to the user's attention as if it were just created
1453         (gtk_window_iconify): new function
1454         (gtk_window_deiconify): new function
1455         (gtk_window_stick): new function
1456         (gtk_window_unstick): new function
1457         (gtk_window_maximize): new function
1458         (gtk_window_unmaximize): new function
1459
1460         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
1461
1462         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
1463
1464         * gdk/x11/gdkevents-x11.c: create window state events when
1465         appropriate
1466         (gdk_wmspec_supported): new function
1467
1468         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
1469         iconification before showing the window
1470         (gdk_window_deiconify): new function
1471         (gdk_window_stick): new function
1472         (gdk_window_unstick): new function
1473         (gdk_window_maximize): new function
1474         (gdk_window_unmaximize): new function
1475
1476         * gdk/gdkwindow.c: store the window state in the window; 
1477         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
1478         window->mapped.
1479         (gdk_window_get_state): return the current window state
1480
1481         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
1482         (gdk_event_get_state): handle GDK_WINDOW_STATE
1483         (gdk_synthesize_window_state): function to create the window state
1484         events
1485
1486         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
1487         event, for changes to "window state" such as maximized, sticky, 
1488         etc.
1489         
1490         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
1491         focuses a window
1492
1493         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
1494         finds out if we support a given WM spec hint
1495
1496 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
1497
1498         * docs/faq/gtk-faq.sgml: New question re memory leaks.
1499
1500 2001-02-25  Hans Breuer  <hans@breuer.org>
1501
1502         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
1503         cause we want to loose those prototypes only in the latter case
1504
1505         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
1506         GdkPixmapImplWin32 because it itsn't derived from it. Use the
1507         impl member variable instead
1508
1509         * gtk/gtk.def : updated
1510
1511         * gtk/gtklist.c : 
1512         * gtk/gtkmenus.c : include <string.h> for memset ()
1513
1514         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
1515         for everthing built here, but for gtk-x.x.dll only. This solves
1516         problem of indifferent gtk type definitions
1517
1518 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@webwynk.net>
1519
1520         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
1521
1522 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
1523
1524         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
1525         column that is exposed.
1526
1527         (_gtk_tree_view_update_size): Changed name from set_size, and
1528         changed function to do more work, and not force people calling it
1529         to figure out the size.  Simplifies a lot of code elsewhere.
1530
1531 2001-02-23  Alexander Larsson  <alexl@redhat.com>
1532
1533         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
1534         return solid masks for xpms that have no transparent color.
1535         This makes the ..._create_from_xpm... API backwards
1536         compatible.
1537
1538 2001-02-23  Tor Lillqvist  <tml@iki.fi>
1539
1540         * README.win32: Update. Mention the gtk-1-3-win32-production
1541         branch.
1542
1543         * gdk/win32/bdfcursor.c: New file. A program that generates
1544         xcursors.h. Thanks to Stefan Ondrejicka.
1545
1546         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
1547         compact format.
1548
1549         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
1550
1551         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
1552         function, uses xcursors.h.
1553         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
1554         cursor from inline data instead of using LoadCursor() to generate
1555         it from a resource.
1556
1557         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
1558         event, must check the Windows message for mouse button state, as
1559         the GDK event state might not have been built if it is
1560         undelivered. Remove one goto.
1561
1562         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
1563         SetCursor() if the current cursor as returned by GetCursor() is
1564         the window's previous cursor. The ChildWindowFromPoint() test
1565         apparently didn't work correctly.
1566
1567         * gdk/win32/rc/*.cur: Remove.
1568
1569         * gdk/win32/rc/gdk.rc.in: Remove cursors.
1570
1571         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
1572
1573         * gtk/makefile.{mingw,msc}.in: Updates.
1574
1575 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
1576
1577         * gtk/gtktreemodel.h: add functions for signal emission.
1578
1579         * gtk/gtktreestore.c: move to use above functions instead of
1580         g_signal_emit.
1581
1582         * gtk/gtkliststore.c: ditto
1583
1584 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
1585
1586         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
1587         GObject instead of GtkObject.
1588
1589         * gtk/gtkliststore.c: ditto.
1590
1591         * gtk/gtktreemodelsort.c: ditto.
1592
1593         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
1594         GtkTreeModelIface, instead of in each model.
1595
1596 2001-02-21  Havoc Pennington  <hp@redhat.com>
1597
1598         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
1599         unbreak this function
1600
1601         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
1602         properties
1603
1604         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
1605         properties
1606
1607         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
1608         properties
1609
1610         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
1611         mean unset the max length
1612
1613 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
1614
1615         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
1616         Changed name to be set_cell_data_func to make it clear what
1617         the functino does.  Close bug #51069.
1618
1619 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
1620
1621         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
1622         have memory actually freed.  Keeps box running longer.
1623
1624 2001-02-21  Alexander Larsson  <alexl@redhat.com>
1625         
1626         * gtk/gtkseparatormenuitem.[ch]:
1627         Added new menu separator item. The drawing and size handling
1628         is still done in GtkMenuItem, but the API is a bit more sane.
1629         
1630         * gtk/Makefile.am:
1631         Add gtkseparatormenuitem.[ch].
1632
1633         * gtk/gtk.h:
1634         Add gtkseparatormenuitem.h.
1635         
1636         * gtk/gtkentry.c:
1637         * gtk/gtkmenufactory.c:
1638         * gtk/gtktextview.c:
1639         Use the new API for menu separators.
1640         
1641         * demos/gtk-demo/menus.c (create_menu):
1642         Add some GtkSeparatorMenuItem demo code.
1643
1644 2001-02-20  Havoc Pennington  <hp@redhat.com>
1645
1646         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
1647         Lee Mallabone
1648
1649         * gtk/gtkarrow.c: Convert to new property API, patch from 
1650         Lee Mallabone
1651
1652 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
1653
1654         * tests/testtreeview.c (toggled_callback): fix to reflect change
1655         in GtkTreeModelStore.
1656
1657 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
1658
1659         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
1660         function to create an icon set from a pixbuf.
1661
1662 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1663
1664         * gtk/gtkcellrenderertext.[ch]:
1665         Add a "markup" property.
1666
1667         * gtk/treestoretest.c:
1668         Use the markup property, remove some leftover stuff from
1669         GtkTreeModelMapping.
1670
1671 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1672
1673         * gtk/gtklabel.c (gtk_label_set_selectable):
1674         Queue a redraw if the selectable setting was changed.
1675
1676 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1677
1678         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
1679         Actually copy the whole gc, not just the public parts.
1680         
1681         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
1682         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
1683         labels.
1684
1685 2001-02-19  Havoc Pennington  <hp@pobox.com>
1686
1687         * gdk/gdkwindow.c: docs
1688
1689         * gdk/gdkrgb.c: docs
1690
1691         * gdk/gdkregion-generic.c: docs
1692
1693         * gdk/gdkgc.c (gdk_gc_set_values): docs
1694
1695         * gdk/gdkdraw.c: docs
1696
1697         * gdk/gdkdrawable.h: deprecate drawable get/set data
1698
1699 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
1700
1701         * demos/gtk-demo/dialog.c: Add simple new demo.
1702
1703 2001-02-19  Havoc Pennington  <hp@redhat.com>
1704
1705         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
1706         insert_child_anchor signal, bug #50245
1707
1708         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
1709         from create_child_anchor, so the anchor is passed in
1710
1711         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
1712         (_gtk_widget_segment_new): have the child anchor object passed in, 
1713         instead of creating it.
1714
1715         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
1716         to gtk_text_buffer_get_modified
1717
1718 2001-02-19  Havoc Pennington  <hp@redhat.com>
1719
1720         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
1721         changed GLib without fixing GTK
1722
1723         * gtk/gtkrange.h: Rename all the stupid implementation detail 
1724         functions to have an underscore in front. Most of them should 
1725         probably just go away, but for starters don't export them.
1726         Bug #50482
1727
1728 2001-02-19  Havoc Pennington  <hp@redhat.com>
1729
1730         * gdk/gdkcolor.h: test was backward, so deprecated functions were
1731         excluded by default
1732
1733         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
1734         clean up the old code a bit
1735
1736         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
1737         inconsistent state
1738
1739         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
1740         draw inconsistent state
1741
1742         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
1743         (create_menu): add inconsistent test
1744
1745         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
1746         new function
1747         (gtk_check_menu_item_get_inconsistent): new function
1748         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
1749         state (using etched in for now)
1750
1751         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
1752         draw inconsistent state
1753
1754         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
1755         function, used when the user has selected a range of stuff in
1756         different states
1757         (gtk_toggle_button_get_inconsistent): accessor for that
1758         (gtk_toggle_button_paint): draw inconsistent state (etched in?
1759         don't know what else to do)
1760
1761 2001-02-19  Hans Breuer <hans@breuer.org>
1762
1763         * gtk/gtk.def : updated exported symbols
1764
1765         * gtk/makefile.msc.in : updated
1766
1767         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
1768         a colormap, when invoked from testgtk::entry. I'm not sure where
1769         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
1770         avoids immediate crashing ...
1771
1772         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
1773         any objections ?
1774
1775         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
1776         0 parameter. At least msvc doesn't like macros with var args. 
1777         I simply removed the extra 0, was it a feature or a typo ?
1778
1779         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
1780         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
1781         because the value assignment to the internal struct wasn't working.
1782         I'm not absolutely sure. The problem could have been resolved by
1783         changing the "func" declartion in the struct, but was the pointer
1784         to the function pointer intended ?
1785
1786         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
1787
1788         * gdk/gdk.def : updated exported symbols
1789
1790         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
1791         only use SetDIBitsToDevice if there is a palette at the drawable
1792         and the image is GDK_VISUAL_PSEUDO_COLOR
1793
1794         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
1795
1796         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
1797
1798         * gdk/*/makefile.msc : updated
1799
1800 2001-02-19  Havoc Pennington  <hp@redhat.com>
1801
1802         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
1803         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
1804
1805         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
1806         (gdk_key_repeat_restore): nuke
1807
1808         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
1809         (gdk_init_check): no atexit func
1810
1811         * gdk/gdkrgb.h: mark some stuff deprecated
1812
1813         * gdk/gdkcolor.h: mark some stuff deprecated
1814         
1815         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
1816
1817         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
1818
1819 2001-02-16  Havoc Pennington  <hp@redhat.com>
1820
1821         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
1822         scroll steps.
1823
1824         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
1825         steps, and add Ctrl-arrow shortcuts for paging visually as with
1826         HScale, since Page Up and Page Down move logically.
1827
1828         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
1829         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
1830         
1831         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
1832         steps
1833         (gtk_range_scroll): handle the visual steps
1834
1835         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
1836         scroll steps
1837
1838         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
1839         steps, not the logical ones.
1840
1841         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
1842         (scroll_vertical): handle up/down steps
1843
1844 2001-02-19 Alexander Larsson  <alexl@redhat.com>
1845
1846         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
1847         Copy data and free data with free().
1848
1849         * gdk-pixbuf/gdk-pixbuf.c:
1850         * gdk-pixbuf/io-jpeg.c:
1851         * gdk-pixbuf/io-png.c:
1852         Use g_try_malloc/g_free instead malloc/free.
1853         
1854         * gdk-pixbuf/test-gdk-pixbuf.c:
1855         Must... initialize... gobject...
1856         
1857         * gdk-pixbuf/pixops/timescale.c:
1858         * gtk/gtkcalendar.c:
1859         Use g_malloc instead of malloc.
1860         
1861 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
1862
1863         * gtk/testgtkrc:
1864         Comment out property assignments, these don't work yet.
1865
1866 2001-02-17  Havoc Pennington  <hp@pobox.com>
1867
1868         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
1869         bit.
1870
1871 2001-02-17  Havoc Pennington  <hp@pobox.com>
1872
1873         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
1874         shadowed variables that had broken size request in some cases,
1875         leading to bogus tooltips (#50996)
1876
1877 2001-02-06  Jon K Hellan  <hellan@acm.org>
1878
1879         Implement fast browsing of tooltips, bug #50619
1880         
1881         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
1882         and last_popdown
1883         
1884         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
1885         use_sticky_delay and last_popdown.
1886         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
1887         time of popdown.
1888         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
1889         is NULL.
1890         (gtk_tooltips_recently_shown): New static function.  Return true
1891         if < sticky_delay has elapsed since last popdown.
1892         (gtk_tooltips_event_handler): Display window after sticky_delay
1893         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
1894         since last popdown.
1895         
1896 2001-02-17  Havoc Pennington  <hp@pobox.com>
1897
1898         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
1899         instead of (). #6394
1900
1901         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
1902         G_CONST_RETURN, make it return by reference, #50473
1903         
1904 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
1905
1906         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
1907         generated ENTER_NOTIFY event with 0, otherwise not explicitely
1908         setup fields contain garbage (e.g. subwindow, breaking
1909         gdk_drawable_ref() upon event copy).
1910         (gtk_menu_stop_navigating_submenu_cb): same here.
1911
1912         * gtk/gtklist.c (gtk_list_vertical_timeout): 
1913         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
1914         * gtk/gtkclist.c (vertical_timeout): 
1915         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
1916         default-zero-intialization for unions to memset(,0,), as unions are
1917         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
1918         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
1919
1920         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
1921         g_closure_sink() warning.
1922
1923         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
1924         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
1925         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
1926         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
1927         
1928 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
1929
1930         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
1931         gtk_*_store_get, and moved to GtkTreeModel.
1932
1933         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
1934
1935         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
1936
1937         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
1938
1939         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
1940         set the func.
1941
1942         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
1943         freeze/thaw notify between setting all the properties for a cell.
1944
1945         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
1946
1947 2001-02-15  Havoc Pennington  <hp@redhat.com>
1948
1949         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
1950         the X coordinates so they're with respect to the line, rather than 
1951         with respect to the layout.
1952
1953         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
1954         Mallabone
1955
1956         * gtk/testgtk.c (create_range_controls): add vscale tests, 
1957         and inverted test
1958
1959         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
1960         #50806
1961
1962         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
1963
1964         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
1965         gtk_text_iter_is_end
1966
1967         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
1968         rename gtk_text_buffer_get_end_iter
1969
1970         * gtk/testgtk.c (create_labels): Add test for selectable
1971
1972         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
1973         the selection stuff. This code is kind of broken since it doesn't 
1974         use the theme engine.
1975
1976         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
1977         fix infinite loop and y offset problem
1978         (gdk_draw_layout_line_with_colors): fix foreground color handling
1979
1980         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
1981         that makes the label selectable.
1982         
1983         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
1984         layout when the style is set, since fonts etc. could have changed.      
1985
1986 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
1987
1988         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
1989
1990         * gtk/gtktreemodelsimple.[ch]: removed.
1991
1992 2001-02-16  Alexander Larsson  <alexl@redhat.com>
1993
1994         * gtk/gtktreemodelmapping.[ch]:
1995         New files. Implement GtkTreeModelMapping.
1996         
1997         * gtk/Makefile.am:
1998         Add gtktreemodelmapping.[ch].
1999         
2000         * gtk/gtk.h:
2001         Add gtktreemodelmapping.h
2002
2003         * gtk/treestoretest.c:
2004         Test the GtkTreeModelMapping
2005
2006 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
2007
2008         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
2009         have a demo, we might as well pass in real values.  Thanks to
2010         clahey for pointing this out.
2011
2012 2001-02-14  Havoc Pennington  <hp@pobox.com>
2013
2014         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
2015         "static" to a private function
2016         (gtk_image_menu_item_class_init): remove destroy handler,
2017         add "image" object property
2018
2019 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
2020
2021         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
2022         Add a shortcut if the window and the current clip_region doesn't
2023         overlap. This is needed when there are a lot of windows in a
2024         window. The layout test in testgtk is a good test.
2025
2026         * gdk/linux-fb/gdkwindow-fb.c:
2027         Whitespace fix.
2028
2029 2001-02-13  Sven Neumann  <sven@convergence.de>
2030
2031         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
2032
2033 2001-02-13  Alexander Larsson  <alexl@redhat.com>
2034
2035         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
2036         Don't reference last_cursor if it is null. Fixes crash when rotating
2037         the screen before having moved the mouse.
2038
2039         * gdk/linux-fb/gdkcc-fb.c: Zapp!
2040
2041         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
2042
2043         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
2044         when using 90 or 270 degrees rotation.
2045
2046 2001-02-12  Havoc Pennington  <hp@pobox.com>
2047
2048         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
2049         it always set the foreground, even if we were only using
2050         a stipple.
2051         (gdk_draw_layout_line_with_colors): new function, allow
2052         override colors
2053         (gdk_draw_layout_with_colors): new function, allow override
2054         colors
2055         (gdk_pango_layout_line_get_clip_region): function to get the clip
2056         region for a logical text range
2057         (gdk_pango_layout_get_clip_region): get the clip region for a
2058         logical text range
2059
2060         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
2061         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
2062         the right number of arguments.
2063
2064         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
2065         enhance the function to check that node data corresponds to a 
2066         view still belonging to the tree.
2067
2068         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
2069         GtkTreePath
2070         (gtk_tree_view_inserted): ditto
2071         (gtk_tree_view_child_toggled): ditto
2072
2073         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
2074         simplify this code.
2075
2076         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
2077         a PangoAttrList
2078
2079         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
2080
2081         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
2082
2083         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
2084         size in the size request 
2085         (gtk_menu_bar_size_allocate): consider toggle size here
2086
2087         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
2088         that displays a widget in the toggle slot
2089
2090         * gtk/testgtk.c: test GtkImageMenuItem
2091
2092         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
2093         
2094         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
2095         request and allocation
2096
2097         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
2098
2099         * gtk/gtkcheckmenuitem.c
2100         (gtk_check_menu_item_toggle_size_request): ditto
2101         
2102 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
2103
2104         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
2105         reference.
2106
2107         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
2108         and refuse to initialize GTK+ if they fail.
2109
2110 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
2111
2112         * configure.in: Add check for gtk-doc version.
2113
2114 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
2115
2116         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
2117         where the xpad/ypad was only being used on one side!
2118
2119 2001-02-11  Tor Lillqvist  <tml@iki.fi>
2120
2121         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
2122         function, copied from X11 version.
2123
2124         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
2125         DestroyCursor failures. The reason for the problem (despite the
2126         inconsistent messages from GetLastError()) was that
2127         DestroyCursor() cannot be called while a cursor is set in a
2128         window. Set the new cursor first and then destroy the old one.
2129         Thanks to jpe@archaeopteryx.com.
2130
2131         * gdk/win32/gdkcc-win32.c: Remove.
2132
2133         * gdk/win32/Makefile.am: Remove from here, too.
2134         
2135         * gdk/gdk.def
2136         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
2137
2138         * gtk/gtk.def
2139         * gtk/makefile.mingw.in: Updates.
2140
2141 2001-02-08  Havoc Pennington  <hp@redhat.com>
2142
2143         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
2144         add a widget to a bin that already has a child.
2145
2146         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
2147
2148         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
2149         
2150         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
2151
2152         * gdk/gdk.h: remove gdkcc.h
2153
2154         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
2155
2156         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
2157         GdkPixbuf, since the previous implementation was GdkColorContext
2158         dependent.
2159
2160         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
2161         
2162 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
2163
2164         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
2165         a sane value!
2166
2167 2001-02-08  Havoc Pennington  <hp@redhat.com>
2168
2169         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
2170         lighten them.
2171
2172 2001-02-08  Havoc Pennington  <hp@redhat.com>
2173
2174         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
2175         validation idle
2176
2177         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
2178         cell renderer
2179
2180         * demos/pixbuf-demo.c (timeout): remove deprecated
2181         gtk_widget_draw
2182
2183         * demos/testpixbuf-save.c (main): remove deprecated
2184         gtk_drawing_area_size
2185
2186         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
2187         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
2188         at the start of the allocation.
2189         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
2190         unsetup or NULL model.
2191
2192         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
2193         even/odd/sorted cells in the tree view.
2194
2195         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
2196         bugfixes
2197
2198         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
2199         backgrounds with draw_flat_box using different detail for even/odd
2200         rows.
2201
2202         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
2203         row, so we can draw the alternating colors thing
2204
2205         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
2206         property from a synonym property, notify for the synonym.
2207         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
2208         (gtk_text_tag_get_property): Always return the font, even if
2209         all its fields aren't set
2210
2211         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
2212         store the attr list; it leaves us with no way to change attributes
2213         in _render according to the render flags, and no way to implement
2214         get_property. Instead store all the specific text attributes. 
2215         Separate whether an attribute is enabled from its value. Sync all
2216         properties with GtkTextTag, make them all consistent, etc.
2217
2218         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
2219         renderers can highlight the sort row/column     
2220
2221         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
2222         accessor functions to get values; this has the side effect of
2223         showing up which accessor functions were missing. Added those.
2224
2225         * gtk/gtktreeviewcolumn.h: Replace set_justification with
2226         set_alignment, to be consistent with GtkLabel, GtkMisc
2227
2228         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
2229         arrow.
2230
2231         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
2232
2233         * gtk/gtktreesortable.h: updates in here
2234
2235 2001-02-07  Sven Neumann  <sven@convergence.de>
2236
2237         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
2238         pango dimensions after painting the background. We used to draw
2239         gigantic flat boxes here.
2240
2241 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
2242
2243         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
2244         error introduced with earlier commit) (pointed out by
2245         Ollie Lho)
2246
2247 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
2248
2249         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
2250         which are no longer necessary.
2251
2252 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
2253
2254         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
2255
2256 2001-02-04  Tor Lillqvist  <tml@iki.fi>
2257
2258         * gdk/gdk.def
2259         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
2260         Provide dummy implementations.
2261
2262 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
2263
2264         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
2265
2266         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
2267         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
2268         deprecated this function.
2269
2270         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
2271         argument.
2272
2273 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
2274
2275         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
2276
2277 2001-02-03  Havoc Pennington  <hp@pobox.com>
2278
2279         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
2280         Mikael Hermansson with patch from Mikael (if there was a toggle
2281         start one after the first character in the range, this function
2282         was broken). Bug #50380
2283
2284 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
2285
2286         * configure.in: Remove confusing comment about X11.
2287
2288 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
2289
2290         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
2291         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
2292         
2293 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
2294
2295         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
2296         it breaks things on BSD. If you want to compile GTK+ with
2297         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
2298         when configuring, since GTK+ simply can't be "pure ANSI" 
2299         in the header files it uses. (#8170, Greg Hudson)
2300
2301 2001-02-02  Havoc Pennington  <hp@redhat.com>
2302
2303         * gtk/gtkwindow.c: docs
2304
2305         * gtk/gtkwidget.c: docs
2306         (gtk_widget_set_colormap): add a reference to the colormap
2307         (gtk_widget_get_default_colormap): add a reference to the colormap
2308
2309         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
2310
2311         * gtk/gtktextiter.c: docs
2312
2313         * gtk/gtkmain.c (gtk_propagate_event): docs
2314
2315         * gtk/gtkpaned.c (gtk_paned_get_position): docs
2316         (gtk_paned_set_position): docs
2317
2318         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
2319         sort interface, no implementation yet.
2320
2321         * demos/testpixbuf.c (new_testrgb_window): replace
2322         gtk_drawing_area_size() with gtk_widget_set_usize()
2323
2324         * demos/testpixbuf-drawable.c (main): ditto
2325         
2326         * gtk/testgtk.c: remove use of GtkStatusbarMsg
2327
2328         * gtk/gtktextbuffer.c: docs
2329
2330         * gtk/gtkstock.c: docs
2331
2332         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
2333
2334         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
2335
2336         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
2337         
2338         * gtk/gtkimage.c: add some docs in here
2339         (gtk_image_size_request): change name of
2340         gtk_widget_render_stock_icon
2341         (gtk_image_get_icon_set): don't dup returned string
2342         (gtk_image_get_icon_set): don't dup returned string
2343
2344         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
2345         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
2346         and gtkiconfactory.h functions
2347
2348         * gtk/gtkiconfactory.c: add some docs in here
2349
2350         * gtk/gtkmain.c (gtk_get_default_language): document
2351         (gtk_get_current_event): document
2352         (gtk_get_current_event_state): document
2353         (gtk_get_event_widget): document
2354
2355         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
2356
2357         * gtk/gtkcontainer.c: Add some documentation
2358         (gtk_container_add): give a more explanatory warning on adding an
2359         already-parented widget, this is kind of a FAQ and also a common
2360         typo that's easier to debug with a nice warning 
2361
2362         * gtk/gtkcellrenderertoggle.c
2363         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
2364         adding this, it's useless
2365         (gtk_cell_renderer_toggle_set_active): remove
2366         (gtk_cell_renderer_toggle_get_radio): add
2367
2368         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
2369         the NULL cell renderer, that doesn't make any sense to me. 
2370
2371         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
2372         demo code should never use deprecated features.
2373
2374         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
2375         code should never use deprecated features.
2376
2377         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
2378         gtk_widget_queue_clear_area deprecated
2379
2380         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
2381         deprecated
2382
2383         * gtk/gtklabel.h: mark gtk_label_get() deprecated
2384
2385         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
2386         a GdkImage deprecated, replaced by new consistently-named
2387         functions       
2388
2389         * gtk/gtkmain.h: Mark gtk_exit() deprecated
2390
2391         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
2392
2393         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
2394         deprecated
2395
2396         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
2397         so it won't appear in docs and confuse people.
2398
2399         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
2400
2401         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
2402         macros deprecated. (can't mark the type itself deprecated, since
2403         GtkProgressBar is not deprecated and we need the type decl to use
2404         GtkProgressBar)
2405
2406         * gtk/gtkpixmap.h: Mark deprecated
2407
2408         * gtk/gtkoldeditable.h: Mark deprecated
2409
2410         * gtk/gtklist.h: Mark deprecated
2411
2412         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
2413         for anything anymore.
2414
2415         * gtk/gtkctree.h: Mark deprecated
2416
2417         * gtk/gtkclist.h: Mark deprecated
2418
2419         * gtk/gtkpreview.h: Mark deprecated
2420
2421         * gtk/gtkpacker.h: Mark deprecated
2422
2423         * gtk/gtktipsquery.h: Mark deprecated
2424
2425         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
2426
2427         * gtk/gtkvruler.h: Add comment that it will move out of GTK
2428
2429         * gtk/gtkhruler.h: Add comment that it will move out of GTK
2430
2431         * gtk/gtkruler.h: Add comment that it will move out of GTK
2432
2433         * gtk/gtkgamma.h: Add comment that it will move out of GTK
2434
2435         * gtk/gtkcurve.h: Add comment that it will move out of GTK
2436
2437 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
2438
2439         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
2440         gdk_colormap_sync private since it was never exported
2441         in a header file.
2442
2443         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
2444         colormap->colors[] for StaticGray, StaticColor colormaps.
2445
2446         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
2447         was being used as if it was image->bits_per_pixel.
2448
2449         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
2450         for the image in the GdkImage structure since it isn't
2451         reconstructable, and we need it to handle packed types
2452
2453         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
2454         the assumption that on Win32 image->bits_per_pixel == image->depth,
2455         always.
2456
2457         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
2458
2459         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
2460         warning message if no converter can be found. 
2461
2462 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
2463
2464         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
2465         chars to isupper() / tolower(). (#567)
2466
2467         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
2468         to clear up 64-bit warnings. (#567)
2469
2470 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
2471
2472         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
2473         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
2474
2475         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
2476         since some people set $(libdir) separately. (#1290, David Kaelbling)
2477
2478 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
2479
2480         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
2481         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
2482         MAXPATHLEN, but the code here depends on a fixed value.)
2483         (#4524)
2484
2485 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
2486
2487         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
2488         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
2489
2490 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
2491
2492         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
2493         viewable there is no way that moving the node will cause the 
2494         focus row to become not viewable, so omit check on the visibility
2495         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
2496
2497 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
2498
2499         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
2500         selection before inserting new text.
2501
2502 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
2503
2504         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
2505         Make the sensitivity of the reparented child track that of
2506         the original parent menu item. (#34218, David Hodson)
2507
2508         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
2509         the case where the current item is destroyed properly.
2510
2511         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
2512         some edge cases with child-less menuitems.
2513         
2514 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
2515
2516         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
2517         key pop down window. (#12074, Jon K Hellan)
2518
2519 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
2520
2521         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
2522         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
2523         The solution here isn't perfect - you get an extraneous
2524         emission of "toggle", which could conceivably confuse an app,
2525         but better than the current situation. LXR search seems to
2526         indicate that no apps in GNOME CVS connect to "toggle".
2527
2528 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
2529
2530         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
2531         gtk_public_h_sources to directly here to avoid warning when
2532         building srcdir != builddir. (#9656)
2533
2534 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
2535
2536         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
2537         handlers in gtkrange.c return the proper values (TRUE == handled)
2538         (#10316).
2539
2540         This is just the tip of the iceberg, but gtkrange.c is the
2541         most common place where the propagation is problematical,
2542         and also a place where it is almost certainly safe to change
2543         this in the stable branch.
2544
2545         (You don't want right click popups on a range control or anything...)
2546
2547 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
2548
2549         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
2550         area on focus out, even if a background pixmap isn't set.
2551         (#13941)
2552         
2553 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
2554
2555         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
2556         to deal with setting the shape properly when scrolling arrows are
2557         turned on, but not visible because there is sufficient space.
2558         (#13432)
2559
2560 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
2561
2562         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
2563         items with submenus, destroy the item along with the submenu.
2564         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
2565         properly.
2566
2567         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
2568         later.
2569
2570 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
2571
2572         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
2573         the focus widget sometimes wasn't drawn with the default if there
2574         was no default widget.
2575
2576         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
2577         unreference pixmaps. 
2578
2579         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
2580         for some extra safety.
2581
2582 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
2583
2584         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
2585         the text of a cell to the old pointer value better, by
2586         copying the new text before freeing the old text. Some code
2587         cleanup. (#8079, Karl Nelson)
2588
2589 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
2590
2591         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
2592         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
2593
2594 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
2595
2596         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
2597         item from a menu, check to see if it matches 
2598         menu->old_active_menu_item, and if so, unref and clear
2599         old_active_menu_item (Patch from Pavel Cisler)
2600
2601         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
2602         menu_shell->active_menu_item, if it is the child being
2603         removed. (Patch based on that of Gene Ragan, #50337)
2604
2605 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
2606
2607         * gdk/linux-fb/gdkselection-fb.c: 
2608         * gdk/linux-fb/gdkcolor-fb.c: 
2609         * gdk/linux-fb/gdkdrawable-fb2.c: 
2610         * gdk/linux-fb/gdkfont-fb.c: 
2611         * gdk/linux-fb/gdkim-fb.c: 
2612         * gdk/linux-fb/gdkinput.c: 
2613         * gdk/linux-fb/gdkkeyboard-fb.c: 
2614         * gdk/linux-fb/gdkmain-fb.c: 
2615         * gdk/linux-fb/gdkrender-fb.c: 
2616         A bunch of whitespace cleanup.
2617         
2618 2001-01-30  Havoc Pennington  <hp@pobox.com>
2619
2620         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
2621         #ifdef GTK_ENABLE_BROKEN.
2622
2623         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
2624         GTK_ENABLE_BROKEN just before including the broken headers.
2625         
2626         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
2627         deprecated types registered.
2628
2629         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
2630         we have to test the broken stuff.
2631
2632         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
2633         
2634 2001-01-30  Havoc Pennington  <hp@redhat.com>
2635
2636         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
2637         here where prev pointer was set to the wrong thing
2638
2639         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
2640         (gtk_tree_path_is_descendant): new function
2641
2642         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
2643         cached length
2644         (gtk_list_store_get_iter): don't modify iter if we can't get the
2645         path.
2646
2647         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
2648         
2649         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
2650         GtkTreeDragDest
2651
2652         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
2653         was causing segfault
2654
2655         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
2656         pointer to NULL
2657
2658         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
2659
2660         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
2661         on returning FALSE
2662         (gtk_list_store_iter_children): ditto
2663         (gtk_list_store_iter_nth_child): ditto
2664         (gtk_list_store_iter_nth_child): ditto
2665         (gtk_list_store_iter_parent): ditto
2666
2667         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
2668         on iter->user_data != NULL instead of silently accepting it.
2669         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
2670         we are returning TRUE.
2671         (gtk_tree_store_iter_children): ditto
2672         (gtk_tree_store_iter_nth_child): ditto
2673         (gtk_tree_store_iter_parent): ditto
2674         (gtk_tree_store_insert): remove handling of parent->user_data ==
2675         NULL, replace with parent == NULL       
2676
2677         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
2678         and a comment explaining things
2679
2680         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
2681         interface support to GtkTreeStore.
2682
2683         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
2684         FALSE if no prev, fix
2685
2686         * gtk/gtktreeview.c (set_source_row): use a row reference
2687         (set_dest_row): use a row reference
2688
2689 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
2690
2691         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
2692         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
2693         (gtk_tree_selection_select_iter): The same as above.
2694
2695 2001-01-26  Havoc Pennington  <hp@redhat.com>
2696
2697         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
2698         which holds a handle to a specific row (particular set of values
2699         in the model, i.e. pointer-identity row).
2700
2701         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
2702         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
2703         Still need to use it for the src/dest row saved on the drag context.
2704
2705 2001-01-26  Havoc Pennington  <hp@redhat.com>
2706
2707         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
2708
2709         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
2710         not offset by TREE_VIEW_HEADER_HEIGHT
2711         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
2712         TREE_VIEW_HEADER_HEIGHT
2713
2714         * configure.in (included_loaders): for me, --with-included-loaders
2715         generates the error "the specified loader yes does not exist",
2716         i.e. the arg defaults to "yes", so change test for value ""
2717         to test for value "yes", and include all loaders in that case.
2718
2719         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
2720
2721         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
2722         handle TREE_VIEW_VERTICAL_SEPARATOR
2723         (gtk_tree_view_bin_expose): fix to consider the row offset as
2724         pointing halfway into vertical separator.       
2725         (gtk_tree_view_draw_node_focus_rect): ditto
2726
2727         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
2728         --gtk-debug=updates, which causes gdk_window_set_debug_updates
2729         (TRUE) to be called.
2730
2731         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
2732         debug mode where the invalid region is colored in on invalidate,
2733         so you can see the flicker and know whether your redraw code is 
2734         doing a good job.
2735
2736         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
2737         tree window coordinates (clip rect is in tree window coords)
2738
2739         * gtk/Makefile.am: add gtktreednd.[hc]
2740
2741         * gtk/gtkliststore.c: implement gtktreednd interfaces.
2742
2743         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
2744         drag-and-drop data operations on a model (so we can set up tree
2745         drag-and-drop automatically)
2746
2747         * gtk/testgtk.c: Add a window to change sensitivity in the
2748         GtkLabel test; add a way to change the entry frame in GtkEntry
2749         test
2750
2751         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
2752         (gtk_entry_get_has_frame): new functions to remove the frame
2753         around an entry
2754         (gtk_entry_size_request): shrink requisition if no frame
2755         (gtk_entry_draw_focus): don't draw frame if no frame
2756
2757         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
2758         checks inside a cell renderer
2759         (gtk_default_draw_option): ditto for options
2760
2761         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
2762         children from the alignment, not the button
2763         (gtk_tree_view_column_init): ref/sink the column, to emulate
2764         GObject refcounting.
2765
2766         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
2767         
2768         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
2769         Use theme functions to draw the toggles 
2770
2771         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
2772
2773         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
2774         GdkPangoAttrEmbossed to use in rendering insensitive text
2775
2776         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
2777
2778         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
2779         using new GDK features
2780         
2781 2001-01-24  Alexander Larsson  <alexl@redhat.com>
2782
2783         * gtk/gtkimage.c:
2784         Splitted gtk_image_clear into gtk_image_clear() and
2785         gtk_image_reset(). Call gtk_image_clear() in ::destroy
2786         to avoid leaks.
2787
2788         * gtk/gtklabel.c (set_markup):
2789         Don't leak text.
2790
2791         * gtk/gtktextlayout.c:
2792         Always free display->shaped_objects.
2793
2794         * gtk/testgtk.c (create_clist):
2795         Don't leak custom style.
2796
2797 2001-01-23  Alexander Larsson  <alexl@redhat.com>
2798
2799         * gtk/gtkcolorsel.c (grab_color_at_mouse):
2800         Don't leak image. Simplify using gdk_colormap_query_color().
2801         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
2802
2803         * linux-fb/gdkcolor-fb.c:
2804         Implemented gdk_colormap_query_color.
2805
2806 2001-01-23  Alexander Larsson  <alexl@redhat.com>
2807
2808         * linux-fb/gdkcursor-fb.c:
2809         Don't leak built-in cursors.
2810
2811         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
2812         Don't leak tmp_points.
2813
2814         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
2815         Don't modify desc. Don't leak font if the PangoFont
2816         isn't found.
2817         
2818         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
2819         Free dash_list.
2820
2821         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
2822         Don't leak string.
2823         
2824 2001-01-20  Havoc Pennington  <hp@pobox.com>
2825
2826         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
2827         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
2828         me, matches Pango
2829
2830 2001-01-22  Havoc Pennington  <hp@redhat.com>
2831
2832         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
2833
2834         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
2835
2836         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
2837         Remove, move back to gdk-pixbuf
2838
2839         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
2840         to all the word functions
2841
2842         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
2843         before doing anything on NULL layout or if we don't have the focus
2844
2845         * gtk/testtext.c (fill_example_buffer): "justification"
2846
2847         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
2848         to be called "justification" not "justify"
2849
2850         * demos/gtk-demo/textview.c (create_tags): "justification"
2851         
2852         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
2853
2854 2001-01-22  Alexander Larsson  <alexl@redhat.com>
2855
2856         * gdk/gdkwindow.c (gdk_window_invalidate_region):
2857         Don't leak visible_region. Use visible_region instead of region.
2858         
2859         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
2860         Don't do extra gdk_drawable_ref(). This is not X.
2861         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
2862         gdk_fb_focused_window is ref:ed.
2863         (gdk_fb_window_send_crossing_events): Watch out for destroyed
2864         windows.
2865
2866 2001-01-22  Alexander Larsson  <alexl@redhat.com>
2867
2868         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
2869         Don't leak the PangoFontDescriptor.
2870
2871 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
2872
2873         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
2874         when not realized.
2875         (gtk_tree_view_scroll_to_cell): Make work when not realized.
2876         (gtk_tree_view_realize): add scroll_to support
2877         (gtk_tree_view_finalize): add a finalize method.  Populate.
2878         (gtk_tree_view_insert_column): ref and sink the column.
2879         (gtk_tree_view_append_column): ref and sink the column.
2880         (gtk_tree_view_queue_draw_node): New function to handle redrawing
2881         individual nodes.  Should make the code much more efficient, if
2882         actually used.
2883
2884 2001-01-19  Havoc Pennington  <hp@redhat.com>
2885
2886         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
2887         byte_offset variable was being used to mean both "offset into
2888         layout" and "offset into buffer line" which was no longer true
2889         with addition of preedit string; fix
2890
2891 2001-01-19  Havoc Pennington  <hp@redhat.com>
2892
2893         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
2894
2895         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
2896         function
2897
2898         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
2899         implement
2900
2901         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
2902         scroll_to_cell, matches TextView scroll functions better
2903         (gtk_tree_view_tree_to_widget_coords): new function
2904         (gtk_tree_view_widget_to_tree_coords): new function
2905         (gtk_tree_view_get_visible_rect): new function
2906         (gtk_tree_view_get_path_at_pos): accept negative coordinates
2907         (gtk_tree_view_draw_node_focus_rect): new function moved from
2908         draw_focus, also, use width of bin_window as width of the focus
2909         rect
2910         (gtk_tree_view_expand_row): fix bug where it didn't recognize
2911         already-expanded rows
2912         (gtk_tree_view_get_cell_rect): new function
2913         (gtk_tree_view_get_path_at_pos): return the click position
2914         relative to the passed-in cell
2915         (gtk_tree_view_set_expander_column): new function
2916
2917         * configure.in: remove gtk-config-2.0 chmod
2918
2919         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
2920         and properly handle drags with targets we don't understand
2921         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
2922         scrolling anyway
2923         (gtk_text_view_drag_drop): stop scrolling here though, and set the
2924         mark invisible
2925
2926         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
2927         function
2928         (gtk_drag_dest_get_target_list): new function
2929         (gtk_drag_dest_set_target_list): new function
2930         
2931         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
2932
2933         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
2934         related to drag-and-drop
2935
2936 2001-01-19  Alexander Larsson  <alexl@redhat.com>
2937
2938         * gdk/linux-fb/gdkprivate-fb.h:
2939         Define EMULATE_GDKFONT.
2940         Add extra pango_font stuff to GfkFontPrivate.
2941         
2942         * gdk/linux-fb/gdkdrawable-fb2.c:
2943         * gdk/linux-fb/gdkfont-fb.c:
2944         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
2945         emulation using PangoFont.
2946
2947 2001-01-17  Havoc Pennington  <hp@pobox.com>
2948
2949         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
2950         all the non-deprecated set_foo functions. Added missing object
2951         properties, and added g_object_notify() to setters. 
2952         Wrote docs.
2953         
2954 2001-01-18  Tor Lillqvist  <tml@iki.fi>
2955
2956         * gtk/gtkmain.c
2957         * gtk/gtkrc.c: (Win32) Use the new
2958         g_win32_get_package_installation_(sub)directory() functions.
2959
2960         * config.h.win32.in: New file.
2961         
2962         * config.h.win32: Removed.
2963
2964         * configure.in: Output config.h.win32.
2965
2966         * Makefile.am: Add it to EXTRA_DIST.
2967
2968         * gtk/gtk.def: Update.
2969
2970 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
2971
2972         * gtk/gtklabel.c (gtk_label_size_request): Set the
2973         attributes onto the PangoLayout even if they are newly
2974         created from label->pattern.
2975
2976 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
2977
2978         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
2979
2980         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
2981         structures in functions. Fixes bug where gtk_dataset_*
2982         was accidentally still being used in one place, causing
2983         every dest side event to be treated independently.
2984
2985         * gtk/gtkdnd.c: Remove last vestages of handling
2986         ::draw (fixes warning)
2987         
2988         * gtk/gtkentry.[ch]: Add drag and drop support.
2989
2990         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
2991         new function gtk_check_drag_threshhold() for checking
2992         to check if (dx,dy) has exceeded the threshhold for starting
2993         a drag and use it everywhere.
2994
2995 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
2996
2997         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
2998         add -I{includedir}/gtk-2.0.
2999
3000         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
3001         gdk/gdk-pixbuf.h: Doc fixups.
3002         
3003         * gtk/gtkobject.h: Remove trailing , from enum
3004
3005 2001-01-17 Alexander Larsson <alexl@redhat.com> 
3006
3007         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
3008         Doh! Mixed up x and y.
3009
3010         * gdk/linux-fb/gdkglobals-fb.c:
3011         Removed gdk_fb_pointer_grab_window_events,
3012         added _gdk_fb_pointer_grab_owner_events and
3013         _gdk_fb_keyboard_grab_owner_events.
3014
3015         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
3016         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
3017         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
3018         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
3019         Send crossing events after ungrab finished.
3020         (gdk_keyboard_grab): Set ..._owner_events
3021         (type_masks): Move out of function.
3022         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
3023         gdk_fb_keyboard_event_window): New functions, return the
3024         window an event should be targeted at. Handles grabs and
3025         event propagation. Can return NULL.
3026         (gdk_event_make): Remove event_mask checking. Now always
3027         returns an event.
3028                 
3029         * gdk/linux-fb/gdkkeyboard-fb.c:
3030         * gdk/linux-fb/gdkproperty-fb.c:
3031         * gdk/linux-fb/gdkselection-fb.c:
3032         Use new event_window/gdk_event_make() behaviour.
3033         
3034         * gdk/linux-fb/gdkmouse-fb.c:
3035         Use new event_window/gdk_event_make() behaviour.
3036         Only send motion events if in the same window.
3037         If grabbed, use cursor from window if sibling of grabbed
3038         window, and cursor from grabbed window otherwise.
3039
3040         * gdk/linux-fb/gdkprivate-fb.h:
3041         Update gdk_fb_window_send_crossing_events, gdk_event_make
3042         and grab varaible declarations. Add gdk_fb_*_event_window().
3043
3044         * gdk/linux-fb/gdkwindow-fb.c:
3045         Use new event_window/gdk_event_make() behaviour.
3046         Keep correct track of focus window.
3047         (gdk_window_set_events): Set all specific button motion masks
3048         if GDK_BUTTON_MOTION_MASK set.
3049
3050         * gtk/gtkdnd.c (gtk_drag_update):
3051         Free info->last_event if gdk_drag_motion returned FALSE.
3052
3053 2001-01-16  Tor Lillqvist  <tml@iki.fi>
3054
3055         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
3056         Eliminate redraws when input-only windows are shown or
3057         hidden. Thanks to jpe@archaeopteryx.com.
3058
3059 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
3060
3061         * docs/faq/gtk-faq.sgml: FAQ update:
3062           - Update to bugzilla
3063           - Add GTK+ and security/SUID/SGID
3064           - Add DnD question
3065
3066 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
3067
3068         * gdk/linux-fb/gdkdnd-fb.c:
3069         Some cleanups.
3070         
3071 2001-01-15  Havoc Pennington  <hp@pobox.com>
3072
3073         * tests/testtreeview.c: add test stuff for CellRendererToggle
3074
3075         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
3076         accessor
3077
3078         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
3079         only toggle on button press (would do release like GtkButton, but
3080         we'd need implicit grab code for treeview cells)
3081
3082 2001-01-16  Tor Lillqvist  <tml@iki.fi>
3083
3084         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
3085
3086         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
3087         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
3088
3089         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
3090         to g_{locale,filename}_{to,from}_utf8 to match current API.
3091
3092         * gtk/makefile.msc.in (gtk_OBJECTS)
3093         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
3094
3095         * gtk/gtk.def: Update.
3096
3097 2001-01-15  Tor Lillqvist  <tml@iki.fi>
3098
3099         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
3100         implementaion that more closely mimics the events that an X server
3101         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
3102         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
3103         with nested preview widgets, for instance, more responsive when
3104         you move the mouse quickly into them.
3105         (find_window_for_pointer_event): Make it actually compile.
3106         (gdk_event_translate): Set send_event to the value of
3107         InSendMessage (). This doesn't really mean the same as X11's
3108         send_event flag, but is close enough, says jpe@archaeopteryx.com
3109
3110 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3111
3112         * gdk/linux-fb/gdkdnd-fb.c:
3113         Implemented drag and drop.
3114         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
3115         when it tries to free and then copy the same event (info->last_event).
3116         I am not sure about why this happens, but will continue looking.
3117
3118 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3119
3120         * gdk/linux-fb/gdkwindow-fb.c:
3121         Use gdk_window_invalidate_rect instead of
3122         gdk_window_invalidate_rect_clear to minimise flashing.
3123         When hiding windows you need to clear the root window though.
3124
3125 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3126
3127         * gdk/linux-fb/gdkdrawable-fb2.c:
3128         For optization, add an full_shapes argument to gdk_fb_clip_region.
3129         If this is false, only the cliprects of the shapes are used.
3130
3131         * gdk/linux-fb/gdkprivate-fb.h:
3132         Export gdk_fb_window_peek_shape.
3133         Add full_shapes to gdk_fb_clip_region.
3134
3135         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
3136         When moving a window, don't clear everything under the it, just the
3137         root window. Makes stuff faster and flash less.
3138         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
3139         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
3140         offset of the shape.
3141         
3142
3143 2001-01-12  Havoc Pennington  <hp@redhat.com>
3144
3145         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
3146         current invalid region, fixes redraw bug while scrolling the 
3147         text widget
3148
3149         * gtk/gtktextview.c, gtk/gtktextview.h:
3150         Rearrange the scrolling/validation/etc. code in a major way, 
3151         so it seems to make sense to me. Probably isn't genuinely that
3152         much better, but...
3153
3154         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
3155         notifies
3156
3157         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
3158
3159 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
3160
3161         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
3162         Hide mouse pointer while rotation. Show it afterwards.
3163
3164 2001-01-12  Alexander Larsson  <alexl@redhat.com>
3165
3166         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
3167         windows in consideration when generating clip region.
3168
3169         * gdk/linux-fb/gdkfb.h:
3170         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
3171
3172         * gdk/linux-fb/gdkprivate-fb.h:
3173         Add shape to GdkWindowFBDatat.
3174         exported gdk_fb_window_get_abs_shape().
3175         removed gdk_fb_draw_lines declaration.
3176
3177         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
3178         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
3179         send focus changes when there is a grabbed window.
3180         (gdk_window_get_pointer): Handle shaped windows.
3181         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
3182         (gdk_fb_window_peek_shape): Returns the shape for a window,
3183         handles GDK_FB_USE_CHILD_SHAPE.
3184         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
3185         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
3186         (gdk_window_shape_combine_mask): Implement.
3187
3188         * gtk/gtkwindow-decorate.c:
3189         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
3190         setting the shape of a window makes the window transparent.
3191
3192 2001-01-11  Havoc Pennington  <hp@redhat.com>
3193
3194         * gtk/gtktreemodelsimple.h: Oops, broke some macros
3195
3196 2001-01-10  Havoc Pennington  <hp@redhat.com>
3197
3198         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
3199         add this function, bug 40251
3200
3201         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
3202         of type macro   
3203
3204 2001-01-11  Alexander Larsson  <alexl@redhat.com>
3205
3206         * acconfig.h:
3207         Added ENABLE_SHADOW_FB
3208
3209         * configure.in:
3210         Added --disable-shadowfb
3211
3212         * gdk/linux-fb/gdkcursor-fb.c:
3213         Update shadowfb when updating cursor
3214
3215         * gdk/linux-fb/gdkdrawable-fb2.c:
3216         Added wrappers for shadowfb that calls  the normal drawable
3217         methods, but calls gdk_shadow_fb_update(bounding box) when
3218         GdkWindows are drawed to.
3219         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
3220         which also returns the bounding box.
3221
3222         * gdk/linux-fb/gdkfb.h:
3223         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
3224
3225         * gdk/linux-fb/gdkgeometry-fb.c:
3226         Update shadowfb when scrolling window.
3227
3228         * gdk/linux-fb/gdkglobals-fb.c:
3229         Add _gdk_fb_screen_angle.
3230         
3231         * gdk/linux-fb/gdkkeyboard-fb.c:
3232         Test code for screen rotation. Shift-F2 in the xlate driver
3233         rotates the screen.
3234
3235         * gdk/linux-fb/gdkmain-fb.c:
3236         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
3237
3238         * gdk/linux-fb/gdkmouse-fb.c:
3239         Use fb_width/height instead of modeinfo.xres/yres.
3240
3241         * gdk/linux-fb/gdkprivate-fb.h:
3242         Added fb_men, fb_width, fb_height & fb_stride. When using
3243         shadow fb these can differ from the framebuffer stuff.
3244         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
3245         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
3246         _gdk_fb_screen_angle. Removed CM, RP.
3247
3248         * gdk/linux-fb/gdkrender-fb.c:
3249         Added code for shadowfb handling and screen rotation using
3250         shadowfb.
3251
3252         * gdk/linux-fb/gdkwindow-fb.c:
3253         Use fb_mem, fb_stride, fb_width, fb_height.
3254         Added recompute_rowstride to reset the rowstride of all windows.
3255         Added gdk_fb_recompute_all() which recomputes rootwindow size,
3256         window abs positions and window rowstrides. Usefull when the
3257         rotation has changed.
3258
3259 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
3260
3261         * docs/faq/gtk-faq.sgml: update to make web site updating easier
3262
3263 2001-01-10  Havoc Pennington  <hp@redhat.com>
3264
3265         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
3266         where sibling == iter
3267         (gtk_tree_store_insert_after): handle sibling == iter
3268         (gtk_tree_store_prepend): remove stamp checks
3269         (gtk_tree_store_insert_before): ditto
3270         (gtk_tree_store_append): ditto
3271         (gtk_tree_store_get_path): ditto
3272         (gtk_tree_store_get_value): ditto
3273         (gtk_tree_store_iter_has_child): ditto
3274         (gtk_tree_store_iter_n_children): ditto
3275         (gtk_tree_store_iter_nth_child): ditto
3276         (gtk_tree_store_insert_after): ditto
3277         (gtk_tree_store_is_ancestor): ditto
3278         (gtk_tree_store_iter_depth): ditto
3279         (gtk_tree_store_insert_before): assert that sibling's parent is
3280         the same as the passed-in parent
3281         (gtk_tree_store_insert_after): assert that sibling's parent is
3282         the same as the passed-in parent
3283
3284         
3285         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
3286         function to get the first iterator in a model
3287         
3288         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
3289         conventionally the "root" in this sense is just NULL afaict.
3290
3291         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
3292         where sibling == iter
3293         (gtk_list_store_insert_after): handle case where sibling == iter
3294
3295         * tests/testtreeview.c (run_automated_tests): fairly lame basic
3296         automated tests for ListStore, TreeStore
3297
3298         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
3299         (gtk_list_store_insert): update tail pointer, and fix it to work
3300         (gtk_list_store_insert_before): update tail pointer, and fix it to work
3301         (gtk_list_store_append): use tail to be faster
3302         (gtk_list_store_prepend): fix it, update tail pointer
3303         (gtk_list_store_insert_after): fix it, update tail pointer
3304
3305         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
3306         the list
3307
3308 2001-01-09  Havoc Pennington  <hp@redhat.com>
3309
3310         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
3311         is NULL due to a pending resize
3312
3313         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
3314         column width to values less than 1
3315
3316         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
3317         width to be between min/max width, and still set the width 
3318         even if autosize is turned on, so the tree view can use this 
3319         function in order to autosize.
3320         (gtk_tree_view_column_init): set initial width to 1 not 0
3321
3322         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
3323         setter function to modify column width, so we get notification
3324         (gtk_tree_view_insert_iter_height): ditto
3325         (gtk_tree_view_calc_size): ditto
3326         (gtk_tree_view_check_dirty): ditto
3327
3328         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
3329         properties to change all the interesting attributes of the tree
3330         view column.
3331         (gtk_tree_view_column_set_header_clickable): rename set_clickable
3332         (gtk_tree_view_column_get_clickable): add
3333         (gtk_tree_view_column_set_cell_renderer): don't unset the current
3334         attributes; assume a cell renderer with equivalent object
3335         properties has been swapped in. Do g_object_notify().
3336         (gtk_tree_view_column_set_visible): g_object_notify
3337         (gtk_tree_view_column_get_sizing): rename from get_col_type
3338         (gtk_tree_view_column_set_sizing): g_object_notify
3339         (gtk_tree_view_column_set_width): add g_object_notify
3340         (gtk_tree_view_column_set_min_width): ditto
3341         (gtk_tree_view_column_set_max_width): ditto
3342         (gtk_tree_view_column_set_title): ditto
3343         (gtk_tree_view_column_set_clickable): ditto
3344         (gtk_tree_view_column_set_widget): ditto
3345         (gtk_tree_view_column_set_justification): ditto
3346
3347 2001-01-09  Havoc Pennington  <hp@redhat.com>
3348
3349         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
3350         there are no rows in the model
3351
3352         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
3353         NULL, then return the start of the list
3354
3355         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
3356         if we can't get any rows from an empty model 
3357
3358         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
3359         extraneous * after function pointer typedef usage
3360
3361         * Makefile.am: don't specify full path to cp and rm
3362
3363         * gtk/gtkcellrenderertextpixbuf.c
3364         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
3365         NULL before dereferencing, fixes a segfault that happened from
3366         time to time
3367
3368         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
3369         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
3370         and reindent the function
3371         (gtk_cell_renderer_pixbuf_get_size): indentation
3372
3373         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
3374         we quit it
3375         (gtk_dialog_add_buttons_valist): add g_return_if_fail
3376         (gtk_dialog_set_default_response): New function, to set default
3377         button
3378         (gtk_dialog_set_response_sensitive): New function, to set 
3379         sensitivity of buttons
3380
3381         * gtk/gtkcellrendererpixbuf.c
3382         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
3383         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
3384
3385         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
3386         handle any G_TYPE_OBJECT subclass, not just the base class, and 
3387         also boxed types.
3388         (_gtk_tree_data_list_value_to_node): ditto
3389
3390         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
3391         --gtk-debug=tree
3392
3393         * gtk/gtkmain.c: add GTK_DEBUG_TREE
3394
3395         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
3396
3397 2001-01-09  Tor Lillqvist  <tml@iki.fi>
3398
3399         * gdk/win32/gdkevents-win32.c: Implement better mouse
3400         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
3401         (find_window_for_pointer_event): New function.
3402         (gdk_event_translate): Use it when handling mouse events.
3403
3404 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
3405
3406         * configure.in:
3407         Added --with-included-loaders option
3408
3409         * gdk-pixbuf/Makefile.am:
3410         * gdk-pixbuf/gdk-pixbuf-io.c:
3411         Add support for including selected gdk-pixbuf loaders only.
3412
3413         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
3414         gtk_window_set_has_frame):
3415         Added inline documentation.
3416
3417         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
3418         * docs/reference/gdk/tmpl/windows.sgml:
3419         Added inline documentation.
3420
3421 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
3422
3423         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
3424         realizing buttons that have already been realized.
3425
3426 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
3427
3428         * tests/testtreeview.c (main): Show menu items before adding to
3429         option menu.
3430
3431         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
3432         around if we kill them.
3433
3434         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
3435         Return if we pass in a NULL model.
3436
3437 2001-01-08  Havoc Pennington  <hp@redhat.com>
3438
3439         * tests/testtreeview.c: hack on this some
3440
3441         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
3442         gtk_tree_store_set_valist, v is for arrays, valist for varargs
3443         list
3444         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
3445
3446         * gtk/gtkliststore.h: Add varargs set() and get() convenience
3447         functions
3448
3449 2001-01-08  Alexander Larsson  <alexl@redhat.com>
3450
3451         * gtk/gtkwindow-decorate.[hc]:
3452         * gtk/Makefile.am:
3453         New files. Contains an implementation of a minimal WM for
3454         linux-fb.
3455
3456         * gtk/gtkwindow.h:
3457         Add the possibility for GtkWindows to specify a frame. This
3458         is used for the window decoration code, but could concievably
3459         be used for X programs too (xmms style windows).
3460         GtkWindow->frame is the toplevel window if the window is framed.
3461         The signal frame_event gets all events that are targeted to
3462         GtkWindow->frame.
3463         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
3464         
3465         * gtk/gtkwindow.c:
3466         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
3467         Call out to gtkwindow-decorate.c for WM support in linx-fb.
3468
3469 2001-01-08  Alexander Larsson  <alexl@redhat.com>
3470
3471         * docs/README.linux-fb:
3472         Correct filename ~/.pangoft2_aliases
3473
3474         * gdk/gdkwindow.h:
3475         Added new function gdk_window_get_decorations.
3476
3477         * gdk/linux-fb/gdkfb.h:
3478         Removed _gdk_window_get_decorations declaration.
3479         Renamed _gdk_window_set_child_handler to
3480         gdk_fb_window_set_child_handler.
3481
3482         * gdk/linux-fb/gdkwindow-fb.c:
3483         Renamed _gdk_window_set_child_handler to
3484         gdk_fb_window_set_child_handler.
3485
3486         * gdk/x11/gdkwindow-x11.c:
3487         New function gdk_window_get_mwm_hints().
3488         Implemented gdk_window_get_decorations.
3489
3490         * docs/reference/gdk/tmpl/windows.sgml:
3491         * docs/reference/gdk/gdk-sections.txt:
3492         Added gdk_window_get_decorations docs.
3493         
3494 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
3495
3496         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
3497         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
3498         gdk_fb_window_send_crossing_events):
3499         Possibly send focus events when the mouse moves from one
3500         window to another.
3501
3502 2001-01-07  Tor Lillqvist  <tml@iki.fi>
3503
3504         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
3505         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
3506         to match current API.
3507
3508         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
3509         environment variable is set, don't call g_error when on a
3510         palettized (PseudoColor) display. Some people want to use GTK+ 
3511         in 256-colour mode even though works only partially.
3512
3513         * gdk/gdk.def
3514         * gtk/gtk.def
3515         * gtk/makefile.mingw.in: Update.
3516
3517 2001-01-05  Havoc Pennington  <hp@redhat.com>
3518
3519         * tests/testtreeview.c: hack on this a bit
3520
3521         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
3522         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
3523
3524         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
3525         was spelled incorrectly
3526         (GTK_IS_TREE_MODEL_SIMPLE): ditto
3527
3528         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
3529         from gtk_tree_view_set_headers_active   
3530
3531         * gtk/gtktexttag.c:
3532         (gtk_text_tag_get_property): handle PROP_DIRECTION
3533         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
3534         properties, bug 40235
3535
3536         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
3537         forward_to_line_end
3538
3539 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
3540
3541         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
3542         modules/input/gtkimcontextxim.c: Adapt to new prototypes
3543         for unicode,locale,filename conversion functions.
3544
3545 2001-01-05  Havoc Pennington  <hp@redhat.com>
3546
3547         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
3548         broken if called on the first position in the buffer.
3549
3550         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
3551         forward_to_delimiters to be called only if we aren't already at
3552         the delimiters.
3553
3554 2001-01-05  Havoc Pennington  <hp@redhat.com>
3555
3556         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
3557
3558 2001-01-05  Alexander Larsson  <alexl@redhat.com>
3559
3560         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
3561         colormap in here. Sync from X port.
3562         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
3563         Sync from X port.
3564         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
3565         This happens now and then, and i don't think it is a bug.
3566         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
3567         != endpoint.
3568         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
3569         GDK_LINE_SOLID.
3570
3571         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
3572         some of the fields filled in at least.
3573
3574         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
3575         miLineArcD is no more, remove it from the function definition.
3576
3577 2001-01-04  Havoc Pennington  <hp@redhat.com>
3578
3579         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
3580         this
3581
3582         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
3583         user_data instead of tree_node
3584
3585         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
3586         TREE_VIEW_COLUMN_SIZE
3587
3588         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
3589         "size" field to "width" finishes bug 40061
3590
3591         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
3592         for bitfields, bug 40268
3593
3594 2001-01-04  Havoc Pennington  <hp@redhat.com>
3595
3596         Rename some stuff:
3597         
3598         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
3599
3600         s/GtkModelSimple/GtkTreeModelSimple/g;
3601         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
3602         s/gtk_model_simple/gtk_tree_model_simple/g;
3603         s/gtkmodelsimple/gtktreemodelsimple/g;
3604
3605         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
3606
3607         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
3608         s/column_set_col_type/column_set_sizing/g;
3609
3610         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
3611         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
3612
3613         s/GtkCellRendererType/GtkCellRendererState/g;
3614         
3615         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
3616         (gtk_cell_renderer_toggle_class_init): change "state" property to
3617         "active", to match GtkToggleButton
3618         (gtk_cell_renderer_toggle_get_active): new function, bug
3619         40269
3620         (gtk_cell_renderer_toggle_set_active): new function
3621         (gtk_cell_renderer_toggle_set_property): route changes to toggle
3622         state through gtk_cell_renderer_set_active
3623
3624 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
3625
3626         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
3627         temporarily until they work again.  Brought up to date with
3628         changes in the model.
3629         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
3630         model.
3631
3632 2001-01-04  Havoc Pennington  <hp@redhat.com>
3633
3634         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
3635         equal to the line length, then position iterator before paragraph 
3636         separators. Fixes crash reported by Mikael Hermansson when
3637         pressing left arrow from the start of a line.   
3638
3639         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
3640         about byte indexes off the end
3641         (iter_set_from_char_offset): add g_error about char offsets
3642         off the end
3643
3644 2001-01-03  Havoc Pennington  <hp@redhat.com>
3645
3646         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
3647
3648         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
3649         of private functions; remove inclusion of private headers.
3650
3651         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
3652         function, so we don't need private functions in gtktextdisplay.c
3653
3654         * gtk/gtktextiterprivate.h: underscore-ification
3655
3656         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
3657         to instead say "only useful to implement widgets"
3658
3659         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
3660         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
3661         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
3662
3663         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
3664         This function was completely broken
3665
3666         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
3667
3668         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
3669
3670         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
3671
3672         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
3673
3674         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
3675
3676         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
3677
3678         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
3679         gtk_paint_layout
3680
3681         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
3682         gtk_paint_layout
3683
3684         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
3685         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
3686         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
3687         which were not implemented.     
3688
3689         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
3690         insert_pixbuf signal. Rename delete_text to delete_range since it
3691         also deletes pixbufs and child anchors. This almost closes bug
3692         40245 (still need to deal with child anchors)
3693
3694         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
3695         insert_pixbuf, change signal names as appropriate, change types of
3696         signals taking marks/tags to have the specific type, not just
3697         G_TYPE_OBJECT
3698         
3699         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
3700         closes bug 40051
3701
3702         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
3703         unnecessary remove_contents() call
3704         (gtk_option_menu_class_init): add a "changed" signal, closes
3705         bug 40039
3706         (gtk_option_menu_update_contents): emit "changed" if the 
3707         active menu item changes
3708
3709         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
3710         cast to GtkObject, reported by Jonas Borgstrom
3711         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
3712         we can't do stuff with side effects in finalize. Instead, spew a
3713         warning if the loader isn't closed.
3714
3715         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
3716         colormap in here, non-X ports probably need to sync to this change
3717
3718         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
3719         assertion that colormap != NULL, you can set the colormap to NULL
3720         if you like.
3721         
3722         * Makefile.am: remove gtk-config-2.0
3723
3724         * configure.in: Use pkg-config to locate GLib. Remove
3725         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
3726         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
3727         Use pkg-config to locate Pango. Output correct Pango libs to
3728         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
3729
3730         * Makefile.am (pkgconfig_DATA): install only target-specific pc
3731         files
3732         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
3733         X11 pc files
3734
3735         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
3736         unref from here
3737
3738 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
3739
3740         * configure.in:
3741         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
3742
3743 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
3744
3745         * gtk/gtktextlayout.c
3746         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
3747         variable when moving back onto a single line.
3748
3749 2001-01-01  Havoc Pennington  <hp@redhat.com>
3750
3751         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
3752
3753         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
3754
3755         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
3756         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
3757
3758 2001-01-01  Havoc Pennington  <hp@redhat.com>
3759
3760         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
3761
3762         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
3763         GtkTextAttributes
3764
3765         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
3766         #40246
3767         (gtk_text_attributes_copy_values): rename from 
3768         gtk_text_attributes_copy
3769         (gtk_text_attributes_copy): a more standard GTK copy function, 
3770         which returns a new object
3771
3772 2001-01-01  Havoc Pennington  <hp@redhat.com>
3773
3774         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
3775         
3776         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
3777         don't fill in tree_view->priv->selection, kind of an unexpected
3778         side effect
3779
3780         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
3781         gtkintl.h
3782         
3783         * gtk/gtkcellrenderer.c: Remove definition of _ and include
3784         gtkintl.h
3785         (gtk_cell_renderer_get_property): remove calls to g_value_init
3786
3787         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
3788         gtkintl.h
3789
3790         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
3791         and include gtkintl.h
3792         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
3793         property names
3794
3795         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
3796         GtkTreeSelection
3797         (_gtk_tree_selection_new_from_with_view): rename, return
3798         GtkTreeSelection
3799         (_gtk_tree_selection_set_tree_view): rename with uscore
3800         (gtk_tree_selection_get_selected): fill in the "model" out param
3801         first, so it gets filled in even if we return at the top of the 
3802         function
3803         (gtk_tree_selection_real_select_all): add a comment and an else{}
3804         to clarify this a bit
3805         (gtk_tree_selection_real_unselect_all): add the same else{}
3806
3807         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
3808         set_tree_view to have underscore prefixes, move them to the
3809         private header, fix return type of new_with_tree_view
3810         (struct _GtkTreeSelection): mark struct
3811         fields private  
3812
3813         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
3814         GtkTreeModelFlags, not a guint
3815         (gtk_tree_path_prev): return gboolean not gint
3816         (gtk_tree_path_up): return gboolean not gint
3817
3818         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
3819         return GtkTreeModelFlags, not a guint
3820
3821         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
3822         that child model is non-null before unrefing it
3823         (g_value_int_compare_func): make this a qsort compare func, not 
3824         a boolean predicate
3825
3826         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
3827         (add -umn to the end), and mark it unimplemented
3828         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
3829         I don't see what it's for - doesn't the model always sort itself?
3830         (gtk_tree_model_sort_set_compare): this had the wrong signature
3831
3832         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
3833         Fix the docs to say that it destructively replaces existing
3834         attributes (previously said that it added attributes).
3835         (gtk_tree_view_column_set_visible): canonicalize bool before
3836         equality testing. Also, check for realization before
3837         hiding/showing the tree_column->window; if this window could exist
3838         before realization, then it's busted and needs fixing, we can't 
3839         create GDK resources pre-realization. Also, remove
3840         superfluous queue_resize(), since set_size() does that for us.
3841         (gtk_tree_view_column_set_col_type): check realization before 
3842         using tree_column->window
3843
3844         * gtk/gtktreedatalist.c: fix filename in copyright notice
3845
3846 2000-12-31  Havoc Pennington  <hp@pobox.com>
3847
3848         * gtk/gtktextview.c: Rearrange all the
3849         scroll-while-dragging-or-selecting code to be different, not
3850         necessarily better. ;-)
3851         (gtk_text_view_scroll_to_mark): Change this
3852         function to take within_margin as a fraction instead of a pixel
3853         value, and to take alignment arguments (indicating where to align 
3854         the mark inside the visible area)
3855         
3856         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
3857         to GtkObject
3858
3859         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
3860         behavior so that offsets past the end of the line are not 
3861         allowed, and an offset equal to the line length moves the iterator
3862         to the next line
3863         (gtk_text_iter_set_line_index): make parallel change
3864         (gtk_text_iter_get_bytes_in_line): add this function
3865         
3866         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
3867         of byte indexes off the end of the line; byte index at the end of
3868         the line now returns FALSE and doesn't fill in the requested
3869         values, byte index past the end of the line is an error.  Also,
3870         don't allow -1 offset anymore, since its meaning is unclear.
3871
3872         This change exposes some bug in visual cursor motion, where we
3873         end up with a huge invalid byte index; needs fixing. Symptom of 
3874         bug is a crash when you hit up arrow.
3875         
3876         (_gtk_text_line_char_locate): match the change to byte_locate
3877
3878         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
3879         from start of line properly. fixes bug reported by Mikael
3880         Hermansson where backspace would delete all text before the
3881         cursor.
3882
3883 2000-12-30  Tor Lillqvist  <tml@iki.fi>
3884
3885         * gdk/win32/gdkwindow-win32.c
3886         (gdk_window_impl_win32_get_visible_region): New function, as in
3887         the X11 backend.
3888         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
3889         instead of duplicating the same code here.
3890
3891         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
3892         GDK_COLORMAP macro.
3893
3894         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
3895         destroy function.
3896         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
3897         access that.
3898
3899         * gtk/gtk.def: Update.
3900
3901         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
3902
3903 2000-12-30  Havoc Pennington  <hp@pobox.com>
3904
3905         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
3906         colormap on input only windows, to avoid special cases all over
3907         the code for these windows.
3908
3909 2000-12-26  Tor Lillqvist  <tml@iki.fi>
3910
3911         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
3912         we are on a palettized display ("PseudoColor" in X11), as the code
3913         for that doesn't work anyway, and never has.
3914
3915 2000-12-22  Alexander Larsson  <alexl@redhat.com>
3916
3917         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
3918         Don't use isprint() for chars > 255.
3919
3920 2000-12-21  Havoc Pennington  <hp@redhat.com>
3921
3922         * tests/testtreeview.c: more work
3923
3924 2000-12-21  Alexander Larsson  <alexl@redhat.com>
3925
3926         * docs/README.linux-fb:
3927         Update the docs to the new pangoft2 way.
3928
3929 2000-12-21  Alexander Larsson  <alexl@redhat.com>
3930
3931         * configure.in:
3932         For linux-fb get the pangoft2 cflags and libs. This needs a recent
3933         pango version.
3934         Remove modules/linux-fb/Makefile.
3935
3936         * gdk/linux-fb/gdkdrawable-fb2.c:
3937         Render glyphs using freetype.
3938
3939         * gdk/linux-fb/gdkfb.h:
3940         Add new fb-specific functions needed for managing windows.
3941
3942         * gdk/linux-fb/gdkmain-fb.c:
3943         Remove gdk_font_init/fini() calls.
3944
3945         * gdk/linux-fb/gdkpango-fb.c:
3946         Remove old implementation. Use pangoft2 instead.
3947
3948         * gdk/linux-fb/gdkprivate-fb.h:
3949         Remove PangoFBFont and related stuff.
3950
3951         * gdk/linux-fb/gdkwindow-fb.c:
3952         Implement drawable->get_visible_region.
3953         Implement support for _gdk_window_set_child_handler () and
3954         _gdk_window_get_decorations().
3955
3956         * modules/Makefile.am:
3957         Remove linux-fb subdir.
3958
3959         * modules/linux-fb/*:
3960         Removed all.
3961         
3962 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
3963
3964         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
3965         calls, as they are no longer needed.
3966
3967         * gtk/gtktreemodelsort.c: Fix up the comparison code.
3968         
3969         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
3970         figure out how to emit a signal on an interface.
3971
3972 2000-12-20  Havoc Pennington  <hp@redhat.com>
3973
3974         * tests: new directory to contain tests, gtk/test* should move
3975         here sometime (with appropriate on-cvs-server hackery)
3976
3977         * tests/testtreeview.c, tests/Makefile.am: a test
3978         
3979         * configure.in (AC_OUTPUT): add tests/Makefile
3980
3981         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
3982         and "invisible_set" which were missing
3983
3984         * gtk/gtkrbtree.h: some cheesy indentation fix
3985         
3986 2000-12-20  Alexander Larsson  <alexl@redhat.com>
3987
3988         * gtk/gtkinvisible.c (gtk_invisible_realize):
3989         Attach the style to the window so that the style it is not
3990         leaked when unrealizing the window.
3991
3992 2000-12-18  Havoc Pennington  <hp@redhat.com>
3993
3994         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
3995         begin/end user action where appropriate
3996         (gtk_text_view_commit_handler): add begin/end user action
3997
3998         * gtk/gtktextbuffer.c: add begin/end user action signals, and
3999         bracket interactive operations with begin/end user action pair.
4000         
4001         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
4002         "interactive" arg from insert_text and delete_text signals.
4003         Add begin_user_action, end_user_action signals
4004         (gtk_text_buffer_begin_user_action): 
4005         (gtk_text_buffer_end_user_action): New functions to delimit 
4006         a user-visible action
4007
4008         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
4009         signals.
4010         
4011 2000-12-18  Havoc Pennington  <hp@redhat.com>
4012
4013         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
4014         was pretty non-working.
4015
4016         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
4017         by passing the length to g_utf8_validate().
4018
4019 2000-12-16  Havoc Pennington  <hp@pobox.com>
4020
4021         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
4022         Port to GObject, can go back in gdk-pixbuf after setting up 
4023         a gdk-pixbuf-marshal.h header over there.
4024
4025         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
4026         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
4027         args
4028         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
4029         set
4030         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
4031         here, do it when we create the buttons later
4032         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
4033         (gtk_tree_view_map): paranoia checks that column->button is shown 
4034         and unmapped
4035         (gtk_tree_view_size_request): only request visible children.
4036         Move header size calculation in here, for cleanliness, and 
4037         to maintain invariants for child widgets if we eventually 
4038         let users set different children inside the buttons
4039         (gtk_tree_view_map_buttons): factor out code to map buttons,
4040         since it was being called several times
4041         (gtk_tree_view_size_allocate_buttons): move_resize the drag
4042         windows instead of just moving them; their height may change 
4043         if we allow random widgets in there, or the theme changes.
4044         (gtk_tree_view_size_allocate): move button size allocation 
4045         above emitting the scroll signals, to ensure a sane state when we
4046         hit user code
4047         (gtk_tree_view_button_release): remove queue_resize after
4048         tree_view_set_size(), set_size() will handle any resize queuing
4049         that's needed
4050         (gtk_tree_view_focus_in): just queue a draw, don't fool with
4051         draw_focus goo
4052         (gtk_tree_view_focus): use gtk_get_current_event() and
4053         gdk_event_get_state()
4054         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
4055         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
4056         semicolon
4057         (gtk_tree_view_create_button): show the button here
4058         (gtk_tree_view_button_clicked): actually emit the clicked signal
4059         on the column
4060         (_gtk_tree_view_set_size): return right away if the size is
4061         unchanged, as a cheesy optimization
4062         (gtk_tree_view_setup_model): rename set_model_realized to 
4063         setup_model to match the flag that indicates whether we've 
4064         called it
4065         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
4066         exist, because set_scroll_adjustment does that and it shouldn't
4067         matter what order you call these in
4068         (gtk_tree_view_get_vadjustment): ditto
4069         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
4070         for paranoia
4071         (gtk_tree_view_set_headers_visible): call
4072         gtk_tree_view_map_buttons() instead of using cut-and-paste code
4073         (gtk_tree_view_append_column): clarify whether the return value
4074         is the count of columns before or after, and do the increment 
4075         separately from the return statement so you can tell from the code.
4076         (gtk_tree_view_remove_column): ditto
4077         (gtk_tree_view_insert_column): ditto
4078         (gtk_tree_view_get_column): remove g_return_if_fail for columns
4079         outside the existing range, the docs say that outside-range
4080         columns are allowed, so we handle them as documented. (Presumably
4081         this allows a nice loop with column != NULL as test.)
4082         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
4083         mean (left/right/center etc.).
4084         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
4085         (gtk_tree_view_expand_row): add docs
4086         (gtk_tree_view_collapse_row): add docs
4087
4088         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
4089         function to emit the clicked signal on a column
4090         
4091         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
4092         state of an event
4093         (gdk_event_get_time): don't treat GDK_SCROLL 
4094         as a button event, remove default case from switch so gcc 
4095         will whine if we don't explicitly handle all event types
4096
4097         * gtk/gtktreeselection.h: added some FIXME 
4098         
4099         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
4100         "columns" to "n_columns" and "column" to "columns" for clarity
4101
4102 2000-12-16  Havoc Pennington  <hp@pobox.com>
4103         
4104         * gtk/gtktextiter.c: General cleanup of the log attr iteration
4105         stuff. This should make e.g. the delete key work again in the
4106         text widget...
4107         (gtk_text_iter_forward_cursor_positions): handle negative count
4108         (gtk_text_iter_backward_cursor_positions): handle negative count
4109         (gtk_text_iter_forward_word_ends): handle negative count
4110         (gtk_text_iter_backward_word_starts): handle negative count
4111
4112         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
4113         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
4114         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
4115         GObject. No doubt will cause breakage.
4116
4117         * demos/gtk-demo/textview.c: remove hacks around
4118         non-GObject-ification of the text objects
4119
4120         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
4121         the text tag
4122         
4123 2000-12-14  Havoc Pennington  <hp@pobox.com>
4124
4125         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
4126         that we have Xrender
4127
4128 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
4129
4130         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
4131         Add two virtualized functions gdk_drawable_get_clip_region - to
4132         get the clip region when drawing.
4133         
4134         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
4135         use invalidate_region.
4136
4137         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
4138         region.
4139
4140         * acconfig.h configure.in: Check for Xft. For now, assume
4141         that if Xft is found, Pango was compiled with Xft support
4142         as well.
4143
4144         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
4145         gdk_colormap_query_color().
4146         
4147         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
4148         with Xft if appropriate.
4149
4150         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
4151         a pangoxft context if we have XFT and the environment
4152         variable GD_USE_XFT is set.
4153         
4154         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
4155         and also possibly an XftDraw structure.
4156
4157         * gtk/gtkfontsel.c: Handle the case where the font from the
4158         style doesn't match any of the fonts a bit better.
4159         
4160         * gtk/testgtk.c: Add tabs between directional segments for
4161         hebrew/arabic test. (Not really necessary, just a little
4162         prettier.)
4163
4164 2000-12-14  Havoc Pennington  <hp@redhat.com>
4165
4166         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
4167         reading a file
4168
4169 2000-12-14  Havoc Pennington  <hp@redhat.com>
4170
4171         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
4172         unused call to get_last_line()
4173
4174         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
4175         here until boxed is working (and maybe after that - we should
4176         really not gratuitously break old code)
4177
4178         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
4179         specific types for font_desc and tabs args, move them to
4180         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
4181         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
4182
4183         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
4184         use GTK_TYPE_POINTER for signal signatures as a hack-around
4185
4186         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
4187         PangoTabArray
4188
4189         * gtk/gtktextlayout.c (line_display_iter_to_index): 
4190         make static
4191         (line_display_index_to_iter): make static
4192
4193         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
4194         to marshal a string not a boxed
4195
4196         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
4197
4198         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
4199         since the UTF-8 isn't validated yet
4200
4201         * gtk/gtktextsegment.c (char_segment_check_func): don't require
4202         lines to end in '\n'
4203         
4204         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
4205         forward_to_delimiters, and grapheme boundaries
4206         (gtk_text_view_delete_from_cursor): properly handle non-newline
4207         delimiters, and grapheme boundaries
4208
4209         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
4210         to gtk_text_iter_forward_to_delimiters, and make it work properly
4211         if empty lines end with a character other than '\n'
4212
4213         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
4214         position
4215
4216 2000-12-15  Tor Lillqvist  <tml@iki.fi>
4217
4218         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
4219
4220         * gtk/gtk.def
4221         * gdk/gdk.def: Update.
4222
4223         * gdk/win32/gdkmain-win32.c
4224         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
4225         gdkmain-win32.c here.
4226
4227         * gdk/win32/makefile.mingw.in (all): No need to make
4228         gdk-win32res.o here, the makefile one step up will call us to make
4229         it.
4230
4231         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
4232         gdkkeys-win32.
4233
4234         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
4235
4236         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
4237         call to g_source_add().
4238
4239         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
4240         leak. Thanks to Andreas Kemnade.
4241
4242 2000-12-13  Havoc Pennington  <hp@pobox.com>
4243
4244         * gtk/gtktextbtree.h: Remove double _ in front of some functions
4245
4246         * gtk/gtktext*.[hc]: update accordingly
4247         
4248 2000-12-13  Havoc Pennington  <hp@pobox.com>
4249
4250         * gtk/gtktextbtree.h: Put _ in front of every function in this 
4251         header file
4252
4253         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
4254
4255 2000-12-13  Alex Larsson  <alexl@redhat.com>
4256
4257         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
4258         Add support for ps2 intellimouse.
4259
4260         * gdkkeyboard-fb.c:
4261         Move shift-F1 repaint handling to xlate handler only.
4262         
4263         * docs/README.linux-fb:
4264         Add imps2 to docs.
4265         Document the new refresh keys.
4266         
4267 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
4268
4269         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
4270
4271         * gtk/gtkbox.c: change property types from (u)long to (u)int for
4272         ::position and ::padding.
4273
4274         * gtk/gtkcontainer.c: make ::border_width an INT property.
4275
4276         * gtk/gtkpacker.c: make ::position an INT property.
4277
4278         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
4279         guard against NULL h/v scrollbars, since this is used at construction
4280         time.
4281
4282         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
4283         internal gtk_clist_constructor().
4284
4285         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
4286         gtk_ctree_constructor().
4287
4288         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
4289         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
4290
4291         * docs/reference/Makefile.am: fun stuff, disabled docs generation
4292         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
4293
4294         * gtk/gtkwidget.[hc]:
4295         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
4296         and gtk_widget_get().
4297         (gtk_widget_new): use g_object_new_valist().
4298         (gtk_widget_set): use g_object_set_valist().
4299
4300         * gtk/gtkobject.[hc]:
4301         removed gtk_object_arg_get_info(), gtk_object_getv(),
4302         gtk_object_query_args(), gtk_object_newv(),
4303         gtk_object_class_add_signals(),
4304         gtk_object_class_user_signal_new(),
4305         gtk_object_class_user_signal_newv(),
4306         gtk_object_arg_set(), gtk_object_arg_get(),
4307         gtk_object_args_collect(),
4308         gtk_object_default_construct(),
4309         gtk_object_constructed(),
4310         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
4311         removed nsignals, signals and n_args members from GtkObjectClass.
4312         (gtk_object_new): use g_object_new_valist().
4313         (gtk_object_set): use g_object_set_valist().
4314         (gtk_object_get): use g_object_get_valist().
4315         
4316         * gtk/gtkcompat.h: define gtk_object_default_construct().
4317         
4318         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
4319         g_object_new().
4320
4321         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
4322         fucntions, cleaned up method assignments (make sure your structures
4323         are setup properly before calling out). removed all GTK_CONSTRUCTED
4324         hacks ;)
4325
4326 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
4327
4328         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
4329         off-by-one error in checks. (Dave Lambert)
4330
4331 2000-12-12  Alexander Larsson  <alexl@redhat.com>
4332
4333         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
4334         Don't free gdk_fb_keyboard twice.
4335
4336 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
4337
4338         * gtk/testgtk.c:
4339         (create_tooltips): 
4340         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
4341         use GObject swapped_signal:: properties instead.
4342
4343         * gtk/gtkcellrenderertoggle.c: 
4344         * gtk/gtkcellrenderertextpixbuf.c: 
4345         * gtk/gtkcellrenderertext.c: 
4346         * gtk/gtkcellrendererpixbuf.c: 
4347         * gtk/gtkcellrenderer.c:
4348         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
4349         missing warnings for invalid property ids, install properties
4350         with g_object_class_install_property() now.
4351         
4352         * gtk/gtksignal.c:
4353         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
4354         
4355 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
4356         
4357         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
4358         to determine if a window is the focus widget within
4359         its toplevel.
4360
4361         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
4362         to be boolean.
4363
4364         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
4365         of the case where the container CAN_FOCUS to here instead
4366         of having it in each individual move-the-focus place.
4367
4368         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
4369         focusing to be geometric in a much more obvious sense. Arrowing
4370         around is still non-intuitive because it isn't perfect and
4371         because entries, etc, grab the arrow keys, but it at least
4372         usually will do what you expect now.
4373         
4374         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
4375         file.
4376
4377         * gtk/gtknotebook.c: Change tabs to be a single item in
4378         the focus chain. Make movement of focus on tabs with arrow
4379         keys wrap around.
4380         
4381         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
4382         CHECK_FIND_CHILD macro to give informative error messages
4383         instead of silent returns.
4384
4385         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
4386         flag since we handle GdkReturn on the tabs.
4387
4388         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
4389         windows rather than sending expose events directly.
4390
4391         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
4392         definition for GtkNotebookPage into .c file, since it is private.
4393
4394         * gtk/testgtk.c (create_notebook): Add option for 
4395         testing borderless notebook.
4396
4397         * gtk/testgtk.c (page_switch): Removed egregious poking
4398         around in GTK+ internals.
4399
4400         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
4401
4402         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
4403         properly through gtk_clist_focus. Make the title headers a
4404         single item in the tab-focus chain, and make left-right wrap
4405         around.
4406
4407         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
4408         focus method so that wrapping around works properly.
4409
4410         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
4411         that is handled for the widget now. 
4412
4413 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
4414
4415         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
4416         widgets as TOPLEVEL.
4417
4418         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
4419         TOPLEVEL widgets are containers.
4420
4421         * gtk/gtkinvisible.h: Remove useless include.
4422
4423 2000-12-11  Havoc Pennington  <hp@redhat.com>
4424
4425         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
4426         Handle chopping off \r\n and 0x2029 in addition to \n before
4427         passing to PangoLayout
4428
4429         * gtk/gtkimcontextsimple.c
4430         (gtk_im_context_simple_get_preedit_string): 
4431         return an empty string if no match is pending
4432
4433         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
4434         assertion that the returned preedit string was sane
4435
4436         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
4437         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
4438         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
4439
4440 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
4441
4442         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
4443         Fix up finalizer to chain to its parent.
4444
4445 2000-12-11  Alexander Larsson  <alexl@redhat.com>
4446
4447         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
4448         Clearified the difference between the keyboard types. Wrote a note
4449         about the magic sysrq key to get out of raw mode.
4450
4451 2000-12-09  James Henstridge  <james@daa.com.au>
4452
4453         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
4454         member to hold masks for detecting the start of a protocol packet.
4455         (mouse_devs): add packet start masks for ps2 and ms device types.
4456         Left the mask for fidmour blank, as I have no idea what it should
4457         be.
4458         (handle_mouse_io): skip bytes until we get to the start of a
4459         packet.  My Logitech mouse seems to be passing an extra NULL pad
4460         byte, and GPM does a similar thing here.
4461         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
4462         this is the ms mouse driver.
4463         (gdk_fb_mouse_ms_packet): fix up button handling, which was
4464         completely broken except for button1.  It was checking the wrong
4465         bit in the packet for the status of the right mouse button, and
4466         wrongly assuming right == button2 rather than 3.  I fixed that and
4467         also added support for middle button (button2).
4468
4469 2000-12-08  Havoc Pennington  <hp@redhat.com>
4470
4471         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
4472         that cause a segfault on text insertion
4473
4474         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
4475         warning
4476
4477         * gtk/gtktextiter.c (test_log_attrs): use
4478         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
4479
4480         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
4481         Get log attrs for a line, using a cache stored on the buffer
4482         
4483         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
4484         reported by Jeff Franks
4485
4486 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4487
4488         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
4489         /dev/ttyS0 -> /dev/mouse
4490
4491 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4492
4493         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
4494         Added dummy gdk_fontset_load.
4495
4496 2000-12-08  Alexander Larsson  <alexl@redhat.com>
4497
4498         * docs/README.linux-fb:
4499         * docs/Makefile.am:
4500         Initial GtkFB docs.
4501         
4502         * gdk/linux-fb/Makefile.am:
4503         Define GDK_DATA_PREFIX.
4504
4505         * gdk/linux-fb/gdkmain-fb.c:
4506         Fix typo.
4507         Change default display to /dev/fb0.
4508
4509         * gdk/linux-fb/gdkpango-fb.c:
4510         Add $(prefix)/share/fonts/ to font path.
4511         
4512 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4513
4514         * gdk/linux-fb/gdkkeyboard-fb.c:
4515         New file containing the abstracted keyboard driver. Most code
4516         taken from gdkinput-ps2.c
4517
4518         * gdk/linux-fb/gdkinput-ps2.c:
4519         Removed file.
4520         
4521         * gdk/linux-fb/Makefile.am:
4522         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
4523
4524         * gdk/linux-fb/gdkcolor-fb.c:
4525         display->fb was renamed to display->fb_fd.
4526
4527         * gdk/linux-fb/gdkcursor-fb.c:
4528         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4529
4530         * gdk/linux-fb/gdkinput.c:
4531         Moved gdk_input_init here from gdkinput-ps2.c
4532
4533         * gdk/linux-fb/gdkmain-fb.c:
4534         display->fb was renamed to display->fb_fd.
4535         Now the tty and the console is opened here instead
4536         of in the keyboard driver. Also check GDK_VT to see what
4537         tty to open.
4538         Move gdk_beep () here from gdkinput-ps2.c
4539         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4540
4541         * gdk/linux-fb/gdkmouse-fb.c:
4542         Add header.
4543         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4544         Return correct keyboard modifiers.
4545         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
4546
4547         * gdk/linux-fb/gdkprivate-fb.h:
4548         Add tty and vt info to display.
4549         Add orignal modeinfo storage to display
4550         Update global functions
4551
4552         * gdk/linux-fb/gdkwindow-fb.c:
4553         Added gdk_fb_window_find_focus().
4554         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4555
4556 2000-12-07  Havoc Pennington  <hp@pobox.com>
4557
4558         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
4559         function, noticed by Alex
4560
4561 2000-12-06  Elliot Lee  <sopwith@redhat.com>
4562
4563         * configure.in: Detect freetype properly
4564
4565         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
4566         above.
4567
4568 2000-12-06  Alexander Larsson  <alexl@redhat.com>
4569
4570         * gdk/linux-fb/Makefile.am:
4571         Add gdkmouse-fb.c
4572         
4573         * gdk/linux-fb/gdkmouse-fb.c:
4574         New file. Abstracted the mouse drivers a bit.
4575
4576         * gdk/linux-fb/gdkcursor-fb.c:
4577         The cursor hide/show functions was moved here from gdkinput-ps2.c.
4578
4579         * gdk/linux-fb/gdkinput-ps2.c:
4580         Removed old mouse handling code. Moved cursor handling code
4581         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
4582         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
4583         gdk_mouse_get_info.
4584
4585         * gdk/linux-fb/gdkmain-fb.c:
4586         Pass NULL pointers for x,y in gdk_mouse_get_info call.
4587
4588         * gdk/linux-fb/gdkprivate-fb.h:
4589         Removed public gdk_fb_find_common_ancestor, added and renamed
4590         functions for the new mouse handling code.
4591
4592         * gdk/linux-fb/gdkwindow-fb.c:
4593         Moved gdk_fb_window_send_crossing_events here. added global
4594         variable gdk_fb_window_containing_pointer. made
4595         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
4596         renamed to gdk_mouse_get_info.
4597
4598 2000-12-06  Alexander Larsson  <alexl@redhat.com>
4599
4600         * gdk/linux-fb/gdkevents-fb.c:
4601         Update to match latest gmain/gsource changes.
4602
4603         * gdk/linux-fb/gdkinput-ps2.c:
4604         Bogus gdk_keymap_get_entries_for_keycode implementation so that
4605         it links. Will be implemented later.
4606
4607 2000-12-03  Havoc Pennington  <hp@pobox.com>
4608
4609         * gdk/Makefile.am: add gdkkeys.[hc]
4610
4611         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
4612         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
4613
4614         * acconfig.h, configure.in: add checks and command line options
4615         for XKB
4616
4617         * gdk/x11/gdkkeys-x11.c: Implement the above functions
4618         
4619         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
4620         and group in the key event
4621
4622         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
4623         field with the low-level hardware key code, and a group
4624         field with the keyboard group
4625
4626         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
4627         and declare a couple globals used for keymap handling
4628         
4629         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
4630         hold down Shift-Control and type a hex number to get a Unicode 
4631         character corresponding to the hex number
4632         (gtk_im_context_simple_get_preedit_string): Fix cursor position
4633         (return bytes not chars)
4634
4635 2000-12-05  Elliot Lee  <sopwith@redhat.com>
4636
4637         * gdk/gdkcolor.h: Make GdkColor specify element sizes
4638         to avoid waste on 64-bit platforms.
4639
4640 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
4641
4642         * INSTALL: Fix link to PNG home, remove reference
4643         to fribidi.
4644
4645         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
4646         
4647         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
4648         tested.)
4649
4650         * gtk/gtkcheckmenuitem.c: Permanently turn on
4651         always_show_toggle.
4652
4653         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
4654         be NULL. (Vladimir Klebanov, #26545)
4655
4656         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
4657         some signed/unsigned comparison problems. (#6510,
4658         David Kaelbling)
4659
4660         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
4661         return type to boolean (Oskar Liljeblad, #18648)
4662
4663 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4664
4665         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
4666         Remove bogus colormap setting.
4667
4668 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4669
4670         * gdk/linux-fb/gdkcolor-fb.c:
4671         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
4672
4673         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
4674         Must set colormap.
4675         
4676 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
4677
4678         * docs/tutorial/gtk-tut.sgml: DND updates
4679
4680 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
4681
4682         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
4683         Remove old debug g_warning().
4684         (gdk_fb_draw_drawable): The src argument can be either a wrapper
4685         or an implementation, just pass the implementation to draw_drawable_2.
4686         
4687         * gdk/linux-fb/gdkprivate-fb.h:
4688         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
4689
4690         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
4691         clear and invalidate area when window is destroyed.
4692         (send_map_events): Remove old commented out code.
4693
4694 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4695
4696         * gdk/linux-fb/gdkpango-fb.c:
4697         Use italic instead of oblique in font aliases.
4698         
4699         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
4700         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
4701         other unsupported functions.
4702
4703 2000-12-04  Havoc Pennington  <hp@redhat.com>
4704
4705         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
4706
4707         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
4708
4709         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
4710
4711         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
4712         hack to avoid infinite loops (synthetic expose event) - 
4713         Owen has more appropriate fixes in a branch he'll check in later.
4714
4715         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
4716         separator, CR, and CRLF as line ends
4717
4718         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
4719         into lines using pango_find_paragraph_boundary(); other bits of
4720         the widget are still going to be broken if the boundary isn't '\n'
4721         though
4722
4723 2000-12-04  Alexander Larsson  <alexl@redhat.com>
4724
4725         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
4726         multiply.
4727
4728         * gdk/linux-fb/gdkpango-fb.c:
4729         Copied some 26.6 scaling macros from pango to clean up the rounding.
4730         (pango_fb_font_get_glyph_info): Correct sign on x value.
4731
4732         * gdk/linux-fb/gdkprivate-fb.h:
4733         Removed unreferenced external functions.
4734
4735         * modules/linux-fb/Makefile.am: Use ` instead of '.
4736
4737         * modules/linux-fb/basic.c:
4738         Remove dead code. In particular the dummy lang engine which broke all
4739         pango layouts in GtkFB. Don't include tables-big.i anymore.
4740
4741         * modules/linux-fb/tables-big.i:
4742         Upgrade to latest version from pango. Left for reference, basic_ranges
4743         moved to basic.c.
4744         
4745 2000-12-04  Havoc Pennington  <hp@redhat.com>
4746
4747         Fix bugs Alex found:
4748         
4749         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
4750         to "draw"
4751
4752         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
4753
4754         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
4755
4756         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
4757         implementation in here, apparently the expose() implementation was
4758         dead code.
4759
4760 2000-12-04  Alexander Larsson  <alexl@redhat.com>
4761
4762         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
4763         Return positive descent.
4764
4765 2000-12-02  Havoc Pennington  <hp@pobox.com>
4766
4767         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
4768         method and signal
4769         
4770         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
4771         calls gdk_window_process_updates() to push the exposes through
4772         (gtk_widget_class_init): No more draw signal, no
4773         gtk_widget_real_draw()  
4774         
4775         * gtk/gtkbin.c (gtk_bin_draw): remove
4776
4777         * gtk/gtkbox.c (gtk_box_draw): remove
4778
4779         * gtk/gtkbutton.c (gtk_button_draw): remove
4780
4781         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
4782
4783         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
4784
4785         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
4786
4787         * gtk/gtkclist.c (gtk_clist_draw): remove
4788
4789         * gtk/gtkentry.c (gtk_entry_draw): remove
4790
4791         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
4792
4793         * gtk/gtkfixed.c (gtk_fixed_draw): remove
4794
4795         * gtk/gtkframe.c (gtk_frame_draw): remove
4796
4797         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
4798
4799         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
4800
4801         * gtk/gtklayout.c (gtk_layout_draw): remove
4802
4803         * gtk/gtklist.c (gtk_list_draw): remove
4804
4805         * gtk/gtklistitem.c (gtk_list_item_draw): remove
4806
4807         * gtk/gtkmenu.c (gtk_menu_draw): remove
4808
4809         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
4810
4811         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
4812
4813         * gtk/gtknotebook.c (gtk_notebook_draw): remove
4814
4815         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
4816
4817         * gtk/gtkpacker.c (gtk_packer_draw): remove
4818
4819         * gtk/gtkrange.c (gtk_range_draw): remove
4820
4821         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
4822
4823         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
4824
4825         * gtk/gtktable.c (gtk_table_draw): remove
4826
4827         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
4828
4829         * gtk/gtktext.c (gtk_text_draw): remove
4830
4831         * gtk/gtktextview.c (gtk_text_view_draw): remove
4832
4833         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
4834
4835         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
4836
4837         * gtk/gtktree.c (gtk_tree_draw): remove
4838
4839         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
4840
4841         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
4842
4843         * gtk/gtkviewport.c (gtk_viewport_draw): remove
4844
4845         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
4846
4847         * gtk/gtkvscale.c (gtk_vscale_draw): remove
4848
4849         * gtk/gtkwindow.c (gtk_window_draw): remove
4850
4851 2000-20-01  Anders Carlsson  <andersca@gnu.org>
4852
4853         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
4854         a GtkToggleButton is both insensitive and active, it was being
4855         drawn by the GtkButton draw handler which doesn't check the
4856         state. Now it's calling gtk_toggle_button_paint instead.
4857         
4858 2000-12-01  Havoc Pennington  <hp@redhat.com>
4859
4860         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
4861         dangling pointers to the appearance attributes from the 
4862         line display
4863
4864         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
4865         width/height to mean "full width/height of drawable"
4866
4867         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
4868         click to select word/line
4869         
4870         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
4871         when getting log attrs. Get a slice, so that pixmaps and stuff
4872         are properly handled.
4873
4874         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
4875         paste into the selection (replaces selection now, previously
4876         crashed or added to selection). Reveals longstanding btree bug -
4877         select multiple lines, middle-click on the selection, boom. This
4878         isn't related to my changes though.
4879
4880         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
4881         PangoLogAttrs changes
4882         (gtk_entry_move_backward_word): ditto
4883
4884         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
4885         functions return bool whether the iter moved onto a
4886         dereferenceable position.
4887  
4888         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
4889         functions for motion in terms of display lines.
4890
4891         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
4892         get the buffer a mark is inside
4893         
4894 2000-12-01  Alexander Larsson  <alexl@redhat.com>
4895
4896         * gdk/linux-fb/Makefile.am:
4897         * modules/linux-fb/Makefile.am:
4898         Freetype 2 final uses freetype-config
4899
4900         * gdk/linux-fb/gdkpango-fb.c:
4901         Upgrade to use Freetype 2 final.
4902         More flexible support for font aliases, this also fixes a bug with
4903         GtkFontSelector, as the aliases must be visible in the font/family list,
4904         or GtkFontSelector reads uninitialized memory.
4905
4906 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
4907
4908         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
4909         XGetIMValues to properly terminate variable argument list, and do
4910         NULL return check for ic_values and xim_styles.
4911
4912         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
4913         Restore preedit state after XmbResetIC().
4914         
4915         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
4916         XvaCreateNestedList() should take XvaNestedList, but not
4917         XvaNestedList*.
4918
4919         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
4920         preedit_draw_callback, preedit_caret_callback): Match
4921         "preedit-changed" signal name to "preedit_changed" to be
4922         consistent to the spec.
4923
4924         * gtk/gtkimcontextsimple.c (check_table):
4925         Match "preedit-changed" to "preedit_changed" to be consistent
4926         to the spec.
4927
4928 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
4929
4930         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
4931         gc->clip_region == NULL>
4932
4933 2000-11-30  Tor Lillqvist  <tml@iki.fi>
4934
4935         Changes by Hans Breuer:
4936         
4937         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
4938         Dont't use negative width and height as max_hints. This fixes
4939         Owen's recent testgtk changes for win32.
4940
4941         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
4942         gdk_win32_hdc_release): These are exported and may be called with
4943         other drawable types than our GdkDrawableImplWin32 (?).
4944
4945         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
4946         so always #define USE_BACKING_STORE.
4947
4948         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
4949         of printf for debugging output.
4950
4951         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
4952         
4953         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
4954
4955         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
4956         declaration.
4957
4958         * gtk/gtktexttypes.h: Ditto.
4959
4960         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
4961         (GDK_VoidSymbol) also if in case of arg check failure.
4962
4963         * gtk/gtkimcontextsimple.c
4964         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
4965         position to the pointer, but to the variable it points to.
4966
4967         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
4968
4969         * gtk/gtk.def: Updates.
4970
4971 2000-11-29  Elliot Lee  <sopwith@redhat.com>
4972
4973         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
4974         GTK_TYPE_TREE_MODEL.
4975
4976 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4977
4978         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
4979         Set the size of the font from the description.
4980         (gdk_text_width): Gross hack that calculates the width
4981         of text by text_length * size/2. This is necessary because
4982         GtkLabel does some ugly gtk_string_width call to calculate
4983         an good size.
4984         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
4985
4986 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
4987
4988         * docs/tutorial/gtk-tut.sgml: DND updates
4989
4990 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4991
4992         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
4993         If you pass width or height == 0 to gdk_window_clear_area they
4994         should be calculated from the window size.
4995
4996 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4997
4998         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
4999         a grab, but no grab-cursor, use the cursor from the grabbed
5000         window. (gdk_fb_window_send_crossing_events): Send normal
5001         enter/leave notifications if grab and owner_events == TRUE.
5002
5003 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5004
5005         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
5006         Do implicit button grabs, even if the window doesn't
5007         want the event.
5008         (gdk_fb_window_send_crossing_events): If there is a
5009         grab, only the grabbed window gets normal enter/leave
5010         notifications. On ungrab go from grabbed window to current.
5011         Don't send any notification to b when propagating from c -> b.
5012         If setting a grab on window, don't set prev_window.
5013         (handle_mouse_input): Send enter/leave events to the window the
5014         mouse is over, not the grabbed one.
5015         
5016 2000-11-28  Elliot Lee  <sopwith@redhat.com>
5017
5018         * gdk/gdkregion-generic.c: Zap warning.
5019         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
5020         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
5021
5022 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
5023
5024         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
5025         The cursor should be hidden if it is part of either the
5026         source or destination region. Not only if it is in both.
5027         (gdk_window_set_transient_for): Silence warnings.
5028
5029 2000-11-28  Alexander Larsson  <alexl@redhat.com>
5030
5031         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
5032         The default mode in X is Pie Arcs, therefore that is
5033         what Gtk+ uses.
5034
5035 2000-11-28  Alexander Larsson  <alexl@redhat.com>
5036
5037         * gdk/linux-fb/gdkinput-ps2.c:
5038         Implement correct EnterNotify/LeaveNotify:
5039         (gdk_fb_window_send_crossing_events): New function that sends
5040         all GdkCrossingEvents from the last mouse-window to the specified
5041         destination.
5042         (gdk_fb_window_visibility_crossing): Removed function.
5043         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
5044         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
5045         instead of gdk_window_get_pointer() for better readability.
5046
5047         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
5048         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
5049
5050         * gdk/linux-fb/gdkprivate-fb.h:
5051         removed gdk_fb_window_visibility_crossing, added
5052         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
5053
5054         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
5055         New function that finds the least common ancestor of two windows.
5056         (gdk_window_show, gdk_window_hide):
5057         Use gdk_fb_window_send_crossing_events.
5058         (gdk_fb_window_move_resize): Send configure events to toplevel
5059         windows. Use gdk_fb_window_send_crossing_events.
5060
5061 2000-11-27  Havoc Pennington  <hp@redhat.com>
5062
5063         * gtk/gtkprivate.h (enum): Remove a trailing comma
5064
5065 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
5066
5067         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
5068         the "changed" callback of the adjustment.  We need to redraw the
5069         spin button's arrows when the adjustment's range changes.
5070         (adjustment_changed_cb): Draw the arrows.
5071         (gtk_spin_button_value_changed): Draw the arrows.
5072
5073 2000-11-23  Alexander Larsson  <alexl@redhat.com>
5074
5075         * gdk/linux-fb/gdkselection-fb.c:
5076         Initial selection implementation.
5077
5078         * gtk/gtkselection.c:
5079         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
5080         requestor in gtk_selection_request.
5081         
5082         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
5083         Added gdk_selection_property atom.
5084
5085         * gdk/linux-fb/gdkprivate-fb.h:
5086         Export _gdk_selection_window_destroyed.
5087         Removed mask_off_x/y from GdkCursorPrivateFB.
5088         Removed hbearing, added top, left to PangoFBGlyphInfo.
5089
5090         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
5091         Call _gdk_selection_window_destroyed
5092         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
5093         the root window has been created.
5094         (static_dx_hack, static_dy_hack, compare_draw_rects,
5095         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
5096         in region. They are already sorted. Instead just traverse them in
5097         reverse if draw_direction < 0.
5098         
5099         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
5100         Double-clicks must be sent after the normal button_press.
5101         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
5102         
5103         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
5104         Pass _gdk_fb_screen_gc instead of NULL.
5105
5106         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
5107         Initialize gdk_selection_property.
5108         (gdk_event_make): Remove unused code.
5109
5110         * gdk/linux-fb/gdkcursor-fb.c:
5111         Make the pixmap for the cursor the same size as the mask. Also remove
5112         the mask_off_x/y fields in GdkCursorPrivateFB and combine
5113         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
5114         Now the whole cursor is visible.
5115
5116         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
5117         Fix bug where xdest+height instead of ydest+height was used
5118         to calculate if the source and dest overlapped. This fixes the
5119         redraw bug when the main window in testgtk was scrolled when
5120         partially covered by a tall window.
5121         Copy rectangles in region in order depending on draw_direction.
5122         Also moved the draw_direction flipping of start_y and end_y into
5123         the gc functions, as this might not be what all of them want.
5124         (gdk_fb_draw_lines): Support dashed lines.
5125         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
5126         so that the text is positioned correctly (was 1 pixel high).
5127
5128         gdk/linux-fb/gdkgc-fb.c:
5129         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
5130         all lines were drawn a pixel to short. Also checked the default of
5131         the rest of the values, and they're the same as X now.
5132
5133         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
5134         Clean up pixel positioning of the glyphs. Just use bgy->top and
5135         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
5136         to all divisions to get correct rounding behaviour.
5137
5138         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
5139         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
5140         Moved start_y/end_y flip into draw_drawable implementations.
5141         Flip also x rendering when draw_direction < 0.
5142         Remove unneccesary multiply with draw_direction.
5143
5144 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
5145
5146         * docs/tutorial/gtk-tut.sgml:
5147           - get rid of gtk_toggle_button_toggled FUD
5148           - start DND section - needs work - based on:
5149                 http://wolfpack.twu.net/docs/gtkdnd/
5150
5151 2000-11-22  Alexander Larsson  <alexl@redhat.com>
5152
5153         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
5154         Correct calculation of font metrics. Now GtkEntrys have sane
5155         size.
5156
5157 2000-11-22  Alexander Larsson  <alexl@redhat.com>
5158
5159         * gdk/gdktypes.h:
5160         Add new type GdkSpan
5161         
5162         * docs/reference/gdk/gdk-sections.txt,
5163         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
5164         gdk/gdkregion.h:
5165         Implement and document gdk_region_spans_intersect_foreach.
5166
5167         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
5168         Add new file gdkrender-fb.c which contains all core
5169         rendering code.
5170         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
5171         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
5172         (optimized rectangle fillers).
5173
5174         * gdk/linux-fb/gdkdrawable-fb2.c:
5175         Move all rendering code to gdkrender-fb.c.
5176         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
5177         Use the new span intersection functions in gdk_fb_fill_spans.
5178         gdk_fb_draw_rectangle() clips filled rectangles and calls
5179         gc->fill_rectangle with the result.
5180         gdk_fb_fill_spans() gets extra argument "sorted".
5181
5182         * gdk/linux-fb/gdkevents-fb.c:
5183         Remove unused includes and defines.
5184         New function gdk_fb_get_time() to get correct time for events.
5185
5186         * gdk/linux-fb/gdkinput-ps2.c:
5187         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
5188         Make sure to set the time of all events.
5189
5190         * gdk/linux-fb/gdkmain-fb.c:
5191         Use gdk_fb_get_time ().
5192
5193         * gdk/linux-fb/gdkprivate-fb.h:
5194         New virtual GC calls: fill_span & fill_rectangle.
5195         Export gdk_fb_get_time().
5196         gdk_fb_fill_spans() gets extra argument "sorted".
5197
5198         * gdk/linux-fb/mi*.c:
5199         Use GdkSpan instead of GdkRectangle.
5200         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
5201         from XFree 4 source)
5202         
5203 2000-11-22    <jrb@redhat.com>
5204
5205         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
5206         reversing the order in an if statement will do.  Doing so managed
5207         to make the treemodelsort half work.  Other half will follow after
5208         I get the insert function fully fixed.
5209
5210 2000-11-21  Elliot Lee  <sopwith@redhat.com>
5211         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
5212         more than 2 bits. Besides, I need to implement an evil hack. :)
5213
5214 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
5215
5216         * docs/tutorial/gtk-tut.sgml: minor corrections
5217
5218 2000-11-20  Jonathan Blandford <jrb@redhat.com>
5219         * gtk/gtktreemodelsort.h: Add convertion functions to let you
5220           convert to and from relative path's and iters.
5221
5222         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
5223           testing sorting functions a bit better.  Currently broken -- will
5224           fix in morning.
5225
5226 2000-11-20  Havoc Pennington  <hp@redhat.com>
5227
5228         * gtk/gtkwidget.c: Documented a bunch of functions in here
5229         (gtk_widget_realize): Warn if you try to realize
5230         a widget with no parent that isn't a toplevel
5231         (gtk_widget_intersect): return a gboolean
5232
5233 2000-11-20  Havoc Pennington  <hp@redhat.com>
5234
5235         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
5236         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
5237         scrolling to be implemented in GDK to finish. Also, right now
5238         we just size_allocate all children on every layout change,
5239         which is pretty lame. Test commented out of testtext.c, 
5240         until it works better.
5241
5242 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
5243
5244         * gdk/linux-fb/gdkdrawable-fb2.c:
5245         Removed unused arguments from gdk_fb_drawable_get_pixel().
5246
5247         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
5248         Renamed fidur specific mouse packet data in MouseDevice to
5249         generic. Used it in ps2 mouse handling code to avoid blocking
5250         reads.
5251
5252 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
5253
5254         * demos/gtk-demo/main.c: Changed to have the list become
5255         non-italic when the demo window is destroyed through an external
5256         event (like a close button).  Doing so found three bugs in the
5257         widget.
5258
5259         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
5260
5261         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
5262         we actually set the cell.
5263
5264         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
5265
5266         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
5267         free a leaked path.  Thanks memprof.
5268
5269 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
5270
5271         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
5272         off-by-one error when destroying allocated segments
5273         on failure. (Elliot)
5274
5275 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
5276
5277         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
5278         memleaks found by Evan Martin.
5279
5280 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
5281
5282         * Released 1.3.2
5283         
5284         * NEWS: Updates for 1.3.2
5285
5286 2000-11-17  Tor Lillqvist  <tml@iki.fi>
5287
5288         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
5289         but in general for window system specific events.
5290
5291         * gtk/gtk.def
5292         * gtk/makefile.mingw.in
5293         * gtk/makefile.msc.in: Update.
5294         
5295         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
5296
5297 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
5298
5299         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
5300         distribute gtk.immodules.
5301
5302         * gtk/Makefile.am (install-data-local): Don't install the
5303         gtk.immodules file created for the uninstalled modules;
5304         instead run gtk-query-immodules after install
5305
5306 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
5307
5308         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
5309         -rpath to the right install location.
5310
5311         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
5312         -export-dynamic.
5313
5314         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
5315         properly.
5316
5317 2000-11-15  Havoc Pennington  <hp@pobox.com>
5318
5319         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
5320         patch from Mikael Hermansson to temporarily stop blinking while
5321         the user is using the keyboard to type or navigate. 
5322
5323         Also, when blinking, stay on for longer than we stay off. Also,
5324         return from start_cursor_blink if !cursor_visible, to save
5325         checking that flag all over the place before we call
5326         start_cursor_blink.
5327
5328 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
5329
5330         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
5331         only contain a "fontset" line, which is now ignored.
5332
5333         * gtk/gtkentry.c (gtk_entry_button_release): Make 
5334         double-click-to-select-word work.
5335         
5336 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
5337
5338         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
5339         Don't move back one char when we are actually at the end of the 
5340         paragraph.
5341
5342 2000-11-15  Robert Brady  <robert@suse.co.uk>
5343
5344         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
5345         'o' < 'p'.
5346         
5347         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
5348         bind_textdomain_codeset.
5349
5350         (gtk_init_check): Make the warning about translating default:LTR
5351         sterner.
5352         
5353 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
5354
5355         * **/Makefile.am : remove unecessary rules for win32-specific
5356         config-substituted targets. If you want these rules, use
5357         --enable-maintainer-mode (called automatically by autogen.sh).
5358         Stops a lot of unneccessary make-time warnings.
5359
5360         * gtk/gtktext{layout,display}.c: Factor in total width as
5361         well as screen when figuring alignment for word-wrap as well as
5362         no wrap; this is necessary to handle lines that cannot be wrapped
5363         at all.
5364
5365 2000-11-15  Havoc Pennington  <hp@redhat.com>
5366
5367         * gtk/testtext.c: Implement essential color cycling feature
5368
5369 2000-11-15  Havoc Pennington  <hp@redhat.com>
5370
5371         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
5372         when we invalidate the main window.
5373
5374         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
5375         GtkTextView will now invalidate the side windows for us when text
5376         changes.
5377
5378 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
5379
5380         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
5381         unconditionally, since we may need to update the horizontal
5382         scrollbars even if the height didn't change.
5383
5384         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
5385         the extra attrs, since some of them affect size.
5386
5387         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
5388         x_offset correctly.
5389
5390 2000-11-15  Havoc Pennington  <hp@redhat.com>
5391
5392         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
5393         don't move the first line out into the margin, instead move the
5394         whole paragraph in order to make space for the first line within 
5395         the margin
5396
5397 2000-11-15  Havoc Pennington  <hp@redhat.com>
5398
5399         * gtk/gtktextview.c (changed_handler): offset redraw rect by
5400         xoffset in addition to yoffset, so horizontal scrolling doesn't
5401         break redraws
5402
5403 2000-11-15  Havoc Pennington  <hp@redhat.com>
5404
5405         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
5406         from the cursor
5407         (render_layout_line): fix reversed test that caused weird
5408         underlines to get drawn
5409
5410 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
5411
5412         * gdk/linux-fb/gdkprivate-fb.h:
5413         Fix debug macros.
5414         
5415 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
5416
5417         * gdk/linux-fb/gdkprivate-fb.h:
5418         Added virtual functions set_pixel, get_color,
5419         fill_span and draw_drawable to the GC.
5420         Added global _gdk_fb_screen_gc to use instead of
5421         NULL when drawing to the screen.
5422         Added _gdk_fb_gc_calc_state() prototype.
5423
5424         * gdk/linux-fb/gdkgc-fb.c:
5425         Call _gdk_fb_gc_calc_state() on any gc state change.
5426
5427         * gdk/linux-fb/gdkglobals-fb.c:
5428         Add _gdk_fb_screen_gc
5429                 
5430         * gdk/linux-fb/gdkdrawable-fb2.c:
5431         _gdk_fb_gc_calc_state() calculates best functions
5432         for the GC state and depth.
5433         Moved bpp specialized code to separate functions.
5434         Added optimized 24 bpp AA draw_drawable.
5435
5436         * gdk/linux-fb/gdkevents-fb.c:
5437         Silence gcc warning.
5438
5439         * gdk/linux-fb/gdkimage-fb.c:
5440         Use _gdk_fb_screen_gc
5441
5442         * gdk/linux-fb/gdkwindow-fb.c:
5443         Init and use _gdk_fb_screen_gc
5444
5445         * gdk/linux-fb/mitypes.h:
5446         Remove unused types.
5447
5448 2000-11-14  Havoc Pennington  <hp@pobox.com>
5449
5450         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
5451         to pixels
5452
5453 2000-11-14  Havoc Pennington  <hp@pobox.com>
5454
5455         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
5456
5457         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
5458         unknown char, no real reason we were using a variable. 
5459         Remove gtk_text_unknown_char variable. Fix all the text widget
5460         files accordingly.
5461
5462         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
5463         since the Unicode spec seems to prefer that character for our
5464         purposes.
5465
5466 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
5467
5468         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
5469         value of g_getenv() isn't freeable, so g_strdup it.
5470
5471         * modules/input/inuktitut.c: Inuktitut input method.
5472
5473         * modules/input/Makefile.am: Build this.
5474         
5475 2000-11-14  Elliot Lee  <sopwith@redhat.com>
5476
5477         * gtk/Makefile.am: Install gtk.immodules, needed for operation
5478         of gtk programs.
5479
5480 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
5481
5482         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
5483         reversed > that was causing Home to go to end of previous line.
5484
5485         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
5486         modified-keypresses (leave for bindings.)
5487
5488         * modules/input/Makefile.am: Remove useless -export-dynamic
5489         from module LDFLAGS.
5490
5491 2000-11-14  Havoc Pennington  <hp@redhat.com>
5492
5493         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
5494         higher.
5495
5496         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
5497         account. Also, render rise, underline, background, etc. for
5498         pixbufs as well as text. Also, draw underlines one pixel higher.
5499
5500         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
5501         PangoAttribute for the rise, so it gets drawn properly. Also,
5502         add the GtkTextAppearance attribute for pixbuf/widget segments
5503         as well; we should go ahead and have rise, underline, background,
5504         stipple work for those
5505
5506         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
5507         Pango
5508
5509 2000-11-15  Tor Lillqvist  <tml@iki.fi>
5510
5511         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
5512
5513         * gtk/gtk.def: Update.
5514
5515         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
5516         included.
5517         (gtk_rc_get_im_module_file): Use run-time installation directory
5518         on Win32.
5519
5520         * gdk/win32/rc/gdk.rc: Remove.
5521         * gdk/win32/rc/gdk.rc.in: New file.
5522         * gdk/win32/rc/Makefile.am: New file
5523         * gdk/win32/Makefile.am: Corresponding changes.
5524
5525         * gtk/gtk.rc: Remove.
5526         * gtk/gtk-win32.rc.in: New file.
5527         * gtk/Makefile.am: Corresponding changes.
5528
5529         * configure.in: Corresponding changes.
5530
5531         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
5532         has a built gtkcompat.h. Developers using CVS code on Win32 can
5533         hand-edit it from gtkcompat.h.in.
5534
5535         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
5536         gtkcompat.h from gtkcompat.h.win32.
5537
5538 2000-11-14  Havoc Pennington  <hp@redhat.com>
5539
5540         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
5541         to default to GDK_ACTION_MOVE if the drag is within a single
5542         widget. Defaults to GDK_ACTION_COPY between widgets.
5543
5544 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
5545
5546         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
5547
5548         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
5549
5550         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
5551         srcdir != builddir
5552
5553         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
5554
5555         * configure.in (GTK_VERSION): Up to 1.3.2
5556
5557         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
5558         gtkimcontextxim.h
5559
5560         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
5561         missing doc comment.
5562
5563 2000-11-14  Alexander Larsson  <alexl@redhat.com>
5564
5565         * modules/linux-fb/basic.c:
5566         Use the glib iconv wrappers.
5567
5568 2000-11-13  Havoc Pennington  <hp@pobox.com>
5569
5570         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
5571         still more bugs.
5572
5573         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
5574         scroll the GdkWindows before realization.
5575
5576 2000-11-13  Havoc Pennington  <hp@redhat.com>
5577
5578         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
5579         where GC didn't always get updated properly
5580
5581         * demos/gtk-demo/textview.c (create_tags): Use subattributes
5582         of fonts instead of setting the entire font
5583
5584         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
5585         setting entire font
5586
5587         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
5588
5589         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
5590         a bunch of individually-settable font attributes. You can still 
5591         use the "font" and "font_desc" args, they just set all the font
5592         attributes at once.
5593
5594 2000-11-13 Elliot Lee <sopwith@redhat.com>
5595
5596         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
5597
5598 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
5599
5600         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
5601         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
5602
5603         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
5604         work better.
5605
5606 2000-11-13  Havoc Pennington  <hp@redhat.com>
5607
5608         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
5609         the module file.
5610
5611         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
5612         dest->language
5613
5614         * gtk/testtext.c: Test pixels above/below/inside paragraphs
5615         settings
5616
5617         * gtk/gtktextview.c: Implement object args and setters/getters for
5618         all the aspects of the GtkTextAttributes that are not set from
5619         GtkWidget attributes. This is spacing, justification, margins,
5620         etc.
5621
5622         (gtk_text_view_set_arg)
5623         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
5624         args
5625         (gtk_text_view_class_init): Add args for justify, left_margin,
5626         right_margin, indent, and tabs
5627         
5628
5629         * gtk/gtktextlayout.c (set_para_values): fix to display indent
5630         attribute properly
5631
5632         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
5633         replace with indent attribute
5634
5635         * gtk/gtktextlayout.c (set_para_values): multiply indent by
5636         PANGO_SCALE
5637
5638         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
5639         rearranging code to do that
5640         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
5641         i.e. don't subtract the top_margin first, just to keep
5642         all margin-futzing in one place.
5643
5644         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
5645
5646         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
5647         special case of last line, Pango now handles this itself.
5648         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
5649         Y coordinate
5650         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
5651         (find_display_line_above): wasn't moving the byte index as it
5652         iterated over lines, so always returned byte 0. Also, port to use
5653         PangoLayoutIter.
5654         (find_display_line_below): same problem as
5655         find_display_line_above. Also, port to use PangoLayoutIter.
5656
5657 2000-11-13  Alexander Larsson  <alexl@redhat.com>
5658
5659         * gdk/linux-fb/*.[ch]:
5660         Massive reindent to gtk+ standard. My hands hurt.
5661
5662         * gdk/linux-fb/gdkcolor-fb.c:
5663         Move GdkColorPrivateFB from inherited to windowing_data
5664
5665         * gdk/linux-fb/gdkcursor-fb.c:
5666         _gdk_cursor_new_from_pixmap made static
5667
5668         * gdk/linux-fb/gdkdnd-fb.c:
5669         GdkDragContextPrivate moved to windowing_data
5670
5671         * gdk/linux-fb/gdkdrawable-fb2.c:
5672         Removed endian.h, use glib endianness macros instead
5673         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
5674         and GDK_DRAWABLE_IMPL_FBDATA
5675
5676         * gdk/linux-fb/gdkfont-fb.c:
5677         Add empty gdk_font_load(). Needed for linking of Gtk+.
5678
5679         * gdk/linux-fb/gdkimage-fb.c:
5680         Removed endian.h, use glib endianness macros instead
5681         Moved GdkImagePrivateFB to windowing_data
5682         gdk_image_new_bitmap didn't always allocate enough
5683         memory.
5684
5685         * gdk/linux-fb/gdkinput-ps2.c:
5686         Added semi-working support for MS serial mice.
5687
5688         * gdk/linux-fb/gdkprivate-fb.h:
5689         s/GdkWindowPrivate/GdkWindowObject/
5690         Removed GdkWindowPrivate typedef
5691         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
5692         Removed GDK_DRAWABLE_P
5693         Move GdkColorPrivateFB from inherited to windowing_data
5694         Moved GdkImagePrivateFB to windowing_data
5695
5696         * gdk/linux-fb/gdkvisual-fb.c:
5697         Removed some unused debug code.
5698
5699         * gdk/linux-fb/gdkwindow-fb.c:
5700         Use stock cursors instead of including X headers.
5701         s/GdkWindowPrivate/GdkWindowObject/
5702
5703         * gdk/linux-fb/mitypes.h:
5704         Removed unused types.
5705
5706         * modules/linux-fb/basic.c:
5707         Use the pango fribidi wrappers.
5708
5709 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5710
5711         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
5712         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
5713         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
5714         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
5715         GEqualFunc where applicable.
5716         
5717         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
5718         pango_font_description_equal as changed in pango.
5719         
5720         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
5721
5722         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
5723
5724         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
5725
5726         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
5727
5728         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
5729
5730         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
5731
5732         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
5733         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
5734
5735         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
5736         gtk_rc_styles_compare -> gtk_rc_styles_equal.
5737
5738 2000-11-12  Havoc Pennington  <hp@pobox.com>
5739
5740         * demos/gtk-demo/Makefile.am (democodedir): change demo install
5741         dir to datadir/gtk+-2.0/demo
5742
5743         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
5744         sorts of text widget and Pango font bugs. Urgh.
5745
5746         * demos/gtk-demo/Makefile.am (demos): Add textview.c
5747
5748         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
5749         tree that you should double click to see the demo. Fix 
5750         types of variables to reflect changed return values from 
5751         GtkTreeStore and GtkTreeViewColumn constructors.
5752
5753         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
5754         newly-created buffer to prepare for GObject semantics
5755
5756         * gtk/testtext.c: don't leak the buffer with GObject semantics
5757
5758         * gtk/testtextbuffer.c: ditto
5759         
5760 2000-11-12  Havoc Pennington  <hp@pobox.com>
5761
5762         Rename this testgtk to gtk-demo to avoid confusion, and 
5763         install it so people can use it as a supplement to 
5764         the documentation.
5765         
5766         * demos/gtk-demo: Moved from demos/testgtk
5767
5768         * demos/testgtk: Removed
5769
5770         * configure.in: make Makefile in gtk-demo
5771         
5772         * demos/gtk-demo/Makefile.am: Install sample source to 
5773         datadir/gtk-demo (maybe there's a better place?), and 
5774         rename the binary to gtk-demo
5775         
5776         * demos/gtk-demo/main.c (load_file): Load installed sample
5777         source if source isn't found in pwd.
5778
5779 2000-11-09  Havoc Pennington  <hp@pobox.com>
5780
5781         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
5782         argument to set the char displayed when visibility == FALSE
5783         (gtk_entry_create_layout): If !entry->visible, replace 
5784         all chars with the "invisible char"
5785
5786         * gtk/testgtk.c: Test the invisible_char deal
5787         
5788 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
5789
5790         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
5791         can't get a native font in the right encoding.
5792
5793 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
5794
5795         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
5796         respectively.
5797
5798 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
5799
5800         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
5801         Fix warning when moving between paragraphs.
5802
5803         * gtk/gtkentry.[ch]: Change move => move_cursor, 
5804         delete => delete_from_cursor, insert => insert_at_cursor
5805
5806 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
5807
5808         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
5809
5810         * modules/input/imthai-broken.c: A Thai input method for use if
5811         Thai keys are really generating Latin1 keysyms.
5812
5813         * modules/input/Makefile.am: Build these.
5814
5815 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
5816
5817         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
5818         g_filename_{to,from}_utf8 now takes an extra parameter.
5819
5820         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
5821         strftime into UTF-8.
5822
5823         (column_from_x, gtk_calendar_paint_day_names): Support RTL
5824         calendars.
5825
5826         (gtk_calendar_paint_day_names): Draw day names in the right 
5827         place.
5828         
5829 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
5830
5831         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
5832         problem with using result of g_get_charset() backwards -
5833         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
5834
5835         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
5836         negative min_width/height and max_width/height to
5837         mean "requisition"; this allows setting a window
5838         to be user-resizable in only one direction easily.
5839
5840         * gtk/testgtk.c (create_main_window): Remove hard-coded
5841         usize - set a default size in the vertical direction.
5842
5843 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
5844
5845         * gtk/gtkrange.c: Add some missing casts. Support 
5846         2 and 3 button clicks on the arrows to mean 
5847         "move by pages" and "jump to end". (Like gtkspinbutton)
5848
5849 2000-11-12 Hans Breuer <Hans@Breuer.Org>
5850
5851         * gdk/win32/makefile.msc : reflect build module changes
5852
5853         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
5854         from GdkPixmap*, cast implementation member instead.
5855
5856         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
5857         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
5858         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
5859         more Gdi functions return value checking. 
5860         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
5861         GdkImagePrivateWin32 *.
5862
5863         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
5864         menus useable again. Add #pragma message to keep reminded on this issue.
5865         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
5866         windows. This allows to enable backing store on Win32!
5867
5868         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
5869         in drawable is of impl type. Correct specific type checks appropriate.
5870  
5871         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
5872         GDK_WINDOW_DESTROYED before allocating new resources.
5873
5874         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
5875
5876         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
5877         (gdk_window_foreign_new) initialize parent handle.
5878         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
5879
5880         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
5881         Let the GDI invalidate the window on MoveWindow call to fix scrolling
5882         problems (e.g. main buttons in testgtk). 
5883
5884 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
5885
5886         * gtk/gtkentry.c (gtk_entry_key_press): Call 
5887         gtk_widget_activate for GDK_Return.
5888
5889         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
5890         of preedit cursor position.
5891
5892 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
5893
5894         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
5895         static.
5896
5897 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
5898
5899         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
5900         out support for multiple locales; that simple doesn't
5901         work reliably with current Xlib
5902
5903         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
5904         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
5905         Add support for positioning the cursor within the preedit string.
5906
5907 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
5908
5909         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
5910         at XIM input method module.
5911
5912         * gtk/gtktextview.c: Check for bindings after passing
5913         events to im context filter.
5914
5915 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
5916
5917         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
5918         empty attribute lists properly.
5919
5920 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
5921
5922         * gtk/queryimmodules.c (main): Return non-zero exit
5923         status if errors were encountered querying any
5924         modules.
5925
5926         * modules/input/Makefile.am (moduledir): remove
5927         leftover bin program target.
5928
5929         * docs/make-todo: Fix typo in error message.
5930
5931 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
5932
5933         * configure.in: Add modules/input/Makefile
5934
5935 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
5936
5937         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
5938         don't include gtkthemes.h.
5939
5940         * gtk/testgtk.c gtk/testtext.c: Set environment variables
5941         to point
5942
5943         * gtk/Makefile.am: Add new .c and .h files, build 
5944         gtk-query-immodules and use it to create a gtk.immodules
5945         file for use of test programs.
5946
5947         * gtk/gtkpreview.c: remove extra blank line.
5948
5949 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
5950
5951         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
5952         Add the ability to add extra tables beyond the default
5953         one, and also the ability to have compose sequences 
5954         that are prefixes of other compose sequences. 
5955
5956         * gtk/gtkimcontextsimple.c: Export a preedit string which
5957         consists of possible candidates for keystrokes that have
5958         been entered but not yet committed.
5959
5960         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
5961         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
5962
5963         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
5964         Add a function to add input-method switching menu items
5965         to a menu.
5966
5967         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
5968         when switching input methods.
5969
5970         * gtk/gtkimcontextsimple.[ch]: Change the format of
5971         the compose table to allow compose tables of different
5972         lengths / sequence.
5973
5974 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
5975
5976         * gtk/gtkimmodule.[ch]: Support routines for loading
5977         GtkIMContext implementations dynamically at runtime.
5978
5979         * modules/input/imcyrillic-translit.c: A sample input
5980         method (based on GtkIMContextSimple with an extra table),
5981         which demonstrates preedit strings and the module
5982         system for input modules
5983
5984         * gtk/queryimmodules.c: Program to query the available
5985         input modules and write the results into a file.
5986          
5987         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
5988         extra config options "im_module_file" (cache file for
5989         input method modules), and "im_module_path" - path
5990         to look for modules when generating cache file.
5991
5992         This doesn't scale.
5993
5994 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
5995
5996         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
5997         generic code from gtkthemes into a new abstraction
5998         GtkModule which has the logic for implementing
5999         a loadable module which implements a number of 
6000         GObject types.
6001
6002 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
6003
6004         * gtk/gtkeditable.[ch]: Convert GtkEditable from
6005         a class into an interface  
6006         
6007         * gtk/gtkoldeditable.[ch]: Move the old editable
6008         implementation into here, so legacy widgets can
6009         still rely on the implemenation. GtkOldEditable
6010         exports GtkEditable. Make selection handling
6011         code use new text conversion functions (and
6012         handle UTF-8 as a side-effect). Use GtkClipboard
6013         for CLIPBOARD.
6014
6015         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
6016         Adopt to match above changes.
6017
6018         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
6019         avoid GtkOldEditable implementation. Restructure
6020         to reduce number of places that modify state directly.
6021         Move to GtkBindingSet. Display the preedit string.
6022         Queue recomputation of PangoLayout and scroll position
6023         to improve effiency of doing complex changes naively.
6024         Add a menu with cut/copy/paste and input method selection.
6025
6026 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
6027
6028         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
6029         to set preedit string and attributes; display preedit string by
6030         inserting string and attributes at cursor when creating the
6031         GtkTextLineDisplay.
6032
6033         * gtk/gtktextlayout.c: Move all conversions between byte
6034         positions in PangoLayout and GtkTextIter into new functions
6035         line_display_iter_to_index/index_to_iter that properly
6036         handle the preedit string.
6037
6038         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
6039         it to return const char * (eventually will end up
6040         as GCONST char *, most likely.)
6041
6042         * gtk/gtktextview.[ch]: Handle the preedit string, call
6043         gtk_im_context_reset() as necessary, add a menu to switch
6044         input methods.
6045         
6046         * gtk/gtktextlayout.[ch]: Remove useless
6047         gtk_text_layout_get_log_attrs() function.
6048
6049 2000-11-11  Tor Lillqvist  <tml@iki.fi>
6050
6051         * gdk/gdk.def
6052         * gtk/gtk.def: Update.
6053
6054         * gdk/win32/*.c: Add last argument to g_type_register_static()
6055         calls.
6056
6057         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
6058
6059         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
6060         generated by older wheel mouse drivers. Get the correct y
6061         coordinate from WM_MOUSEWHEEL messages.
6062
6063         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
6064         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
6065         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
6066         Debugging functions.
6067
6068         * gdk/win32/gdkprivate-win32.h: Declare them.
6069
6070         * gdk/win32/gdkinput-win32.h: Add declaration for
6071         gdk_input_window_destroy().
6072
6073         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
6074
6075 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
6076
6077         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
6078         function to help handle keeping things in sync.
6079
6080 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
6081
6082         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
6083         BOXED marshallers.
6084
6085         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
6086         (gtk_list_store_class_init): use the new BOXED marshallers.
6087
6088         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
6089         new_with_values to new_with_types.
6090         (gtk_tree_store_get_column_type): add this.
6091         (gtk_tree_store_class_init): use the new BOXED marshallers.
6092
6093         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
6094         mirror some POINTER marshallers.
6095
6096 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
6097
6098         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
6099         allow more interesting iterators.  Also, made the lifecycle of
6100         iterators more explicit.
6101
6102         * gtk/gtktreemodelsort.[ch]: New model for sorting.
6103
6104         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
6105         types.
6106
6107 2000-11-09  Alexander Larsson  <alexl@redhat.com>
6108
6109         * demos/testgtk/menus.c:
6110         Changes to make the new testgtk compile after
6111         gtk_menu_append was removed.
6112
6113         * gdk/linux-fb/gdkdrawable-fb2.c
6114         (gdk_fb_get_depth, gdk_fb_get_visual,
6115         gdk_drawable_impl_fb_class_init): Implement
6116         these drawable functions. Now GtkImages work again.
6117
6118         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
6119
6120         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
6121         
6122         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
6123         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
6124         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
6125         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
6126
6127 2000-11-08  Havoc Pennington  <hp@pobox.com>
6128
6129         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
6130         visible_set args, don't know where these had gone, I thought they
6131         used to be there
6132
6133         * gtk/testtext.c: Add a menu item to apply invisibility tag;
6134         now we can test the feature and see that it's totally broken.
6135
6136 2000-11-08  Havoc Pennington  <hp@pobox.com>
6137
6138         Make DND copy pixbufs and tags when source and target share a 
6139         tag table.
6140         
6141         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
6142         in-process GTK_TEXT_BUFFER_CONTENTS target
6143         (gtk_text_view_drag_data_received): Paste from
6144         GTK_TEXT_BUFFER_CONTENTS if we receive it.
6145
6146 2000-11-08  Alexander Larsson  <alexl@redhat.com>
6147
6148         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
6149         API changes.
6150
6151         * gtk/gtkmenu.c: Add support for scrolling menus.
6152         Remove gtk_menu_append/prepend/insert, these have been moved to
6153         gtkcompat.h as #defines.
6154
6155         * gtk/gtkcompat.h.in:
6156         Add compatibility #defines for gtk_menu_append/prepend/insert
6157
6158         * gtk/gtkmenu.h: Add data needed for scrolling menus.
6159         GtkMenuPositionFunc gets an extra argument push_in.
6160         gtk_menu_append/prepend/insert removed.
6161         
6162         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
6163         positioning behaviour to fit to scrolling menus.
6164
6165         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
6166         into menuitem->submeny. That is wrong, and broke torn
6167         off submenus of torn off menus, since they were unrealized
6168         when the first menu was unrealized.
6169
6170         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
6171         gtk_menu_shell_select_item() since these need to be overridden in
6172         GtkMenu.
6173
6174         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
6175         positioning behaviour to fit to scrolling menus.
6176         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
6177         the current item so that it is prelighted when the menu pops up.
6178         This is a workaround to the fact that the menu doesn't get the
6179         initial enter event (due to grabs).
6180
6181         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
6182         s/gtk_menu_append/gtk_menu_shell_append/
6183
6184         * gtk/gtknotebook.c:
6185         s/gtk_menu_insert/gtk_menu_shell_insert/
6186
6187         * gtk/testgtk.c (create_menu, create_menus):
6188         Create the first menu with 50 items so that menu scrolling
6189         can be tested.
6190         
6191         
6192         Patch from Jonathan Blandford  <jrb@redhat.com>
6193
6194         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
6195         system to handle size requests.  First, we ask what the size of
6196         the toggle is.  Then, when allocating the size, we allocate the
6197         toggle_size first.  This way we can have multiple menu-item
6198         classes w/o needing a seperate class for each.
6199
6200         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
6201         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
6202
6203         * gtk/gtkcheckmenuitem.c
6204         (gtk_check_menu_item_toggle_size_request): New function to handle
6205         the toggle size-request.
6206
6207 2000-11-07  Havoc Pennington  <hp@redhat.com>
6208
6209         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
6210         Half-ass somewhat fix this function, so that scrolling to the
6211         insertion point works. Pango hacking is in the future to really
6212         fix it.
6213
6214         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
6215         length of data, no longer used.
6216
6217         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
6218         method contents in here, get rid of destroy method
6219         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
6220         that were backward. Remove debug spew.
6221         (cut_or_copy): Make the clipboard work with insert_range to
6222         preserve tags and pixbufs, not just the primary selection.
6223
6224 2000-11-07  Havoc Pennington  <hp@redhat.com>
6225
6226         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
6227         to gtk_text_mark_get_visible
6228
6229         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
6230         bug that was generating an invalid iterator
6231
6232         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
6233         ensure_char_offsets() in front of code placing the iter in an
6234         invalid state.
6235
6236         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
6237         make override_location arg const
6238         (paste): Replace the selection if we paste into the 
6239         current selection
6240
6241         * gtk/gtkselection.h: Remove "GtkSelectioData"
6242         (struct _GtkSelectionData): move the definition here.
6243
6244         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
6245         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
6246
6247         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
6248
6249         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
6250         (gtk_text_buffer_insert_range_interactive): implement
6251         (gtk_text_buffer_get_tags): Remove, replaced by
6252         gtk_text_iter_get_tags()
6253
6254         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
6255         limit parameter, to avoid infinite linear scan.
6256         (gtk_text_iter_backward_search): Add search limit
6257         (gtk_text_iter_forward_find_char): Add search limit
6258         (gtk_text_iter_backward_find_char): Add search limit
6259
6260 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
6261
6262         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
6263         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
6264         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
6265         gdk/linux-fb/gdkwindow-fb.c:
6266         use g_object_new() instead of g_type_create_instance() which
6267         is a private function for fundamental type implementations.
6268
6269         * gdk/linux-fb/gdkinput-ps2.c:
6270         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
6271         instead just store the current modifier state. Add a (somewhat broken)
6272         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
6273         Rename exported function gdk_input_ps2_get_mouseinfo to
6274         gdk_input_get_mouseinfo.
6275
6276         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
6277         gdk/linux-fb/gdkwindow-fb.c:
6278         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
6279         
6280
6281 2000-11-02  Havoc Pennington  <hp@redhat.com>
6282
6283         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
6284         use stock buttons. Should be 100% source compatible, appropriate
6285         filesel fields now point to dialog->vbox and dialog->action_area.
6286         On the bizarre side, dialog->action_area and filesel->action_area
6287         are not the same widget.
6288         (gtk_file_selection_init): Put some padding around the selection
6289         entry, so it isn't touching the GtkDialog separator.    
6290
6291         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
6292         use stock buttons, etc. Should also be source compatible.
6293         Set the dialog default title in _init not _new().
6294         
6295         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
6296         Use stock buttons; don't put a button box inside the existing
6297         dialog button box. Don't bother with push/pop colormap anymore.
6298
6299         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
6300         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
6301         for message dialog, and necessary for the font selection and color
6302         selection with help and apply buttons.
6303         
6304         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
6305         to the created button widget. Set GTK_CAN_DEFAULT on the button.
6306         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
6307         between buttons, put less padding around the action area.
6308         (gtk_dialog_run): Exit on unmap rather than on destroy. 
6309         This will also exit the loop if the widget is hidden.
6310         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
6311         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
6312         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
6313         special-case delete event.
6314
6315         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
6316         formatting
6317         
6318 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
6319
6320         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
6321         button to temporarily disable position recording in the
6322         "saved position" test.
6323
6324 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
6325
6326         * gtk/gtkthemes.c: added compat code that temporarily implements
6327         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
6328         going to be revamped by owen's upcoming GtkModule patches, but
6329         untill then people want gtk to build, right? ;)
6330
6331 2000-11-04  Havoc Pennington  <hp@pobox.com>
6332
6333         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
6334         list
6335
6336         * docs/Changes-2.0.txt: Add note about
6337         gtk_container_get_toplevels()
6338
6339         * gtk/gtktextview.h: formatting
6340         
6341         * gtk/gtktextview.c: don't start descriptions with "Returns",
6342         confuses gtk-doc
6343
6344 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
6345
6346         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
6347         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
6348
6349 2000-11-03  Havoc Pennington  <hp@redhat.com>
6350
6351         * gtk/gtktexttagtable.c: Docs
6352         (gtk_text_tag_table_size): return a signed int
6353
6354         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
6355         (gtk_text_tag_event): make the event_object a GObject
6356
6357         * gtk/gtktextview.c: Write API docs for all functions.
6358
6359         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
6360         for gtk_text_view_get_window_type() called on one of the private
6361         windows.
6362
6363         * gtk/gtktextview.c: Instead of accessing text_view->buffer
6364         directly, call get_buffer() which demand-creates a default
6365         buffer. So gtk_text_view_new() can be used to create a view with a
6366         default buffer in it, if you just want an empty text box users can
6367         put data in. Useful for GUI builders also.
6368
6369 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
6370
6371         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
6372         the charset encodign portion MUST be in lowercase.
6373         * gtk/gtkrc.az: added file for Azeri language
6374
6375 2000-11-03  Havoc Pennington  <hp@redhat.com>
6376
6377         Get widgets working on the btree/buffer side. Display of them 
6378         still doesn't work.
6379         
6380         * gtk/gtktextview.c: start implementing child widget stuff
6381
6382         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
6383
6384         * gtk/gtktextlayout.c: handle embedded widgets
6385
6386         * gtk/gtktextdisplay.c: handle embedded widgets
6387
6388         * gtk/gtktextchild.c: Implement all the child anchor goo
6389
6390         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
6391         function
6392
6393         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
6394         (insert_pixbuf_or_widget_segment): abstract out common portions of 
6395         creating a child anchor or a pixbuf segment.
6396         (gtk_text_btree_create_child_anchor): new function
6397         (gtk_text_btree_unregister_child_anchor): new function
6398
6399         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
6400         allocate_child signal on GtkTextLayout
6401
6402         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
6403         values
6404         (gtk_text_iter_get_child_anchor): new function
6405
6406         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
6407         default handler for the changed signal, which calls
6408         gtk_text_buffer_set_modified(), instead of just always emitting
6409         changed then calling set_modified() manually. I guess this is
6410         maybe more flexible. It seems logical.
6411
6412 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
6413
6414         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
6415         now.
6416
6417         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
6418
6419 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
6420
6421         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
6422         been marked static.
6423
6424 2000-11-02  Havoc Pennington  <hp@redhat.com>
6425
6426         * gtk/testgtk.c (create_labels): had a test backward
6427
6428         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
6429         fields, so the dest GC ends up with the correct clip origin, 
6430         etc. Fixes a bug where colored labels didn't redraw 
6431         properly.
6432
6433 2000-11-02  Alexander Larsson  <alexl@redhat.com>
6434
6435         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
6436         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
6437         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
6438         Add last argument to t_type_register_static call.
6439         
6440         * gdk/linux-fb/gdkdrawable-fb2.c:
6441         Add last argument to t_type_register_static call.
6442         export the get_image drawable virtual function.
6443
6444         * gdk/linux-fb/gdkimage-fb.c:
6445         Add last argument to t_type_register_static call.
6446         rename gtk_image_get to _gdk_fb_get_image and
6447         export it for use by gdkdrawable-fb2.
6448
6449         * gdk/linux-fb/gdkprivate-fb.h:
6450         export _gdk_fb_get_image.
6451
6452         * gdk/linux-fb/gdkselection-fb.c:
6453         Add new api call stubs.
6454
6455         * gtk/Makefile.am:
6456         Missing ( in linux-fb part.
6457
6458         * modules/linux-fb/Makefile.am:
6459         Must link with gdk_pixbuf or get unresolved symbol.
6460
6461 2000-11-01  Havoc Pennington  <hp@pobox.com>
6462
6463         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
6464         GTK_TYPE_TEXT_ITER and BOXED marshallers
6465
6466         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
6467
6468         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
6469         
6470         * gtk/gtk-boxed.defs: add GtkTextIter
6471
6472         * gtk/gtkmarshal.list: Add marshallers for text widget that 
6473         properly use OBJECT and BOXED
6474
6475 2000-11-01  Havoc Pennington  <hp@redhat.com>
6476
6477         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
6478
6479         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
6480         before returning it. 
6481         
6482 2000-11-01  Havoc Pennington  <hp@redhat.com>
6483
6484         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
6485         Clip the rectangle to be rendered to the drawable, since
6486         get_from_drawable() requires a region within the drawable
6487
6488 2000-11-01  Havoc Pennington  <hp@redhat.com>
6489
6490         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
6491         from coordinates.
6492
6493 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
6494
6495         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
6496         it isn't NULL.
6497
6498 2000-11-01  Havoc Pennington  <hp@pobox.com>
6499
6500         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
6501         on a label
6502         (gtk_label_finalize): unref the attr list if any.
6503
6504         * gtk/testgtk.c (create_get_image): close test on second click
6505         (make_message_dialog): close dialog if it exists
6506
6507         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
6508
6509         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
6510         gdk-pixbuf
6511
6512         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
6513         from Pango markup format
6514         (gtk_label_set_markup_with_accel): ditto but with accelerator
6515         parsing
6516
6517         * gtk/gtkimage.c (gtk_image_expose): reformatting.
6518
6519         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
6520         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
6521         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
6522         call gdk_window_get_origin().
6523
6524         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
6525         implement GDK_PIXBUF_ALPHA_FULL
6526         
6527 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
6528
6529         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
6530         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
6531         g_signal_handlers_disconnect_matched to block/unblock and disconnect
6532         multiple handlers respectively, instead of only treating the
6533         first handler found (bug reported by owen).
6534
6535 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
6536
6537         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
6538
6539         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
6540
6541         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
6542         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
6543         gtk/gtktreeviewcolumn.h: Fixed inline docs.
6544
6545         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
6546         widget.  Needs writing someday.
6547
6548         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
6549         the docs.
6550
6551 2000-10-30  Havoc Pennington  <hp@redhat.com>
6552
6553         * gtk/gtktextview.h, gtk/gtktextview.c:
6554         Rename delete_at_cursor delete_from_cursor, and 
6555         move to move_cursor.
6556
6557 2000-10-30  Havoc Pennington  <hp@redhat.com>
6558
6559         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
6560         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
6561         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
6562         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
6563         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
6564         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
6565         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
6566         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
6567         gtktexttypes.h, gtktextview.c, gtktextview.h:
6568
6569         Massive reindentation and reformatting. Arg alignment and comments
6570         still need fixing in various places.
6571
6572 2000-10-30  Havoc Pennington  <hp@redhat.com>
6573
6574         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
6575         to be named insert_at_cursor and delete_at_cursor so C++ can
6576         handle them.
6577
6578 2000-10-28  Tor Lillqvist  <tml@iki.fi>
6579
6580         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
6581         to get a double directory separator in case the home directory
6582         ends with one. This would cause trouble especially on Windows,
6583         where the path will be confused with the syntax for an an UNC
6584         (network share) path \\server\share\path.
6585         (gtk_rc_add_initial_default_files): Ditto.
6586
6587 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
6588
6589         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
6590
6591         * gtk/gtktextview.c: Use correct marshallers.
6592
6593 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
6594
6595         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
6596         use new iter stuff, and added all the appropriate signals et al.
6597
6598         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
6599         code is internal to gtk only.
6600
6601 2000-10-28  Tor Lillqvist  <tml@iki.fi>
6602
6603         * gtk/gtk.def
6604         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
6605         glib-genmarshal etc.
6606
6607 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
6608
6609         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
6610         parallel builds.
6611
6612 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
6613
6614         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
6615
6616 2000-10-27  Robert Brady  <robert@suse.co.uk>
6617
6618         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
6619         en_GB (British), ia (Interlingua).
6620
6621 2000-10-26  Havoc Pennington  <hp@redhat.com>
6622
6623         * gtk/gtktextiter.c (my_strrstr): fix constness warning
6624
6625         Fixed output of:
6626         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
6627         
6628         * gtk/gtktextsegment.c (char_segment_new): rename
6629         (_char_segment_new_from_two_strings): rename
6630         (_toggle_segment_new): rename
6631         
6632         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
6633         (make_clipboard_widget): make it static
6634         (text_get_func): static
6635         (text_clear_func): static
6636
6637         * gtk/gtkcolorsel.c (adjustment_changed): make this function
6638         static
6639         (hex_changed): make it static
6640         (hsv_changed): make it static
6641         (opacity_entry_changed): make it static
6642
6643         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
6644         (toggle_segment_check_func): rename with _gtk
6645
6646         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
6647         (_widget_segment_new): rename
6648         (_widget_segment_add): rename
6649         (_widget_segment_remove): rename
6650         (_widget_segment_ref): rename
6651         (_widget_segment_unref): rename
6652
6653         * gtk/gtktextmark.c (_mark_segment_new): Rename
6654         _gtk_mark_segment_new   
6655
6656 2000-10-26  Havoc Pennington  <hp@redhat.com>
6657
6658         * gtk/gtkmarshal.list: add new marshallers used by the text widget
6659         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
6660         types
6661
6662         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
6663         marshaller types
6664
6665         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
6666         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
6667         license on these files.
6668
6669         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
6670         work.
6671
6672         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
6673         runtime random number different for each tree, instead of 
6674         a constant I made up.
6675
6676 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
6677
6678         * gtk/Makefile.am: buncha cleanups, kludged build sources
6679         dependencies with a Makefile: oldest-source-stamp dependancy
6680         for the moment. automake is really fighting us here, with
6681         intentionally not allowing user-defined rules or dependancies
6682         prior to it's -include $(DEP_FILES) statement. sucks rocks!
6683
6684         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
6685         to public headers. tehy have a comment stating that they are
6686         "semi-public" aren't included by gtk.h and if enums popup there,
6687         they can be /*< skip >*/-ed.
6688
6689         * gtk/gtktextlayout.h: 
6690         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
6691         added LGPL... <SIGH>
6692
6693 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
6694
6695         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
6696         GtkTreeIter.  Added iterators everywhere.
6697
6698         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
6699
6700         * gtk/gtktreeviewselection.c: Changed to use the iterators.
6701
6702         * gtk/gtktreestore.c: Changed to use the iterators.
6703
6704         * gtk/gtkliststore.c: Commented out the code.  Will convert to
6705         iterators tomorrow.
6706
6707         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
6708         iterators tomorrow.
6709
6710         * gtk/treestoretest.c: Changed to use iterators.
6711
6712         * demos/testgtk/main.c: Moved to use the new iterator system.
6713
6714 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
6715
6716         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
6717         localization misbehaviour.
6718
6719         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
6720         a useless type without copy/free.
6721
6722         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
6723         of GTK_TYPE_CTREE_NODE.
6724
6725 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
6726
6727         * gtk/gtksignal.c:
6728         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
6729         applicable.
6730
6731         * gtk/gtk-boxed.defs (GtkSelectionData): specify
6732         gtk_selection_data_copy and gtk_selection_data_free
6733         do GtkSelectionData work as params in signals.
6734
6735 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
6736
6737         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
6738         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
6739         couldn't they at least give it a non-standard name?
6740         
6741         * gtk/gtktextlayout.c: arg! yet another implementation of
6742         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
6743
6744         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
6745         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
6746         home. now i know this _is_ a conspiracy.
6747
6748         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
6749         ::state-changed.
6750
6751         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
6752         (gtk_accel_group_create_add): marshaller signature fixups.
6753
6754         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
6755         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
6756
6757         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
6758         anymore.
6759
6760 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
6761
6762         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
6763         due to the signal system changes, it wouldn't build currently. to
6764         be fixed soon.
6765
6766         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
6767
6768         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
6769         so it needs gtk_marshal_VOID__ENUM() instead of
6770         gtk_marshal_NONE__UINT().
6771
6772         * gdk/gdk*.c: adapted type registration functions.
6773
6774         * gtk/gtkbindings.c:
6775         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
6776         gone.
6777
6778         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
6779
6780         * gtk/gtkobject.c:
6781         (gtk_object_destroy):
6782         (gtk_object_shutdown): fixed recursion guards. basically we have to
6783         catch the case where any of GObject.shutdown() or gtk_object_destroy()
6784         is called during ::destroy, and avoid recursion there.
6785
6786         * gtk/gtktypeutils.c:
6787         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
6788         boxed_copy/boxed_free. this needs a more general solution based on a
6789         publically installed code-generator utility.
6790
6791         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
6792         glib's gobject has support for that now.
6793         define GtkSignalMarshaller in terms of GSignalCMarshaller.
6794
6795 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
6796
6797         * gtk/gtksignal.[hc]:
6798         * gtk/gtkmarshal.[hc]:
6799         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
6800         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
6801         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
6802         care of that.
6803
6804         * *.c: marshaller name fixups.
6805
6806         * gtk/gtkmarshal.list: added a comment briefing the format.
6807
6808 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
6809
6810         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
6811         compatibility macros here now. more specifically, most of
6812         the API is preserved (yes, _most_, nonwithstanding the
6813         following exceptions listed, the API is stil lHUGE ;)
6814         things that got removed completely:
6815         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
6816         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
6817         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
6818         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
6819         gtk_signal_remove_emission_hook().
6820         non-functional functions variants:
6821         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
6822         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
6823         not supported anymore.
6824         (gtk_signal_compat_matched): new internal function to aid
6825         implementation of the compatibility macros, it  provides
6826         functionality to block/unblock/disconnect handlers based
6827         on func/data.
6828
6829         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
6830
6831         * *.c: adaptions to new type registration API signatures.
6832
6833 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
6834
6835         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
6836
6837 2000-10-25  Robert Brady  <robert@suse.co.uk>
6838
6839         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
6840         gdk_property_delete): If window == NULL, assume the root window.
6841         (restoring the behaviour that was in 1.2).
6842         
6843         * gtk/testtext.c (save_buffer): Allow creation of new files when
6844         saving.
6845
6846         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
6847         calls to read().
6848
6849 2000-10-25  Tor Lillqvist  <tml@iki.fi>
6850
6851         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
6852
6853         * gdk/win32/gdkdrawable-win32.c
6854         * gdk/win32/gdkimage-win32.c
6855         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
6856         X11 backend.
6857
6858         * gdk/win32/gdkcc-win32.c
6859         * gdk/win32/gdkcolor-win32.c
6860         * gdk/win32/gdkfont-win32.c
6861         * gdk/win32/gdkinput-win32.c
6862         * gdk/win32/gdkmain-win32.c
6863         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
6864
6865 2000-10-24  Havoc Pennington  <hp@redhat.com>
6866
6867         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
6868         it a static function
6869
6870         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
6871         redraw text when a tag is applied to it.
6872
6873         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
6874         (gtk_text_tag_affects_nonsize_appearance): private functions to
6875         see if a tag requires various kinds of redraw/layout to be queued
6876         up.
6877
6878         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
6879
6880         * gtk/testtext.c (fill_example_buffer): Put the cursor 
6881         at the start of the buffer, so search works by default
6882
6883         * gtk/gtktextiter.c (lines_match): init match_start always
6884
6885         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
6886         function, get iter at a line + a byte index
6887
6888         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
6889         to set byte position within a line
6890         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
6891
6892 2000-10-23  Havoc Pennington  <hp@redhat.com>
6893
6894         * gtk/testtext.c: Re-enable the "find" dialog
6895
6896         * gtk/testgtk.c: Add test for gdk_drawable_get_image
6897         
6898         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
6899         the arguments to gdk_draw_drawable were in the wrong order
6900         (gdk_window_paint_init_bg): This function was ignoring the
6901         init_region, instead of clipping to it, so the entire backing
6902         pixmap was cleared on every begin_paint()
6903         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
6904         was in here again, the loop kept using the same GtkWindowPaint
6905         over and over.
6906         (gdk_window_begin_paint_region): Fix a bug where we had two
6907         x_offset instead of x_offset and y_offset
6908
6909         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
6910         before we get the image.
6911         (gdk_draw_drawable): get the composite before we draw the drawable.
6912         (gdk_drawable_real_get_composite_drawable): default
6913         get_composite_drawable implementation that returns the drawable 
6914         itself
6915
6916         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
6917         get_composite_drawable virtual function
6918
6919         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
6920         list-walking bug
6921
6922         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
6923         make this work if the source drawable is a GdkDrawableImplX11
6924         instead of a public drawable type. This is really broken; the
6925         problem is that GdkDrawable needs a virtual method get_xid(), but
6926         of course that doesn't work in practice. Enter RTTI.
6927
6928         Also, improve mismatched depth message.
6929
6930         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
6931         GdkPixmap
6932
6933         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
6934         install _gdk_x11_get_image as our implementation of get_image
6935         
6936         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
6937         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
6938
6939         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
6940         gdk_drawable_get_image
6941
6942         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
6943
6944         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
6945         get_image
6946
6947         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
6948         trailing semicolon after for loop
6949
6950 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
6951
6952         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
6953         where font_desc for widget's context lagged widget's font_desc by
6954         one step.
6955
6956 2000-10-22  Tor Lillqvist  <tml@iki.fi>
6957
6958         * gdk/win32/gdkgc-win32.c
6959         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
6960
6961         * gtk/makefile.mingw.in
6962         * gtk/gtk.def: Updates.
6963
6964         * gtk/testgtk.c: sleep() is called _sleep in MS's C
6965         library.
6966
6967         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
6968
6969         * gtk/makefile.msc: Remove
6970
6971         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
6972
6973         * gtk/Makefile.am: Add it.
6974
6975         * configure.in: Generate it.
6976
6977         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
6978         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
6979         something even if not implemented, to satisfy picky MSVC.
6980
6981         Patches by Hans Breuer:
6982         
6983         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
6984         SetBkMode() and SetTextAlign() before calling
6985         pango_win32_render().
6986
6987         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
6988         Set hcliprgn to NULL after destroying it.
6989         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
6990
6991         * gdk/win32/gdkgeometry-win32.c
6992         (_gdk_windowing_window_queue_antiexpose): More effective
6993         implementation.
6994
6995         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
6996         depth as default, not the visual's.
6997
6998         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
6999         against empty title.
7000
7001         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
7002         IMAGE_PRIVATE_DATA.
7003
7004         * gdk/win32/gdkimage-win32.c: Use it.
7005
7006 2000-10-22  Robert Brady  <robert@suse.co.uk>
7007
7008         * configure.in: Check for bind_textdomain_codeset
7009
7010         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
7011         present, make use of it.
7012
7013         Add a translatable string "default:LTR" which, if translated
7014         to "default:RTL", will cause the default direction to be
7015         Right-to-Left.
7016
7017         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
7018         direction if marked as flippable.
7019
7020         * gtk/gtkhscale.c: Mark widget as flippable.
7021         
7022 2000-10-04  Havoc Pennington  <hp@redhat.com>
7023
7024         * gtk/testgtk.c (create_buttons): create some stock buttons
7025         with the default accel group
7026         (create_image): test some new GtkImage features
7027         (make_message_dialog): test GtkMessageDialog
7028         (create_modal_window): fix someone's bizzarro indentation
7029
7030         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
7031         GTK_WIN_POS_CENTER_ON_PARENT. 
7032         Add "destroy with parent" setting, which means the window goes
7033         away with its transient parent.
7034         (gtk_window_get_default_accel_group): get the default accel group
7035         for the window.
7036         (gtk_window_set_destroy_with_parent): set/unset destroy with
7037         parent flag
7038         (gtk_window_read_rcfiles): invalidate icon set caches
7039         after reloading rcfiles 
7040
7041         * gtk/gtkenums.h (GtkWindowPosition): add
7042         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
7043         on its parent window when the dialog is mapped for the first time.
7044
7045         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
7046         a simple message dialog class
7047         
7048         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
7049         handler to emit response signal, and maybe later it would
7050         honor a hide_on_delete flag - though that isn't there yet.
7051         Set border width on the vbox to 2, so we get some padding.      
7052         Use a button box for the action area.
7053         (gtk_dialog_key_press): synthesize a delete event if Esc
7054         is pressed and the GtkWidget key press handler didn't 
7055         handle the escape key.
7056         (gtk_dialog_new_with_buttons): new function creates a dialog
7057         with some default buttons in it.
7058         (gtk_dialog_add_action_widget): add an activatable widget
7059         as a button in the dialog - you can also add a non-activatable
7060         widget by accessing the action area directly.
7061         (gtk_dialog_add_button): add a simple button - stock ID or 
7062         label - to the action area
7063         (gtk_dialog_response): emit response signal
7064         (gtk_dialog_run): block waiting for the dialog, return 
7065         the response. Override normal delete_event behavior, so that 
7066         delete_event does nothing inside gtk_dialog_run().
7067
7068         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
7069         emitted when an action widget is clicked or the dialog gets
7070         delete_event
7071
7072         * gtk/gtk.h: add gtkmessagedialog.h
7073
7074         * gtk/Makefile.am: add gtkmessagedialog.[hc]
7075
7076 2000-10-18  Havoc Pennington  <hp@redhat.com>
7077
7078         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
7079         where any number of empty lines would get skipped
7080
7081         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
7082         edge.
7083
7084         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
7085         warning about invalid iterators (explain more thoroughly)
7086         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
7087
7088         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
7089         big
7090
7091         * demos/*.c: Add error handling
7092
7093         * gtk/gtktextbuffer.c: don't modify const iterators
7094
7095         * gtk/gdk-pixbuf-loader.c: Add full error handling here
7096
7097         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
7098         on file load
7099
7100         * gtk/gtkiconfactory.c: Update to reflect addition of error
7101         handling to gdk-pixbuf loaders
7102
7103 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
7104
7105         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
7106         move to new modularized testgtk.
7107
7108 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
7109
7110         * gtk/gtktreeview.c: Draw the arrows correctly.
7111
7112         * gtk/gtktreemodel.c: Added user docs.
7113
7114         * gtk/gtk.h: remove gtktreedatalist.h.
7115
7116         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
7117         parent when generating my type.
7118
7119         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
7120         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
7121
7122 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
7123
7124         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
7125         GtkTreeModel from object to interface.
7126
7127 2000-10-16  Havoc Pennington  <hp@redhat.com>
7128
7129         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
7130         compilation
7131
7132 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
7133
7134         * gtk/gtktreeselection.c: Add API documentation to all public
7135         functions.
7136
7137         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
7138         functions.
7139
7140 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
7141
7142         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
7143         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
7144         docs to all public functions.
7145
7146         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
7147         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
7148         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
7149         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
7150         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
7151         issue.
7152
7153 2000-10-14  Robert Brady  <robert@suse.co.uk>
7154
7155         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
7156
7157 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
7158
7159         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
7160         values other then G_TYPE_STRING.
7161         * gtk/gtktreeselection.c: Minor commenting updates.
7162         * gtk/gtktreeview.c: Format updates.
7163
7164 2000-10-09  Tor Lillqvist  <tml@iki.fi>
7165
7166         * README.win32: Update.
7167
7168         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
7169         lines that had been deleted by mistake (?).
7170
7171         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
7172         also the case fg==white and bg==black (but still not randomly
7173         coloured cursors). Thanks to Wolfgang Sourdeau.
7174
7175         * gdk/win32/*.c: Silence gcc -Wall.
7176
7177         * gtk/gtk.def: Add missing entry points.
7178
7179         Fixes by Hans Breuer:
7180
7181         * gdk/makefile.msc
7182         * gdk/win32/makefile.msc: Update.
7183
7184         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
7185         some MSVC thing, presumably), cause breakpoint on failures. Add
7186         GDK_NOR case. Call g_log_set_always_fatal.
7187
7188         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
7189         should be pased by reference.
7190         
7191         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
7192         
7193         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
7194
7195         * gdk/win32/gdkevents-win32.c
7196         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
7197
7198         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
7199         implementation object.
7200
7201         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
7202         not just windows.
7203         
7204         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
7205         Use the wrapper object.
7206         
7207 2000-10-06  Havoc Pennington  <hp@redhat.com>
7208
7209         * Makefile.am (SRC_SUBDIRS): contrib subdir
7210
7211         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
7212         so it can be used in Xlib version
7213
7214         * demos/testpixbuf.c (update_timeout): error checking from 1.0
7215         tree
7216
7217         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
7218         change from 1.0 tree that returns first frame of animation
7219         if the loaded file is an animation.
7220
7221         * contrib: add new directory to hold stuff that comes with GTK+
7222         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
7223         
7224         * configure.in: add contrib/*
7225
7226 2000-10-05  Havoc Pennington  <hp@redhat.com>
7227
7228         * demos/testpixbuf-save.c: add pixbuf save test
7229
7230         * demos/Makefile.am: add testpixbuf-save.c
7231
7232 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
7233
7234         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
7235         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
7236         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
7237         * gtk/gtktreeselection.[ch]: Replaced
7238         "node_selected"/"node_unselected" signal with "selection_changed"
7239         signal.
7240
7241 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
7242
7243         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
7244         tree widget.
7245
7246 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
7247
7248         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
7249         drawing.
7250
7251 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
7252
7253         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
7254         Move list pointer forwards before removing item from
7255         list. (Crash reported by Salmaso Raffaele)
7256
7257         * gdk/gdkwindow.h: Remove spurious trailing ,
7258
7259         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
7260         dependencies on uninstalled libraries, sorry folks.
7261
7262 2000-10-04  Havoc Pennington  <hp@redhat.com>
7263
7264         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
7265         gtk/gtkiconfactory.c: Fix copyrights    
7266
7267         * demos/testpixbuf.c: add inline pixbuf test
7268         
7269 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
7270
7271         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
7272         Add gdk_window_iconify.
7273
7274         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
7275         (gdk_window_set_geometry_hints): Add win_gravity
7276         to geometry structure.
7277
7278         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
7279         Implement _NET_WM_PING.
7280
7281         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
7282         Set _NET_WM_PID on the client leader.
7283
7284         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
7285         Handle UTF-8 better.
7286
7287         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
7288         UTF-8 better, set _NET_WM_NAME as well. Only set
7289         icon name if it hasn't previously been explicitely 
7290         set.
7291
7292 2000-10-03  Havoc Pennington  <hp@redhat.com>
7293
7294         * gtk/testtextbuffer.c: clean up trailing whitespace,
7295         add extensive tests for tag toggle iteration.
7296         
7297         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
7298         distance
7299
7300         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
7301         optimize case where the tag root is on level 1
7302         (gtk_text_line_previous_could_contain_tag): attempt to implement
7303         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
7304         functionality
7305
7306         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
7307         Implement this, though not very efficiently.
7308
7309         * gtk/gtktextiterprivate.h: reformat
7310
7311         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
7312         iterator
7313
7314         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
7315         this to properly revalidate the iterators.
7316
7317         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
7318         properly at the end of the line (and therefore on empty lines)
7319
7320         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
7321         maybe we should return a value...
7322
7323 2000-10-03  Tor Lillqvist  <tml@iki.fi>
7324
7325         * config.h.win32: Guard definition of alloca(). glib.h now handles
7326         that.
7327
7328         * gdk/gdk.def
7329         * gtk/gtk.def: Add new entry points.
7330
7331         Changes just to make GTK+ build without errors on Win32. No hope
7332         of it working in its current state, though...:
7333         
7334         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
7335         some functions from the X11 backend, just to make GTK+ build.
7336
7337         * gdk/makefile.mingw.in
7338         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
7339         number. Add new object files.
7340
7341         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
7342         GetMessageTime to get timestamp (where on X11 uses
7343         gdk_x11_get_server_time()).
7344
7345 2000-10-02  Havoc Pennington  <hp@pobox.com>
7346
7347         * gtk/gtktextview.c: text_window_* weren't static and should have
7348         been.
7349         Start work on child widgets; not yet complete, syncing to 
7350         office computer.
7351
7352         * gtk/gtktextchild.h: change this to contain a public interface,
7353         starting work on child interfaces.
7354         * gtk/gtktextchildprivate.h: move private interfaces here
7355
7356         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
7357
7358         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
7359         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
7360         gtk/gtktextmark.c: copyright notices
7361
7362         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
7363         internal functions      
7364
7365         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
7366         internal function
7367
7368         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
7369         Reformatting    
7370
7371 2000-09-30  Havoc Pennington  <hp@pobox.com>
7372
7373         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
7374         NULL start/end pointers
7375
7376         * gtk/gtktextbuffer.c: Write some docs
7377         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
7378         NULL, so you can just check whether there's a selection.        
7379
7380         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
7381         cleanup_line or segments_changed ourselves, it gets done 
7382         in unlink_segment
7383
7384         * gtk/gtktextmark.h:
7385         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
7386         
7387         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
7388
7389         * gtk/gtktextmark.c: delete some more old Tk cruft
7390
7391         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
7392         mark before removing it, so we can emit MARK_DELETED with a valid
7393         pointer.
7394         (gtk_text_buffer_mark_set): hold ref across signal emission
7395
7396         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
7397         whining about attempts to delete special marks
7398
7399         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
7400         underscore, since it's internal.
7401
7402         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
7403         now implemented in terms of iterators in gtktextiter.h
7404
7405         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
7406         New function, destructively sets contents of buffer. Also 
7407         a convenient way to clear the buffer by setting text to ""
7408
7409         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
7410         multiline string literal
7411
7412         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
7413         text changes.
7414
7415         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
7416         is not dereferenceable
7417         (gtk_text_iter_forward_lines): fix return value
7418
7419 2000-09-29  Havoc Pennington  <hp@redhat.com>
7420
7421         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
7422
7423         * gtk/gtktextview.c: Implement drag thresholding; change functions 
7424         that set border window size to have nicer name
7425         (gtk_text_view_mark_set_handler):  Fix this to have the 
7426         right signature.
7427
7428         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
7429
7430         * gtk/testtext.c: Update with API changes, put line numbers on 
7431         both sides.
7432         
7433         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
7434         with this
7435
7436         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
7437         pixbuf; delete a big block of #if 0 Tk code
7438
7439         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
7440         insert_pixmap with insert_pixbuf
7441
7442 2000-09-29  Martin Baulig  <baulig@suse.de>
7443
7444         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
7445         confusion with the GdkPixbuf of the GNOME 1.x platform.
7446
7447 2000-09-29  Havoc Pennington  <hp@pobox.com>
7448
7449         * gtk/gtktextview.c: Implement the side windows.
7450
7451         * gtk/testtext.c: Implement simple line numbering in the 
7452         left side window; seems to make scrolling sloooow. Oops.
7453         Also, cursor blink is for some reason causing redraws
7454         of the line numbers. Should investigate...
7455
7456 2000-09-28  Havoc Pennington  <hp@redhat.com>
7457
7458         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
7459         scrolling child windows, and draw focus rectangle properly.
7460         
7461         (gtk_text_view_buffer_to_window_coords):
7462         Coordinate transformation to deal with all these freaking windows
7463         and offsets
7464         (gtk_text_view_window_to_buffer_coords): transform the other way
7465
7466         * gtk/testtext.c (create_buffer): Update to match Pango API change
7467
7468         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
7469         anonymous tags
7470         (foreach_unref): don't emit remove signal from finalize, just
7471         set tag's parent to NULL
7472
7473 2000-09-26  Havoc Pennington  <hp@redhat.com>
7474
7475         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
7476         Fix some warnings       
7477
7478 2000-09-26  Havoc Pennington  <hp@redhat.com>
7479
7480         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
7481         headers into the private header list
7482
7483         * Makefile.am (pkgconfig_DATA): install pkg-config files
7484
7485         * configure.in: add pkg-config files
7486
7487         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
7488
7489         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
7490         outstanding icon caches on theme change.
7491
7492         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
7493         important types:
7494
7495         (GtkIconSource): Specification for creating a pixbuf 
7496         appropriate for a direction/state/size triplet from 
7497         a source pixbuf or filename
7498
7499         (GtkIconSet): List of GtkIconSource objects that are used to
7500         create the "same" icon (e.g. an OK button icon), and cache for
7501         rendered icons
7502
7503         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
7504         up the icon set for a given stock ID.  GTK maintains a stack of
7505         GtkIconFactory to search, and applications or libraries can add
7506         additional icon factories on top of the stack
7507         
7508         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
7509         the set of GtkIconSource specified for a given stock ID into 
7510         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
7511         RcStyle, under the specified stock ID.
7512
7513         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
7514         render_icon used to derive a GdkPixbuf from a GtkIconSource.
7515         This allows people to theme how prelight, insensitive, etc. are
7516         done.
7517
7518         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
7519         icon factories for a style, and return the resulting 
7520         icon set if any.
7521
7522         (gtk_style_render_icon): Render an icon using the render_icon 
7523         method in the GtkStyleClass.
7524
7525         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
7526         Use the style for a given widget to look up a stock ID, get the
7527         icon set, and render an icon using the render_icon method 
7528         of the style
7529
7530         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
7531         (contains information about a stock item), the built-in stock item
7532         IDs, and functions to add/lookup stock items.
7533
7534         * gtk/stock-icons/*: Stock icons that come with GTK
7535
7536         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
7537         a button based on a GtkStockItem
7538         (gtk_button_new_accel): Takes a uline string and accel group, and
7539         installs the accelerator.
7540
7541         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
7542         image-display widget.
7543
7544 2000-09-25  Havoc Pennington  <hp@redhat.com>
7545
7546         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
7547
7548         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
7549         Fix a bug when removing node data, we didn't properly 
7550         re-splice the linked list after removing the data.
7551
7552         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
7553         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
7554
7555         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
7556
7557         * gtk/gtktextlayout.c (set_para_values): Set tab array 
7558         for the layout from the GtkTextTag.
7559
7560         * gtk/gtktexttypes.h: delete tab and search cruft, 
7561         remove g_convert() in favor of GLib version
7562
7563         * gtk/gtktexttypes.c: remove tab implementation from here,
7564         move to Pango
7565
7566         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
7567         tab stuff using new PangoTabArray from Pango
7568
7569         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
7570         unused border_width stuff
7571
7572 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
7573
7574         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
7575         glib) and now useless utf_to_latin1() latin1_to_utf()
7576
7577         * gtk/gtktextview.[ch]: Change ::move_insert and
7578         ::delete_text action signals to ::move and ::delete;
7579         create the signals with the right enumeration type,
7580         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
7581         C-v bindings, change Home, End to move to beginning/end
7582         of line, Add C-Home C-End to move to beginning/end
7583         of buffer. Change ::cut_text to ::cut_clipboard, etc;
7584         combine ::scroll_text into ::move; use new GtkSelectionData
7585         functions to simplify DND text handling.
7586         
7587         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
7588         deletion enumerations here, rename enumeration values to 
7589         be consistently plural.
7590
7591         * gtk/gtktextbuffer.c: Use new clipboard interfaces
7592         for cut/copy/paste and primary selection.
7593
7594         * gtk/gtktextbuffer.[ch]: Remove excess time and
7595         'interactive' arguments from cut/copy/paste;
7596         rename cut to cut_clipboard, etc; remove
7597         gtk_text_buffer_get_clipboard_contents().
7598
7599         * gtk/gtktextlayout.[ch]: Add 
7600         gtk_text_layout_move_iter_to_line_end() to move the iter to 
7601         line ends.
7602
7603         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
7604         Functions to set or get a UTF-8 string on the selection
7605         data.
7606
7607         * gtk/gtkclipboard.[ch]: New, simplified selection handling
7608         interfaces.
7609
7610         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
7611         created widgets - one of these is useless if we don't.
7612
7613         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
7614         a public function clear all targets registered for the
7615         widget.
7616
7617         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
7618         Never call gtk_widget_realize() - that was just asking
7619         for bizarre side-effects.
7620
7621         * gtk/gtkselection.c (gtk_selection_owner_set): Call
7622         gdk_selection_owner_set even if the widget is the
7623         same so that we reliably update the timestamp on
7624         the server.
7625
7626         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
7627         gdk_x11_get_server_time() function.
7628         
7629         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
7630         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
7631         Add some tricky filtering on serial numbers for
7632         selection clear events to fix up long-standard
7633         race condition FIXME's in gtkselection.c.
7634
7635         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
7636         routines to convert from utf8 to compound text or
7637         STRING and from a text property to UTF-8.
7638
7639         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
7640         a convenience function gdk_get_current_event_time().
7641
7642         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
7643         and free selection_data->data properly
7644
7645 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
7646
7647         * gtk/gtkthemes.c: Remove some unecessary includes.
7648
7649 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
7650
7651         * gtk/gtktextdisplay.c
7652         * gtk/gtktextlayout.c
7653         * gtk/gtktexttag.c
7654         * gtk/gtktexttag.h
7655         * gtk/testtext.c: Change the overstrike property to strikethrough,
7656         to closer match pango.
7657
7658 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
7659
7660         * gtk/gtktextview.c: Fix up visibility so that focus,
7661         cursor_visible and blink interact properly.  Reenable cursor blink
7662         which had been roughly disabled. Make blink and focus
7663         properly per-view.
7664
7665         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
7666         Add a flag for whether to display insertion cursor and
7667         a function to set the flag.
7668
7669         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
7670         get_line_y() to get_line_yrange(), to be a bit more generally
7671         useful.
7672
7673 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
7674
7675         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
7676           do stop_navigating_submenu, to clear last timeout properly.
7677           Also in gtk_menu_motion_notify move ignore_enter above
7678           the conditional to make it always happen as suggested by Owen
7679
7680 2000-09-07  Tor Lillqvist  <tml@iki.fi>
7681
7682         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
7683
7684         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
7685         w32api headers.
7686
7687         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
7688         declarations.
7689
7690         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
7691         (gdk_win32_get_colormap): A line had been deleted by mistake.
7692
7693         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
7694         (gdk_event_translate): Handle more virtual keycodes to be able to
7695         generate GDK events for Control-comma, Control-period, etc.
7696
7697         * gtk/gtk.def: Add some missing entry points.
7698
7699 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
7700
7701         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
7702         Doc comment fixing. (Mostly non-matching parameter names.)
7703
7704         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
7705         comments a little to avoid looking like a doc comment.
7706
7707         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
7708         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
7709         conversions be changed to GError?)
7710
7711         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
7712         Move private #defines into .c file.
7713
7714         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
7715         order of argument addition, remove duplicates.
7716
7717         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
7718         parent class is FrameClass, not BinClass.
7719
7720         * gtk/gtk.h: Add gtkinvisible, which was missing.
7721         (It's occasionalyl useful for client apps, if seldom.)
7722
7723         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
7724         #define.
7725
7726 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
7727
7728         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
7729         coordinates when creating window, instead of GDK-space
7730         coordinates. (Avoid BadValue on too large windows.)
7731
7732 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
7733
7734         * configure.in (use_mmx_asm): Remove conftest* after use along the
7735         lines of AC_TRY_COMPILE.        
7736         
7737         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
7738         of g_dirname, which is deprecated.
7739         (gtk_rc_parse_any): Removed calls to
7740         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
7741
7742         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
7743         Removed calls to g_hash_table_{freeze,thaw}, as they are
7744         deprecated now.
7745
7746         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
7747         instead of g_basename.
7748         
7749 2000-09-04 Elliot Lee <sopwith@redhat.com>
7750         
7751         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
7752         ANSI warning.
7753
7754 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
7755
7756         * gtk/gtkwidget.h:  Add some documenting comments about 
7757           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
7758           just as owen said on irc.
7759
7760         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
7761           set HAS_DEFAULT.  Only set it if there isn't another window
7762           holding it (a focus window which RECEIVES_DEFAULT) and only unset
7763           it if the widget is not the focused window with RECEIVES_DEFAULT.
7764           This fixes weird double default bugs in dialogs which has things
7765           call gtk_window_set_default at times.
7766
7767 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
7768
7769         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
7770         Nils Barth and David Santiago to improve submenu
7771         navigation. The patch does this by creating a triangular
7772         region from the point where the pointer leaves the
7773         menu to the submenu.  While the pointer is in
7774         that region and a timeout has not expired, events 
7775         that would cause the active submenu to change are
7776         ignored.
7777
7778 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
7779
7780         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
7781         moving a toplevel window immediately after sizing it would
7782         result in it being sized back to the old size since 
7783         impl->width, impl->height aren't updated until we hear
7784         back from the server. There is still a (longstanding) bug
7785         here that gdk_window_get_size() will give the wrong size
7786         until we do hear back.
7787
7788 2000-08-31  Havoc Pennington  <hp@redhat.com>
7789
7790         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
7791         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
7792         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
7793         Rename GtkTextStyleValues to GtkTextAttributes
7794
7795 2000-08-31  Havoc Pennington  <hp@pobox.com>
7796
7797         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
7798         for rapid testing whether an iterator is the end iterator
7799         (gtk_text_btree_new): init end line cache
7800         (gtk_text_line_is_last): use fast cached line to 
7801         see if we're the last line.
7802         (get_last_line): use cached line here too, should 
7803         speed up some random unrelated code.
7804         
7805 2000-08-30  Havoc Pennington  <hp@pobox.com>
7806
7807         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
7808         signals.
7809
7810         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
7811         delete_text signals. This allows the signals to be used for
7812         implementing undo.
7813
7814         * gtk/gtktextbuffer.c: Change signal handler signatures; 
7815         provide "interactive" argument when emitting insert_text or
7816         delete_text signal.
7817         
7818 2000-08-30  Havoc Pennington  <hp@pobox.com>
7819
7820         * gtk/gtktextbuffer.c: Docs
7821
7822 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
7823
7824         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
7825         from switch statements, since Tor removed the enumeration
7826         value.
7827         
7828         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
7829         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
7830
7831 2000-08-29 Elliot Lee <sopwith@redhat.com>
7832         * */*.h: Use G_GNUC_CONST.
7833
7834 2000-08-27  Havoc Pennington  <hp@pobox.com>
7835
7836         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
7837         minor indentation fixes, inserted some FIXME about stuff I
7838         realized was broken while documenting it.
7839         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
7840         GTK convention  
7841
7842 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
7843
7844         * gtk/testgtk.c (create_styles): Fix double free of
7845         font desc.
7846
7847 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
7848
7849         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
7850         
7851         * gtk/testgtk.c (create_styles): Add a test for modifying
7852         the style through gtk_widget_modify_*.
7853
7854         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
7855         a function to get the current modifier style.
7856
7857         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
7858         of the passed in GtkRcStyle instead of ref'ing it.
7859
7860         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
7861
7862 2000-08-20  Tor Lillqvist  <tml@iki.fi>
7863
7864         * gdk/gdkimage.h
7865         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
7866         shared memory image+pixmap GdkImage type, or
7867         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
7868         I am dropping that.
7869
7870         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
7871         actually call gtk_init_abi_check(), passing also
7872         sizeof(GtkWindow). Ditto for gtk_init_check(). 
7873
7874         * gtk/gtk.def
7875         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
7876         New functions, used to check that the GTK+-using code has been
7877         compiled using the correct compiler and switches. In particular,
7878         with gcc one has to use the -fnative-struct switch as GTK+ is
7879         compiled with that.
7880
7881 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
7882
7883         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
7884         ->prev fields when merging lists. (Found simultaneously
7885         by Pawel Salek and Jakub Jelinek)
7886
7887 2000-08-12  Tor Lillqvist  <tml@iki.fi>
7888
7889         * gdk/gdk.def
7890         * gtk/gtk.def: Add missing entries.
7891
7892         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
7893         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
7894
7895         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
7896         function. Dummy implementation at this point.
7897
7898         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
7899         rules. Undefine GTK_COMPILATION when compiling the test programs.
7900         
7901         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
7902
7903 2000-08-11  Tor Lillqvist  <tml@iki.fi>
7904
7905         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
7906         to convert back and forth from UTF-8 and the "system" (or "current
7907         locale") charset when necessary. Indentation/spacing cleanup.
7908
7909 2000-08-10  Havoc Pennington  <hp@redhat.com>
7910
7911         * Makefile.am (snapshot): Change the format of the snapshot
7912         version to match glib
7913
7914         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
7915         from EXTRA_DIST since it doesn't seem to exist
7916
7917 2000-08-10  Tor Lillqvist  <tml@iki.fi>
7918
7919         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
7920         version of the directory name (not the UTF-8 one) when building
7921         the path name to stat().
7922
7923 2000-08-03  Elliot Lee  <sopwith@redhat.com>
7924
7925         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
7926         PANGO_ATTR_SHAPE set.
7927
7928 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
7929
7930         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
7931         Peter Osterlund to simplify the code while keeping the
7932         functionality the same.
7933
7934 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
7935
7936         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
7937         is_viewable() test further inside the function, since removing the 
7938         window from the redraw list without clearing ->update_area
7939         was also very broken.
7940
7941 2000-08-02  Tor Lillqvist  <tml@iki.fi>
7942
7943         * configure.in: Check for <unistd.h>.
7944
7945 2000-08-01  Martin Baulig  <baulig@suse.de>
7946
7947         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
7948         to display the message that this is a development version of GTK+.
7949
7950 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
7951
7952         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
7953         was depending on widget->allocation instead of the width of text_area,
7954         which was incorrect for subclasses like GtkSpinButton.
7955
7956         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
7957         with width == 1 tests that should be width == -1.
7958
7959 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
7960
7961         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
7962         (broken, Elliot, every single window blank on X) custom code with call
7963         to gdk_window_is_viewable() which a) prevents code duplicate and
7964         b) works. 
7965
7966 2000-07-31  Elliot Lee  <sopwith@redhat.com>
7967
7968         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
7969         to get the GDK_PARENT_ROOT() macro to work.
7970         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
7971         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
7972         of, windows that aren't shown.
7973         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
7974         pointer grab stuff.
7975
7976 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
7977
7978         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
7979           s/gtk_main_iteration/g_main_iteration/
7980
7981           Did this already in change:
7982                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
7983           don't know how it got reverted.
7984
7985 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
7986
7987         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
7988         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
7989
7990         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
7991         not gdk_pixbuf.
7992
7993 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
7994
7995         * configure.in,po/{sp,sr}.po: Added Serbian files
7996
7997 2000-07-30  Tor Lillqvist  <tml@iki.fi>
7998
7999         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
8000
8001         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
8002         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
8003         GIOChannel implementation.
8004
8005         * gdk/win32/gdkinput.c
8006         * gdk/win32/gdkpango-win32.c: Update license name here, too.
8007
8008         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
8009         definition to match prototype.
8010
8011         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
8012
8013 2000-07-27  Elliot Lee  <sopwith@redhat.com>
8014
8015         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
8016         function, to allow handling image formats that cannot be detected
8017         by looking at content alone.
8018
8019 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
8020
8021         * docs/tutorial/*.gif *.jpg *.eps
8022           Update these to the same look-n-feel.
8023           Why does including images in DocBook suck so badly?
8024
8025 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
8026
8027         * gtk/gtktable.c: applied patch from Phil Thompson
8028         <phil@river-bank.demon.co.uk> that enables space settings for
8029         the last row/columns as well.
8030
8031 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
8032
8033         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
8034         updates the license headers to the GNU Lesser General Public License,
8035         as well as updating the copyright year to 2000.
8036
8037 2000-07-26  Robert Brady  <rwb197@zepler.org>
8038
8039         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
8040           and po/Makefile, was installing and looking for them under gtk20
8041           and gtk2 respectively.
8042
8043 2000-07-25  Havoc Pennington  <hp@redhat.com>
8044
8045         * gtk/testtext.c: Comment out some stuff that depends on the rest
8046         of my patches.
8047
8048 2000-07-25  Havoc Pennington  <hp@redhat.com>
8049
8050         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
8051         buffer
8052
8053 2000-07-25  Havoc Pennington  <hp@redhat.com>
8054
8055         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
8056         widget changes.
8057
8058         * gtk/gtktextview.h: To be consistent with usage of "line"
8059         throughout the API to mean "newline-terminated thingy", change
8060         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
8061         to MOVEMENT_LINE.
8062
8063         (GtkTextView): Add flags for default editability, and whether to
8064         show the cursor. Add functions to get/set that. Add 
8065
8066         (gtk_text_view_get_iter_location): new function
8067
8068         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
8069         gtktextlayout.h
8070         (g_convert): Add g_convert temporarily, will go in glib in a bit
8071         
8072         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
8073         GtkTextTagTableForeach instead of brokenly using GHFunc.
8074         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
8075
8076         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
8077         moved to public header.
8078
8079         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
8080         "invisible", since "elide" was a bad name.
8081         (gtk_text_tag_get_priority): Added
8082
8083         (GtkTextStyleValues): put this in public header, along with
8084         functions to use it.
8085
8086         * gtk/gtktextmarkprivate.h: Include more headers, since we no
8087         longer include gtktextbtree.h.
8088
8089         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
8090         gtk_text_mark_deleted
8091
8092         * gtk/gtktextlayout.h: Don't include the "really private" headers,
8093         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
8094         to make this possible. Now we only need to install
8095         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
8096         (However the Makefile.am isn't changed yet because of the
8097         logistics of merging gtk-hp-patches piecemeal)
8098
8099         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
8100         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
8101         gtk_text_iter_get_line is now used in the public API for a
8102         different purpose.
8103
8104         * gtk/gtktextiter.h: Clean up function names to be more
8105         consistent. Always call char offset "offset" and byte index
8106         "index". A "line" is always a line number. 
8107
8108         (gtk_text_iter_is_last): new function, more efficient than 
8109         the existing way to check
8110         (gtk_text_iter_is_first): new function, also more efficient
8111
8112         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
8113
8114         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
8115         gtk_text_iter_forward_char, etc.
8116
8117         (gtk_text_iter_forward_to_tag_toggle): Renamed from
8118         forward_find_tag_toggle, since this isn't a linear search
8119
8120         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
8121
8122         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
8123         New functions, search for a buffer substring.
8124
8125         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
8126         interactive and default editable (since we need to store that info
8127         until we receive the selection data).
8128
8129         Remove all the _at_char and at_line etc. versions of functions;
8130         only have iterator versions.
8131
8132         Add _interactive() versions of functions, that consider the
8133         editability of text. (FIXME add interactive flag to the 
8134         insert/delete signals per Darin's suggestion)
8135
8136         (gtk_text_buffer_get_tag_table): new function, demand-creates the
8137         tag table if necessary
8138
8139         Remove declaration of gtk_text_buffer_get_iter_from_string
8140
8141         (_gtk_text_buffer_get_btree): private/internal function, added.
8142         
8143
8144         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
8145         (gtk_text_line_is_last): new function
8146
8147 2000-07-25  Havoc Pennington  <hp@redhat.com>
8148
8149         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
8150         using GtkProgressBar. See Changes-2.0.txt for details.
8151
8152         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
8153         "pulse_step" which are the equivalent of
8154         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
8155         Implement new API.
8156         
8157         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
8158         (use_text_format) to mark whether text set on the progress bar is
8159         a format string. Deprecate entire GtkProgress interface.
8160
8161         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
8162         (gtk_progress_build_string): make this a no-op if use_text_format
8163         is FALSE
8164
8165         * docs/Changes-2.0.txt: Describe progress bar changes.
8166
8167 2000-07-25  Tor Lillqvist  <tml@iki.fi>
8168
8169         * Makefile.am: Include the build directory.
8170
8171         * configure.in: Generate build/Makefile, build/win32/Makefile,
8172         gdk/, gdk/win32/, and gtk/makefile.mingw.
8173
8174         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
8175         Add GETTEXT_PACKAGE.
8176         
8177         * gdk/gdk.def
8178         * gtk/gtk.def: Updates.
8179
8180         * gdk/gdkfont.h
8181         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
8182         need them any longer.
8183
8184         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
8185
8186         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
8187         PANGOWIN32_LIBS and gdk_pixbuf.
8188
8189         * gdk/win32: Compiles, but no doubt doesn't work at all.
8190
8191         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
8192
8193         * gdk/win32/gdkinput.c: New file, temporarily.
8194         
8195         * gdk/win32/gdkinput-win32.h: New file
8196
8197         * gdk/win32/gdkinputprivate.h: Remove.
8198
8199         * gdk/win32/gdkpango-win32.c: New file.
8200
8201         * gtk/makefile.mingw.in: New file
8202
8203         * gtk/makefile.cygwin: Removed
8204         
8205         * gtk/Makefile.am: Update accordingly.
8206
8207         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
8208         made externally visible.
8209
8210         * gtk/gtkmain.c: Use it.
8211         
8212         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
8213         is enough.
8214
8215         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
8216
8217 2000-07-24 Elliot Lee <sopwith@redhat.com>
8218         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
8219         individual backends already.
8220         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
8221         again. Yes, there really is a good reason for this, if you are using the gdkregion
8222         internals, and if you're not, why do you care?
8223         * gdk/gdkwindow.c: Fix inverted condition
8224         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
8225         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
8226         * gtk/gtkrange.c: Redraw trough when moving.
8227         * gtk/gtktypeutils.c: Fix warning by adding const cast.
8228         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
8229
8230 2000-07-23  Tor Lillqvist  <tml@iki.fi>
8231
8232         * configure.in: Check for mkstemp and sigsetjmp. Output
8233         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
8234
8235         More work on GDK for Win32. Still in an intermediate state.
8236
8237         * gdk/makefile.cygwin
8238         * gdk/win32/makefile.cygwin: Removed.
8239         
8240         * gdk/makefile.mingw.in
8241         * gdk/win32/makefile.mingw.in: New files.
8242
8243         * gdk/Makefile.am
8244         * gdk/win32/Makefile.am: Generate and distribute them.
8245
8246         * gdk/win32/gdkwindow-win32.h
8247         * gdk/win32/gdkdrawable-win32.h
8248         * gdk/win32/gdkpixmap-win32.h: New files.
8249
8250         * gdk/win32/gdkcolor-win32.c
8251         * gdk/win32/gdkcursor-win32.c
8252         * gdk/win32/gdkdrawable-win32.c
8253         * gdk/win32/gdkgc-win32.c
8254         * gdk/win32/gdkimage-win32.c
8255         * gdk/win32/gdkprivate-win32.h
8256         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
8257         Rename fields and variables called xcursor, xid, etc (these names
8258         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
8259
8260 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
8261
8262         * gtk/gtkentry.[ch]: Fix some problems with vertical
8263         alignment.
8264
8265         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
8266         char/byte confusion.
8267
8268 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
8269
8270         * gtk/gtktextview.c (changed_handler): Fix bug where
8271         redraw wasn't being done properly when height of
8272         dirty region changed.
8273
8274         * demos/Makefile.am: Remove various references to
8275         -lgmodule
8276
8277 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
8278
8279         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
8280         PangoAttrShape to reserve space for pixmaps, add 
8281         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
8282         in the display functions.
8283         
8284         * gtk/testgtk.c (create_layout): Set some more exotic
8285         scrolled window options
8286
8287         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
8288         Add function to set the shadow type of a window, to allow
8289         putting a shadow around widgets such as GtkLayout or GnomeCanvas
8290         which don't draw their own frame.
8291
8292 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
8293
8294         * docs/tutorial/package-db-tutorial.sh: New file for
8295           packaging DocBook format tutorial
8296
8297 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
8298
8299         * docs/tutorial/gtk-tut.sgml: Minor updates
8300
8301         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
8302
8303 2000-07-19  Tor Lillqvist  <tml@iki.fi>
8304
8305         * gtk/gtksignal.c: Fix C++ comment.
8306
8307         * gtk/gtkimmulticontext.c
8308         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
8309         don't return value from void functions.
8310
8311         * gtk/gtk.def: Add gtk_rc_style_unref.
8312
8313 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
8314
8315         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
8316         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
8317         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
8318         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
8319         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
8320         gtk/gtktypeutils.h: Include files outside of the extern "C"
8321         block. Makes some C++ compiler happy. Reported by Denis Vakatov
8322         <vakatov@peony.nlm.nih.gov>.
8323
8324 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
8325
8326         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
8327           Completes first pass. Hurrah!
8328
8329 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
8330
8331         * docs/tutorial/gtk-tut.sgml: More clean ups.
8332
8333 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
8334
8335         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
8336         paint the background of the text area which was accidentally
8337         removed at some point.
8338
8339         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
8340           
8341          - Move most of the functionality from the theme vtable
8342            into GtkRcStyleClass and GtkStyleClass. The moved
8343            vtable functions were changed a bit in the move to
8344            work better in their new home.
8345
8346          - Get rid of the engine and engine_data fields from
8347            GtkRcStyle and GtkStyle; instead the theme
8348            engine derives theme-specific subclasses of GtkRcStyle
8349            and GtkStyle
8350
8351          - Add extra dlsym() found entry point to themes,
8352            theme_create_rc_style().
8353
8354         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
8355         in gtk_style_real_copy.
8356
8357         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
8358         to register a type associated with an engine. (The engine
8359         won't be unloaded as there is an instance of the type.)
8360
8361
8362 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
8363
8364         * docs/tutorial/gtk-tut.sgml: Clean ups.
8365
8366 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
8367
8368         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
8369           of cleaning up to do.
8370
8371 2000-07-15  Tor Lillqvist  <tml@iki.fi>
8372
8373         * gdk/testgdk.c: New file, quick hack to test backends for
8374         pixel-by-pixel correctness of the most simple graphic operations.
8375
8376 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
8377
8378         * Really release 1.3.1
8379         
8380         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
8381         include structure.
8382
8383 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
8384
8385         * Released 1.3.1
8386
8387 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
8388
8389         * gtk/gtktextlayout.c: use FALSE for size_only most
8390         of the time when calling gtk_text_layout_get_line_display()
8391         to avoid causing double reshapes when a redraw follows
8392         immediately after.
8393
8394 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
8395
8396         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
8397         appropriate region and gdk_window_process_updates() so trough
8398         updating doesn't lag behind the window being scrolled.
8399
8400         * gdk/gdkgc.c: Make parent_class pointer static.
8401          
8402 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
8403
8404         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
8405         include <string.h>.
8406          
8407         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
8408         cut-and-paste error in computing memory offset for 4 channels.
8409
8410 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
8411
8412         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
8413         gtk_rc_append_default_pixmap_path(), since it wasn't
8414         adding an interesting path and we don't have a meaningful
8415         default for this value.
8416
8417 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
8418
8419         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
8420         gtk-config to gtk-config-2.0 move gtk_.m4 to
8421         gtk-2.0.m4
8422
8423         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
8424         gdk/Makefile.am demos/Makefile.am: Change 
8425         library names to libgtk-1.3.la, etc, so that we
8426         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
8427
8428         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
8429         gdk/Makefile.am gdk/x11/Makfile.am
8430         Move include files into /usr/include/gtk-2.0, 
8431         /usr/lib/gtk-2.0/include/
8432          
8433         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
8434         gtk/gtkintl.h: Change package for gettext from 
8435         gtk+ to gtk20. Put hack in autogen.sh to modify
8436         po/Makefile.in.in after gettextize to make this
8437         possible.
8438
8439         * gtk+.spec: Some updates, not tested.
8440
8441         * gdk-pixbuf/Makefile.am: Move loaders into
8442         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
8443
8444         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
8445         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
8446         to THEMENAME/gtk-2.0/. Move engine directory  to
8447         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
8448         
8449 2000-07-12  Tor Lillqvist  <tml@iki.fi>
8450
8451         Win32 changes, still doesn't build though.
8452
8453         * gdk/makefile.cygwin
8454         * gdk/win32/makefile.cygwin
8455         * gtk/makefile.cygwin: Updates.
8456
8457         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
8458         default values for fg and bg pixel as X11 does (0 and 1), not
8459         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
8460         Use 0 for pen width by default (treated as 1 anyway later, but for
8461         apps that might check the value in the GdkGC).
8462         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
8463         interface to gdk_gc_predraw and _postdraw.
8464
8465         * gdk/win32/gdkwin32.h
8466         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
8467
8468         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
8469         extraneous semicolon.
8470
8471         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
8472
8473         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
8474         not the Win32 bitspixel value.
8475
8476         * gdk/win32/gdkcc-win32.c:
8477         * gdk/win32/gdkcolor-win32.c 
8478         * gdk/win32/gdkprivate-win32.h
8479         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
8480         GDK object structure.
8481
8482 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
8483
8484         * docs/tutorial/gtk_tut_12.es.sgml (name): 
8485         * docs/tutorial/gtk_tut_it.sgml (name): 
8486         * docs/tutorial/gtk_tut_fr.sgml (name): 
8487         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
8488         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
8489
8490 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
8491
8492         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
8493           small changes.
8494
8495 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
8496
8497         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
8498         a bug here, never been here and never fixed anything ;(
8499         (don't segfault if tree->root_tree is NULL, which happens prior
8500         to widget realization, but puke instead).
8501
8502 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
8503
8504         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
8505         add the necessary tokens.
8506
8507         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
8508         (gtk_rc_style_to_style): copy thicknesses.
8509         (gtk_rc_init_style): apply thicknesses.
8510         (gtk_rc_parse_style): parse xthickness and ythickness.
8511
8512         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
8513
8514         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
8515         (gdk_window_new): 
8516         (_gdk_windowing_window_init): 
8517         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
8518         (gdk_pixmap_create_from_data): 
8519         (gdk_bitmap_create_from_data): 
8520         (gdk_pixmap_new): 
8521         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
8522         (gdk_image_new): 
8523         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
8524         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
8525         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
8526         (gdk_colormap_get_system): 
8527         (gdk_colormap_new): 
8528         * gdk/gdkwindow.c (gdk_window_init): 
8529         * gtk/gtkstyle.c (gtk_style_new):
8530         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
8531         * gdk/gdkpixmap.c (gdk_pixmap_init): 
8532         * gtk/gtkrc.c (gtk_rc_style_new):
8533         use g_object_new() instead of g_type_create_instance() which
8534         is a private function for fundamental type implementations.
8535
8536 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
8537
8538         * configure.in: Add check for db2html
8539
8540 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
8541
8542         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
8543         hack to set glib_debug_objects based on gtk_debug_flags.
8544
8545 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
8546
8547         * INSTALL.in: Update the Prerequisites section.
8548
8549         * Makefile.am demos/Makefile.am docs/Makefile.am
8550         docs/tutorial/Makefile.am gdk/x11/Makefile.am
8551         gdk/linux-fb/Makefile.am: Dist fixes
8552
8553 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
8554
8555         * NEWS: 10,000 foot view of 1.3.1 changes.
8556
8557 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
8558
8559         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
8560         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
8561         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
8562         gdk/x11/gdkmain-x11.c: 
8563
8564         Patch from George Lebl to add a GdkGrabStatus enumeration to use
8565         as a return value of gdk_*_grab(). Previously, we just
8566         returned the X11 values directly.
8567
8568 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
8569
8570         * gdk/x11/Makefile.am: Patch from George Lebl to 
8571         install all the headers in the right place.
8572
8573 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
8574
8575         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
8576           initial conversion to DocBook.
8577
8578 2000-07-04  Tor Lillqvist  <tml@iki.fi>
8579
8580         * README.win32: Improve a bit.
8581
8582         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
8583         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
8584         Alt+0nnn on the numpad (used to enter characters by numeric code
8585         from current DOS or ANSI codepage) working correctly, as in other
8586         Windows apps.
8587
8588         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
8589         same argument validity tests as in X11 version.
8590         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
8591
8592         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
8593         definitions in case missing from headers.
8594
8595         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
8596         destroy the window-specific cursor.
8597         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
8598         calling GetModuleHandle(NULL).
8599         (gdk_window_set_cursor): Reworked to always copy the passed cursor
8600         with CopyCursor before setting it as the window-specific
8601         cursor. It is OK for the caller to destroy the GdkCursor (and thus
8602         also its Windows cursor) after calling this function. Destroy any
8603         previous window-specific cursor.
8604
8605 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
8606
8607         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
8608         font charset is iso8859-1, not iso-8859-1.
8609
8610 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
8611
8612         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
8613         Use g_get_charset() instead of g_get_codeset().
8614
8615         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
8616         Comment out some strdup'ing functions to keep timj
8617         happy until we finish fighting this out.
8618
8619 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
8620
8621         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
8622         <= width or height.
8623
8624         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
8625         from 1.2 for parent/child states.
8626
8627         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
8628         of typos.
8629
8630         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
8631         event structures, replace with a generic axes field. Replace 
8632         deviceid/sourec with GdkDevice *device.
8633
8634         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
8635         to extract particular axis use value from event. (Also
8636         can be used for normal X/Y.)
8637
8638         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
8639         allow for arbitrary number of axes, namespace everything
8640         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
8641         everywhere.
8642
8643         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
8644         Get rid of the gdk_input_vtable setup if favor of simply
8645         defining the functions in gdkinput-none/gxi/xfree.c in
8646         a similar fashion to the way that the port structure is 
8647         done.
8648
8649         * gtk/gtkdnd.c: Fix fields of synthesized button press event
8650         for new event structures. 
8651
8652         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
8653         new device interfaces.
8654
8655 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
8656
8657         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
8658         set the initial text.
8659
8660         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
8661         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
8662         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
8663         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
8664
8665         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
8666         pango_layout_set_font_description to simplify.
8667
8668 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
8669
8670         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
8671         pango_layout_set_font_description to simplify.
8672
8673 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
8674
8675         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
8676         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
8677         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
8678
8679         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
8680         PANGO_PIXELS() macro.
8681
8682 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
8683
8684         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
8685         that returns a PangoContext owned by the widget and updated to
8686         match future changes in the widget. Also, make 
8687         gtk_widget_create_pango_layout() use this context. If we ever
8688         add a ::changed signal to PangoContext, this will make things
8689         much more convenient. 
8690
8691         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
8692         in the appropriate places instead of destroying the layouts and
8693         creating new ones.
8694
8695         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
8696         in a few strategic places.
8697
8698 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
8699
8700         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
8701         gtk_widget_size_request() on reparented child, if one. Otherwise,
8702         queue_resize() on the child never results in it getting size-requested
8703         at all.
8704
8705         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
8706         in option menus, so that (with luck) people won't copy it into
8707         their apps in the future.
8708
8709         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
8710         to gtk_option_menu_calc_size. This isn't perfect, but should fix
8711         a lot of problems with changing the size of the menu's menu
8712         items after adding it to the option menu.
8713
8714         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
8715
8716         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
8717         the text direction for a widget changes.
8718
8719         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
8720         ::direction_changed to get rid of various hacks.
8721
8722 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
8723
8724         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
8725         name.
8726
8727 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
8728
8729         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
8730         flag to the structure. Do not call XFreePixmap on pixmaps created
8731         by gdk_pixmap_foreign_new().
8732
8733 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
8734
8735         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
8736         value using GdkRGB functionality given GdkColormap and GdkColor.
8737         (name not final, waiting for inspiration.)
8738         
8739         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
8740         set the foreground/background of a GC using the GC's colormap
8741         and GdkRGB. (name not final, waiting for inspiration.)
8742
8743         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
8744         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
8745
8746         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
8747         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
8748         purely a function of the corresponding colormap. Make
8749         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
8750
8751         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
8752         gdk_pixbuf_*create_from_xpm_* in terms of
8753         gdk_pixbuf_new_from_xpm_data(), move into platform independent
8754         code.
8755
8756         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
8757         advantage of the new draw_rgb_32_image_dithalign.
8758
8759         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
8760
8761         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
8762         on each created GC.
8763
8764         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
8765
8766         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
8767         which we initialize from the drawable when the GC is created,
8768         if the drawable has a colormap.
8769
8770         * gdk/x11/gdkgc-x11.c: include string.h for memset.
8771
8772         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
8773
8774         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
8775
8776 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
8777
8778         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
8779         actually returning expose events, make sure to set
8780         the count field properly.
8781
8782         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
8783         accidentally reintroced bug which always cleared
8784         the graphics_exposures value. 
8785
8786 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
8787
8788         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
8789
8790 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
8791
8792         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
8793
8794 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
8795
8796         * docs/faq/gtk-faq.sgml: Start of Section 6.
8797
8798 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
8799
8800         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
8801         
8802         (Fixes problem with drawing childless frames. Pointed out
8803         by and a first patch from Anders)
8804         
8805         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
8806         compute a child_allocation, even if we don't have a child.
8807
8808         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
8809         Always chain to the parent's impl, even if we don't have a child.
8810
8811 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
8812
8813         * gdk/gdkrgb.c: If possible, create only a single shm segment and
8814         use multiple parts of it instead of creating a bunch of separate
8815         segments, since the maximum number of segments per system is not
8816         large. (This might be worth backporting to GTK+-1.2.x if we make a
8817         new release )
8818
8819         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
8820         structure in preparation for per-colormap GdkRGB.
8821
8822         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
8823         to False when we get EINVAL from shmget so that the caller of
8824         gdk_image_new can retry with a smaller segment size.
8825
8826 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
8827
8828         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
8829
8830 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
8831
8832         * configure.in: make the current version number 1.3.1 (binary age 0,
8833         interface age 0).
8834         
8835         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
8836         gtkcompat.h is all we want.
8837
8838         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
8839         GLib primitive types. fixed g_type_register_fundamental() argument
8840         ordering.
8841
8842         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
8843         compiles.
8844
8845         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
8846         object code cleanup, comment trigraph fixes, etc...
8847
8848 2000-06-23  Havoc Pennington  <hp@redhat.com>
8849
8850         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
8851         instead of making up a bogus name for first_para_mark
8852
8853         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
8854         0 as a context ID
8855
8856 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
8857
8858         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
8859
8860 2000-06-21  Havoc Pennington  <hp@pobox.com>
8861
8862         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
8863         we didn't check window->bg_pixmap != GDK_NO_BG.
8864
8865         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
8866         gdk-pixbuf
8867
8868 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
8869
8870         * docs/faq/gtk-faq.sgm: Move file to here.
8871           TODO: Update Makfile.am 
8872
8873 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
8874
8875         * docs/gtk-faq.sgm: Add Section 2
8876
8877 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
8878
8879         * docs/gtk-faq.sgm: New file. Start of DocBook
8880           version of the FAQ.
8881
8882 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
8883
8884         * configure.in (GDK_PIXBUF_MAJOR): Define version
8885         numbers for GDK_PIXBUF_*, as they get substituted
8886         into a header file. Need to consider versioning
8887         for gdk-pixbuf more carefully later.
8888
8889 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
8890
8891         Work with srcdir != builddir.   
8892         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
8893         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
8894         * demos/testpixbuf.c: Likewise.
8895         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
8896         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
8897         <gdk/x11/gdkx.h>.
8898         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
8899         "gdk-pixbuf.h".
8900         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
8901
8902 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
8903
8904         * TODO.xml: Change 1.4 version numbers to 2.0.
8905
8906 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
8907
8908         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
8909         fixups to GTK+ standard.
8910
8911 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
8912
8913         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
8914         gdk-pixbuf.
8915
8916         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
8917         fixups for GObject.
8918
8919         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
8920         gdk-pixbuf with GDK dependencies moved into GDK.
8921         
8922         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
8923         move gdk-pixbuf-loader here until GObject has signals.
8924
8925         * demos/: New directory of demos. Move demos from
8926         gdk-pixbuf here.
8927
8928         * demos/pixbuf-init.c: Small bit of code to check for
8929         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
8930         set GDK_PIXBUF_MODULEDIR appropriately.
8931
8932         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
8933         define which no longer makes sense.
8934
8935 2000-06-21  Havoc Pennington  <hp@redhat.com>
8936
8937         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
8938         gtk_get_default_language
8939
8940         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
8941         new function to get the default language
8942
8943         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
8944         s/gtk_text_view_style_values/gtk_text_style_values/
8945
8946         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
8947         Add a "language" field to tags.
8948
8949         (gtk_text_tag_set_arg): Fix bug in setting
8950         "bg_full_height_set" tag.
8951
8952 2000-06-21  Havoc Pennington  <hp@redhat.com>
8953
8954         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
8955         in the interfaces
8956
8957         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
8958         stuff instead when possible.
8959
8960         * gtk/gtktexttypes.h: Delete some unused constants
8961
8962         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
8963         testtextbuffer.c: use glib instead of custom unicode routines
8964
8965 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
8966
8967         * docs/es/: Removed mistakenly added generated sgml
8968
8969         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
8970         Remove outdated info files.
8971
8972         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
8973         Moved tutorial files into subdir
8974
8975         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
8976         subdir.
8977
8978         * docs/man/gtk_button.pod: Remove. (contents will be
8979         integrated into gtk-reference button page.)
8980
8981         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
8982         docs/faq/Makefile.am: Adjust for new organization
8983
8984 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
8985
8986         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
8987         not $(MKINSTALLDIRS)
8988
8989 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
8990
8991         * gtk/testgtk.c (create_text): Finish the job Elliot started
8992         of removing font setting test for text widget. (Since text widget
8993         and GdkFont are not deprecated, and cause portability problems.)
8994
8995 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
8996
8997         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
8998         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
8999         Remove use of libunicode in favor of new GLib functions.
9000
9001         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
9002         nano-x, framebuffer. The X11 include is just a hack until we get
9003         the necessary functions in gdkcolor.h, so there is no reason to
9004         add other includes of platforms.
9005
9006         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
9007         window bigger than the screen change.
9008
9009         * gtk/testgtk.c: Revert some random changes from Elliot
9010         that had no particular point and were causing testgtkrc
9011         not to function correctly.
9012         
9013         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
9014         because GdkSegment and GdkRegionBox have the same fields,
9015         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
9016         results in clearer code.
9017
9018         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
9019         gdk_input_translate_coordinates): Fix missed GdkObjectification
9020
9021 2000-06-18  Elliot Lee  <sopwith@redhat.com>
9022
9023         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
9024         * gtk/gtk{plug,socket}.h: Missed commits from previous.
9025
9026 2000-06-20  Havoc Pennington  <hp@redhat.com>
9027
9028         * modules/linux-fb/Makefile.am: Make this compile
9029         without framebuffer enabled
9030
9031         * gdk/linux-fb/Makefile.am: Add conditional to not build
9032         framebuffer unless specified in configure
9033
9034         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
9035         the size of the target instead of source if -1 was passed for
9036         width/height
9037
9038         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
9039         width/height confusion.
9040
9041 2000-06-19  Havoc Pennington  <hp@redhat.com>
9042
9043         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
9044         GDK_DRAWABLE_XID. In the future, we probably want to make it
9045         faster with G_DISABLE_CHECKS turned on.
9046
9047 2000-06-14  Havoc Pennington  <hp@redhat.com>
9048
9049         * gdk/Makefile.am: add gdkpixmap.c
9050
9051         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
9052         s/gdk_image_init/_gdk_windowing_image_init
9053
9054         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
9055         ref/unref
9056
9057         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
9058
9059         * gdk/gdkcompat.h: remove GdkWindowType compat, since
9060         GdkWindowType is now non-deprecated; 
9061         change gdk_window_get_type() compat to be
9062         gdk_window_get_window_type().
9063
9064         * gdk/gdkdnd.h: make GdkDragContext a GObject.
9065
9066         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
9067         virtual GObject. Make all functions call into the vtable.
9068         Move gdk_image_put() guts in here. Remove GdkDrawableType
9069         and gdk_drawable_get_type(), these are now GdkWindow-specific.
9070         draw_image, get_depth, get_size, set_colormap, get_colormap,
9071         get_visual added to the vtable.
9072         
9073         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
9074         GObject. Virtualize everything. 
9075         (gdk_gc_new_with_values): remove check for destroyed window,
9076         because now GdkWindow::create_gc will check this.
9077         (gdk_gc_set_values): New function to set GC values, this 
9078         was already implemented but wasn't in the header
9079
9080         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
9081
9082         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
9083         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
9084         remove _gdk_window_class; add _gdk_window_impl_get_type() and
9085         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
9086         _gdk_windowing_window_init, rename gdk_image_init to
9087         _gdk_windowing_image_init.
9088         
9089         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
9090         (gdk_draw_layout): Remove check for destroyed window, 
9091         because all the drawable methods already check it.
9092         
9093         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
9094         Add gdkpixmap.c which contains implementation of GdkDrawable
9095         virtual table (by chaining to a platform-specific implementation
9096         object).
9097         
9098         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
9099         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
9100         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
9101         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
9102         GdkColormapPrivate. 
9103
9104         * gdk/gdktypes.h: #include <glib-object.h>
9105
9106         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
9107         Move most functionality to platform-specific implementation
9108         object. GdkWindow itself now handles the backing store, then
9109         chains to the platform-specific implementation.
9110         (gdk_window_get_window_type): return GdkWindowType of the window.
9111         (gdk_window_peek_children): New routine, returns the children of 
9112         a GdkWindow
9113         (gdk_window_get_children): Was in X11-specific code and did 
9114         XQueryTree. Changed to simply return a copy of window->children; 
9115         so it can go in cross-platform code.
9116         
9117         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
9118
9119         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
9120         GdkColormap; just changed to use the new private data instead
9121         of casting to GdkColormapPrivate.
9122
9123         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
9124         gdk_cursor_new().
9125
9126         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
9127         (private data member in the GObject). 
9128         (xdnd_manager_source_filter): Function had broken 
9129         error handling, fix it (use gdk_error_trap_push).
9130
9131         * gdk/x11/gdkdrawable-x11.c: This file now implements
9132         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
9133         base class is purely for the convenience of the X port,
9134         and not part of the interface to cross-platform GDK.
9135
9136         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
9137         
9138         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
9139         specific to X, and returned by the create_gc virtual method
9140         of GdkDrawableImplX11. 
9141         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
9142         rather than gchar, this was also changed in the GdkGC vtable.
9143         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
9144         mask is 0, return immediately, instead of checking every flag.
9145         This is faster, and keeps us from segfaulting if values is NULL
9146         and the mask contains some nonzero flags.
9147
9148         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
9149         GdkWindow.
9150
9151         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
9152         GdkWindowPrivate is gone.
9153
9154         * gdk/x11/gdkim-x11.c: rename things that got renamed.
9155
9156         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
9157         remove the image_put stuff that got transferred to GdkDrawable.
9158         
9159         * gdk/x11/gdkinput.c: renamings
9160
9161         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
9162
9163         * gdk/x11/gdkpixmap-x11.c: GObject conversion
9164
9165         * gdk/x11/gdkprivate-x11.h: indentation fixes
9166
9167         * gdk/x11/gdkproperty-x11.c: renamings
9168
9169         * gdk/x11/gdkselection-x11.c: renamings
9170
9171         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
9172         implements the platform-specific "impl" object.
9173         Moved gdk_window_get_children to gdk/gdkwindow.c
9174
9175         * gdk/x11/gdkx.h: Remove all the private structs and private datas
9176         that no longer exist. Add declaration of GdkGCX11 object here.
9177         Fix all the macros to still work. 
9178
9179         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
9180         GdkDragContext from the boxed types since they are now GObjects.
9181
9182         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
9183         moved xthickness/ythickness into the instance. GtkStyleClass
9184         functions are now in the standard vtable for GtkStyle, so you have
9185         to create a GObject subclass to write a theme engine.
9186         (gtk_style_copy): fixed a leaked PangoFontDescription
9187         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
9188         can be the standard GObject function.
9189         
9190         * Throughout GTK:
9191         s/style->klass->[xy]thickness/style->[xy]thickness
9192         s/pango_layout_unref/g_object_unref/
9193
9194         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
9195         
9196         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
9197         accessing GDK internals.
9198
9199         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
9200         accessing GDK internals.
9201
9202 2000-06-18  Elliot Lee  <sopwith@redhat.com>
9203
9204         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
9205
9206         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
9207         problem by calculating event position relative to the trough
9208         rather than the slider.
9209         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
9210
9211         * gdk/gdkgc.h: Add GDK_NOR.
9212
9213         * configure.in, Makefile.am: Add modules top level dir
9214         * configure.in: Only use pangox library if building x11 target.
9215         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
9216
9217 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
9218
9219         * gtk/gtkcolorsel.c: Change private class member to be named
9220         private_data throughout the file.
9221
9222         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
9223         private_data to avoid clashing with keyword.
9224
9225 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
9226
9227         * gdk/gdkdnd.h: Add comment to remove warning.
9228
9229 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
9230
9231         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
9232         Byelorussian language; changed the Makefile and file names 
9233         to reflect that.
9234
9235 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
9236
9237         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
9238         rather than gdk_window_hide; this makes things work
9239         correctly if the window is programmatically hidden while
9240         iconified.
9241
9242 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
9243
9244         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
9245         cut and paste typo where wrong pixmap was being
9246         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
9247
9248 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
9249
9250         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
9251         Add helper function to compute format / bytes 
9252         relationship. Use in a couple places to fix up
9253         errors which assume 8 * format.
9254
9255         * gtk/gtkselection.c (gtk_selection_request): Use 32
9256         rather than 8 * sizeof (GdkAtom), to work correctly
9257         on Alpha.
9258
9259 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
9260
9261         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
9262         libgtk.la
9263         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
9264         versions
9265
9266         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
9267         checking macros return NULL since the function has a return value.
9268
9269 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
9270
9271         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
9272         GTK+ from building at all.
9273
9274         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
9275
9276 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
9277
9278         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
9279         gtk/Makefile.am: make it possible to configure gtk for different
9280         targets on the same platform. The library name is now 
9281         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
9282         flag. Only the x11 target compiles right now.
9283         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
9284         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
9285         * gdk/nanox/gdk*generic*: delete generic region code.
9286         * gdk/linux-fb/gdk*generic*: delete generic region code.
9287         * README.nanox: update information.
9288         
9289 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
9290
9291         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
9292         prepend not append. (Pointed out by Brett Hall.)
9293
9294 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
9295
9296         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
9297
9298 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
9299
9300         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
9301         need this later, and this makes sure that the atexit for
9302         glib gets called after that for GDK, so atexits are
9303         properly ordered for object leak checking.
9304
9305         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
9306
9307         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
9308         pango_x_shutdown_display()
9309
9310         * gtk/simple.c (main): Close window on destroy.
9311
9312 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
9313
9314         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
9315         to treat initial creation different from setting with 
9316         regards to the graphics-exposures parameter, so add a parameter
9317         indicating whether this is initial or not.
9318
9319 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
9320
9321         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
9322         to sort of work by adding an extra return_exposes arg
9323         to gdk_event_translate() - it might be better to simply
9324         deprecate the function altogether and force people to rewrite
9325         without it. gdk_window_scroll() handles most of it, and where
9326         gdk_window_scroll() doesn't work, simply redrawing more does.
9327
9328         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
9329         assertion.
9330
9331         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
9332
9333         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
9334         bunch of pretty much useless /* Print debugging info */ comments 
9335         which had drifted away from the code they were commenting.
9336
9337 2000-06-02  Havoc Pennington  <hp@pobox.com>
9338
9339         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
9340         is in working order.
9341         
9342         * gtk/testtext.c: Change to reflect anonymous mark API
9343
9344         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
9345
9346         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
9347         field, which was unused.
9348
9349         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
9350         saves some typing.
9351
9352         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
9353
9354         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
9355         flag on the insertion point and selection bound
9356
9357         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
9358         make mark-manipulation functions take a GtkTextMark* instead of a
9359         mark name.
9360         
9361         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
9362         GtkTextMarkBody; will be used to detect attempts to delete
9363         the permanent marks (insert and selection bound)
9364
9365         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
9366
9367 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
9368
9369         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
9370         flag to on.
9371
9372         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
9373         Honor DOUBLE_BUFFRED_FLAG
9374
9375         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
9376         function to set the DOUBLE_BUFFERED flag.
9377
9378         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
9379         or not exposes done on the widget should be double-buffered.
9380
9381         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
9382         to be what would be expected. (Fixes problem with a
9383         g_return_if_fail() validating a TextDirection enumeration)
9384
9385 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
9386
9387         * gtk/gtkwidget.c: Remove all references to 
9388         offscreen flag which was no longer used.
9389
9390         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
9391
9392         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
9393         for non-null label_widget->parent.
9394
9395         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
9396         which no longer was used.
9397
9398         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
9399
9400         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
9401         for null arguments.
9402
9403         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
9404         check for destroyed windows.
9405
9406 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
9407
9408         * gtk/gtkimmulticontext.c: Add a finalize method and unref
9409         the slave context there.
9410
9411         * gtk/gtkinvisible.[ch]: Make reference counting behavior
9412         identical to GtkWindow.
9413
9414 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
9415
9416         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
9417         pangox to here, so we can write them independent of rendering
9418         system, using GDK primitives.
9419
9420         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
9421         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
9422         since we have a rendering-system independent implementation in
9423         terms of draw_glyphs().
9424         
9425         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
9426         function to render a single line.
9427
9428         * gdk/x11/gdkpango.c: Move the guts of this file mostly
9429         into ../gdkpango.c, which simplifies things, since we
9430         don't have to deal with raw X gc's.
9431
9432 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
9433
9434         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
9435         get the logical attributes for a given GtkTextLine.
9436
9437 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
9438
9439         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
9440         g_locale_get_codeset() to g_get_codeset() change.
9441
9442 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
9443
9444         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
9445         descriptions.
9446
9447         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
9448         the entry.
9449
9450         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
9451         redoing (vastly simplifying) for Pango. Still needs quite
9452         a bit of work. (Size selection is currently poor. List of 
9453         predefined sizes is not a good idea, since all of these
9454         sizes won't necessarily be distinct.)
9455
9456 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
9457
9458         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
9459         CODESET results for LANG=C.
9460
9461 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
9462
9463         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
9464         which takes a stringized pango font description;
9465         ignore the older 'font' and 'fontset' declarations.
9466
9467         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
9468         field with a GdkFont derived via gdk_font_from_description(),
9469         for compatibility. (Should we just remove it entirely?
9470         Probably too much compatibility breakage, but people
9471         should be migrating to the new Pango stuff as quickly
9472         as possible.)
9473
9474 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
9475
9476         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
9477
9478 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
9479
9480         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
9481         redoing; there are some bugs in size allocation right
9482         now, the semi-existant distinction between header / day
9483         fonts was removed, but, with Pango, could actually
9484         be made functional in a nice way.
9485         
9486         * gtk/testcalender: Move calender from examples into this
9487         directory as a test program. (We really need to restrcture
9488         testgtk into a whole directory full of tests for every
9489         widget or functionality group, separated into multiple .c
9490         files.)
9491
9492 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
9493
9494         * gtk/testgtk.c (file_exists): Fix stupid typo that
9495         was keeping RC file from being loaded.
9496
9497         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
9498         RC file font code.
9499
9500 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
9501
9502         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
9503         Add function to load a GdkFont from a PangoFontDescription.
9504
9505 2000-05-29  Tor Lillqvist  <tml@iki.fi>
9506
9507         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
9508         variable should be of type GdkEventPrivate.
9509
9510 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
9511
9512         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
9513         to have any widget for the label, use a GtkLabel widget
9514         to display the text. (Based partially on a patch from
9515         Anders Carlson.)
9516
9517         (Quite a bit of code reorganization - strip 90% of the
9518         guts out of gtkaspectframe and add a single virtual
9519         func to GtkFrameClass - compute_child_allocation.)
9520
9521 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
9522
9523         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
9524         (Removed clist->row_center_offset field because caching
9525         it wasn't saving time or code, added private function
9526         _gtk_clist_create_cell_layout()).
9527
9528 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
9529
9530         * gtk/gtkaccellabel.c: Pangoized.
9531
9532         * gtk/[hv]ruler.c: Pangoized
9533
9534 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
9535
9536         * gtk/gtkfilesel.c (gtk_file_selection_init):
9537         Use gtk_clist_set_column_auto_resize() to remove need
9538         need for manual column width computations.
9539
9540 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
9541
9542         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
9543         ensuring Pango correctness, and considerably simplifying the
9544         code.
9545         
9546         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
9547
9548         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
9549         getting of numbers of lines.
9550
9551         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
9552         to the actual requested width of the lable, not to the wrap
9553         width we set.
9554
9555         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
9556
9557         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
9558           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
9559
9560         * gtk/gtktextview.c: Fix structure inheritance.
9561
9562         * gtk/gtkprogressbar.c: Pangoize.
9563
9564 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
9565
9566         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
9567         in a function.
9568
9569         * gtk/gtktextlayout.c (find_display_line_above): Fixed
9570         bug with computing line tops.
9571
9572         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
9573
9574 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
9575
9576         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
9577         and y_offset coordinates to do what we need now. (The offset between
9578         buffer and layout coordinates has been reintroduced, but is a 
9579         bit different than before.)
9580
9581         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
9582         handle the adjustments ourselves, and scroll as necessary using
9583         the new gdk_window_scroll().
9584         
9585         The advantage of this is that when we are incrementally revalidating,
9586         we are essentially rearranging things around the visible portion
9587         of the screen. With the old setup, the visible portion of the
9588         screen was moved around in the layout, so scrolling and redrawing
9589         to track that caused jumping of the display. Since we now
9590         control the scrolling ourselves, we can suppress this and
9591         only redraw when things actually change.
9592
9593 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
9594
9595         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
9596         the region not just redisplay it after-all, since we store the
9597         cursors in the LineDisplay. (Ugly interactions here between
9598         GtkLayout and GtkTextBTree here.)
9599         
9600         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
9601
9602 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
9603
9604         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
9605         Added function to scroll contents of a window while keeping the
9606         window constant. Works by XCopyArea or guffaw-scrolling depending
9607         on the details of how the window is set up. (guffaw-scrolling
9608         still needs to be filled in.)
9609
9610 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
9611
9612         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
9613         move the debugging that was tied to a global variable
9614         to that.
9615
9616         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
9617
9618         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
9619         validated flag, in line data instead of setting height/width to
9620         -1. This allows us to perform operations with partially invalid
9621         buffer (using the old size for invalid lines) and thus to do
9622         incremental vaidation. Keep height/width aggregates up to date
9623         when deleting text and rebalancing the tree.
9624
9625         * gtk/gtktextbtree.[ch]: Add functions validate a line
9626         (gtk_text_btree_validate_line), and to validate up
9627         to a number of pixels (gtk_text_btree_validate).
9628
9629         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
9630         that indicates that something is changed and a revalidation
9631         pass is needed. Change ::need_repaint to ::changed, and
9632         make it take old and new yranges instead of a rectangle.
9633
9634         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
9635         the line_data_destroy() function from 
9636         gtk_text_btree_add_view() to a virtual function in 
9637         GtkTextLayout
9638
9639         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
9640         since we are handling partial repaints in a different fashion
9641         now.
9642
9643         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
9644         of the selection instead of queueing a repaint on the
9645         entire widget.
9646
9647         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
9648         get_selection_bounds() down to btree, make the function
9649         in buffer a wrapper around the btree function.
9650
9651         * gtk/gtktextlayout.[ch]: Add functions to check if the
9652         layout is valid and to recompute either a range of pixels
9653         aroudn a line or a certain total number of pixels.
9654
9655         * gtk/gtktextlayout.[ch]: Cache a single line display;
9656         now that we only redraw the needed portions, the hit rate
9657         for this cache is quite high.
9658         
9659         * gtk/gtktextview.[ch]: Keep track of the first paragraph
9660         on the screen so that when re-laying-out the buffer, we can
9661         keep the same place. This requires connecting to ::value_changed
9662         on the adjustments
9663
9664         * gtk/gtktextview.[ch]: Add idle functions to revalidate
9665         the buffer after we receive an ::invalidated signal.
9666         
9667 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
9668
9669         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
9670         to max of allocation and layout size, not just to the
9671         layout size.
9672
9673         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
9674         Invalidate window so it gets redrawn properly.
9675
9676         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
9677         to mean the entire window.
9678
9679         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
9680         into public header.
9681
9682 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
9683
9684         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
9685         to get the name of a mark.
9686
9687         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
9688         to find the paragraph from a y position.
9689
9690 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
9691
9692         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
9693         nodes have width/height >= 0, not > 0.
9694
9695 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
9696
9697         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
9698         Add a size_only flag, so when we only need the size, we don't create
9699         useless appearance attributes.
9700
9701         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
9702         duplicate setting of font description.
9703
9704         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
9705
9706 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
9707
9708         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
9709         EXTRA_DIST. It does not work well when the file that
9710         everything depends on is not in the tarball.
9711
9712 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
9713
9714         * gtk/testgtk.c: Some hacks and fixes so that it basically
9715         works when not sitting in the GTK+ build tree.
9716
9717 2000-05-03  Havoc Pennington  <hp@redhat.com>
9718
9719         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
9720         Properly determine the ordering of the tag root and the current
9721         line within the tree. Previous algorithm only worked if the tag
9722         root's immediate parent was the common root of both the current
9723         line and the tag root.
9724
9725 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
9726
9727         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
9728         alignment.
9729
9730         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
9731         the widget text directional dynamically.
9732
9733         * gtk/gtktextview.[ch]: Added functions to get and set default
9734         wrap mode.
9735
9736 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
9737
9738         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
9739         in cursor location computation.
9740
9741 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
9742
9743         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
9744         vadjusment values properly when layout gets smaller.
9745
9746         * gtk/gtktextview.c (need_repaint_handler): Areas being
9747         passed in are far completely inaccurate, and sometimes
9748         too small, so, for now, just queue a redraw on the
9749         whole visible region.
9750
9751 2000-04-25  Havoc Pennington  <hp@redhat.com>
9752
9753         * gtk/gtktextbtree.c (summary_destroy): new function to 
9754         destroy tag summary nodes
9755         (gtk_text_line_next_could_contain_tag): this function was 
9756         totally broken if the line passed in wasn't below the tag
9757         root. Fix it.
9758         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
9759         "wildcard" case, we have to do a linear scan. Blah.
9760         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
9761         we have to do the linear scan
9762         (tag_removed_cb): When a tag is removed from the tag table, 
9763         remove the GtkTextTagInfo node from the btree.
9764         (gtk_text_btree_spew): Implement the spew function, for 
9765         our debugging pleasure.
9766
9767 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
9768
9769         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
9770         a problem with referring to the wrong buffer.
9771
9772         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
9773
9774         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
9775         font description to gtk_style_new() - otherwise things
9776         don't work without a .gtkrc file.
9777
9778         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
9779         tags table if we create it ourself, too.
9780
9781         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
9782         it was conflicting with XKB modifiers.
9783
9784         * gtk/gtktextview.[ch]: Add simple support for 
9785         GtkIMContext.
9786
9787 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
9788
9789         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
9790         with deletion from last commit.
9791
9792 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
9793
9794         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
9795         in the context from the current locale.
9796         
9797         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
9798         context, not hardcoded value.
9799
9800         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
9801         not logical.
9802
9803 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9804
9805         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
9806         attributes - that doesn't handle partial-glyph selection
9807         properly. Instead use new pango_layout_line_get_x_ranges()
9808         functionality to draw the selection.
9809
9810         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
9811         now properly handles out-of-range coordinates.
9812
9813         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
9814
9815         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
9816         public.
9817
9818         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
9819         for paragraphs opposite to the base direction of the widget.
9820
9821         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
9822
9823         * gtk/gtktextlayout.c: Don't split segments on marks, since that
9824         causes Arabic words to reshape as you cursor through.
9825
9826         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
9827         cursor position when moving vertically with the arrow keys and
9828         scrolling with page-up/page-down. (Arrow keys save only the X,
9829         scrolling saves both X and Y.)
9830
9831         This means you can line-up / line-down or page-up / page-down
9832         without losing your place, and also that moving vertically
9833         with the cursor keys keeps the same X position, not the same
9834         character count:
9835
9836         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
9837         arrow keys move by display lines, not paragraphs.
9838
9839 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
9840
9841         * gtk/gtklayout.c: Make sure that the bin window is at least
9842         as big as the allocation. (Should we also make sure that the
9843         bin window is big enough to completely cover widget->window?)
9844
9845         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
9846         function to get the onscreen rectangle.
9847
9848         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
9849         for offsets in window coordinates.
9850
9851 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
9852
9853         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
9854         confusion.
9855
9856         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
9857         from the widget direction.
9858
9859         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
9860         Add a "direction" attribute.
9861
9862         * gtk/gtktextview.c: global s/tkxt/text_view/.
9863
9864         * gtk/testtext.c: Added long block of text in Arabic, to test out
9865         the direction attributes. (Some problems with the shaping system
9866         for arabic become obvious - like the fact the cursor splits words
9867         into unjoined pieces.)
9868
9869 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
9870
9871         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
9872
9873         * gtk/gtktextlayout.c: Fix up alignment.
9874
9875         * gtk/testtext.c: Add some tests for centering, wrapping.
9876
9877 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
9878
9879         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
9880         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
9881         If we wrote GTK+-specific layout-render function this could just replace
9882         the draw_layout() operation in the vtable.
9883
9884         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
9885         pango_layout_get_cursor_pos() and use that function.
9886
9887         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
9888         is a non-static symbol.
9889
9890         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
9891         with gtk_text_btree_find_line_by_y()
9892
9893         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
9894         renderer that handles GtkTextAppearance attributes.
9895
9896         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
9897
9898           - Move the values in the style that don't affect geometry into a
9899             GtkTextAppearance structure.
9900           - Change underline to take a PangoUnderline and "font" a string
9901             representation of a font description
9902           - Add a "font_desc" attribute which takes a FontDescription structure.
9903
9904         * gtk/gtktextlayout.[ch]:
9905
9906           - Get rid of the display-line list per each line. Instead, we
9907             generate, on demand, a GtkTextLineDisplay structure which]
9908             contains a PangoLayout * and other necesary information
9909             (offsets, cursor locations) for displaying a paragraph.
9910           - Get rid of the code to wrap lines, create display chunks,
9911             etc. Instead, we just go through a paragraph and convert
9912             it into the necessary inputs to a PangoLayout.
9913           - Implement a new attribute type, GtkTextAttrAppearance. This
9914             holds a GtkTextAppearance, and is used to pass colors, 
9915             stipple, etc, through from the layout to the display without
9916             having to use lots and lots of individual attributes.
9917           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
9918             in terms of PangoLayout functions.
9919         
9920         * gtk/gtktextview.c: 
9921          
9922           - Handle passing the necessary PangoContext to the layout
9923           - Some fixups in painting to deal with the automatic backing store
9924             and offsetting of GTK+-1.4
9925           - Add a style_set handler so that the default style reacts
9926             properly to theme changes.
9927         
9928         * gtk/gtktext?*.[ch]: Random code-style fixes.
9929
9930         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
9931
9932 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
9933
9934         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
9935         in original form preparatory to Pango-ization and gdkimcontext-ization.
9936
9937 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
9938
9939         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
9940         so that we can derive from gtkimcontext in language bindings properly.
9941
9942 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
9943
9944         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
9945         Add a compose table including (almost) all the compose combinations
9946         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
9947         data in the XIM implementation.
9948
9949         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
9950         Moved functions to convert keyvalues from and to unicode here from
9951         the win32 port and made them public.
9952
9953 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
9954
9955         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
9956
9957 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
9958
9959         * gtk/gtkimcontext.[ch]: Base class for new input context system
9960
9961         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
9962         the real input context implementation to be loaded from modules
9963         and switched on the fly.
9964
9965         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
9966         context that just does direct keysymbol => unicode translation.
9967
9968         * gtk/gtkentry.[ch]: Start switching editing over to using
9969         GtkInputContext. (No handling of preedit yet.)
9970
9971 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
9972
9973         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
9974         many substitutions. (klass should not be subsituted.)
9975
9976 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
9977
9978         * configure.in: Add checks for Pango
9979
9980         * configure.in docs/Makefile.am: Add test for sgml2html
9981         and allow 'make dist' without building html, but print out
9982         warnings in that case. (For making snapshots)
9983
9984         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
9985         Add Pango libraries and C flags
9986
9987         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
9988         Add function (gdk_draw_layout) to draw a pango layout.
9989
9990         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
9991         for getting Pango contexts for GDK.
9992
9993         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
9994
9995         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
9996         editing.
9997
9998         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
9999         keysym => unicode translations. More languages can be added
10000         here, but real input-method support is needed.
10001
10002         * docs/Changes-1.4.txt: Added note about entry behavior.
10003         
10004         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
10005         to set the reading direction for a widget and the global direction.
10006         Add test which allows toggling the global direction. Two private
10007         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
10008
10009         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
10010           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
10011
10012         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
10013
10014         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
10015         underlining now handled by Pango.
10016
10017         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
10018         to RCStyle and Style. (Having both this and the old font name and GdkFont 
10019         is temporary.)
10020
10021         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
10022         convenience functions for creating contexts and layouts for widgets.
10023
10024         * gtk/testgtk.c: Enhance label tests with multilingual labels.
10025
10026 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
10027
10028         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
10029         titles to be active, even if they aren't visible.
10030         (gtk_clist_column_titles_passive):  Ditto.
10031
10032 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
10033
10034         * gtkmenu.c:
10035         * gtkmenu.h:
10036         * gtktypeutils.h: Spelling/grammar fixes in comments.
10037
10038 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
10039
10040         * gdk/nanox/*.h: add missing header files.
10041
10042 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
10043
10044         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
10045         send_event to TRUE.
10046         (gtk_drawing_area_size): queue a resize.
10047
10048 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
10049
10050         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
10051         the handlers, also invalidate them. bug nailed down by Karl Nelson
10052         <kenelson@ece.ucdavis.edu>.
10053
10054 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
10055
10056         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
10057         "(nil)" foundries, patch from Grigorios Magklis.
10058
10059         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
10060         on non-available fonts, based on a patch by Grigorios Magklis
10061         <maglis@cs.rochester.edu>.
10062
10063 2000-05-18  Elliot Lee  <sopwith@redhat.com>
10064
10065         * gdk/x11/gdkregion-generic.c: If a region does not have any
10066         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
10067         instead of GDK_OVERLAP_RECTANGLE_IN.
10068
10069 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
10070
10071         * gtk/gtklayout.c (gtk_layout_map): Remove references to
10072         OFFSCREEN, as it is no longer necessary.
10073
10074 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
10075
10076         * gtk/gtkcolorsel.c: Patch from David Santiago
10077         <mrcooger@cyberverse.com> to change things so that the 
10078         indicator of the active palette entry is done independently,
10079         not via the focus, since it should always be visible.
10080
10081 2000-05-17  Tor Lillqvist  <tml@iki.fi>
10082
10083         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
10084         refcount leaks as in the X11 backend.
10085
10086         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
10087         cosmetics.
10088
10089         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
10090         backend. Add _gdk_windowing_window_destroy().
10091
10092         * gtk/gtkcolorsel.c: Include correct backend-specific header.
10093         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
10094         either, but these probably do exist on nanox?)
10095         
10096         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
10097         which isn't necessarily defined by <math.h>.
10098
10099         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
10100         ancestry past GtkObject.
10101
10102         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
10103         from DLL on Win32.
10104
10105         * gtk/gtk.def: Update corresponding to recent changes.
10106
10107         * gtk/makefile.{cygwin,msc}: Updates.
10108
10109 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
10110
10111         * docs/Changes-1.4.txt: A bit of editing.
10112
10113         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
10114         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
10115         to clear the update area for the window, and clear it
10116         when hiding a window.
10117
10118         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
10119         if window destroyed.
10120
10121         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
10122
10123         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
10124         gdk_window_destroy() to the generic code, since there was a lot of 
10125         window-system-independent logic it in. Add a function:
10126         
10127          _gdk_window_destroy() 
10128
10129         to the internal API to destroy a window without unreferencing it.
10130         Add a function:
10131
10132          _gdk_windowing_window_destroy()
10133
10134         That does the windowing-system-dependent part of destroying 
10135         the window.
10136
10137 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
10138
10139         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
10140
10141 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
10142
10143         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
10144         Make gtk_widget_shape_combine_mask() keep a reference count on
10145         the pixmap since it keeps it around.
10146
10147 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
10148
10149         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
10150         leak.
10151
10152         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
10153         leak with event filters.
10154
10155 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
10156
10157         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
10158         signal handlers with the right data arguments. (Fixes
10159         some warnings when a widget was repeatedly set as a drag
10160         destination.)
10161
10162         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
10163         window so we can avoid avoid setting the DND properties on the
10164         toplevel window repeatedly.
10165
10166 2000-05-13  Tor Lillqvist  <tml@iki.fi>
10167
10168         * gdk/win32/gdkwin32.h: Define more message types missing from
10169         mingw headers.
10170
10171         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
10172         call gdk_window_destroy_notify(). It was never called. This
10173         probably meant that the GdkWindow was never freed. Thanks Owen for
10174         noticing (!).
10175
10176         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
10177         window as destroyed before calling DestroyWindow(). DestroyWindow()
10178         causes a call to the window procedure (gdk_WindowProc), which
10179         calls gdk_event_translate(), which calls
10180         gdk_window_destroy_notify(), which gets confused unless the window
10181         is set as destroyed.
10182
10183         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
10184         this function to indicate it's win32 only. Put inside #ifdef
10185         G_ENABLE_DEBUG.
10186
10187         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
10188         debugging function. (gdk_event_translate:) Add a default branch
10189         that uses the above function to print debug messages with all
10190         Windows messages symbolically.
10191
10192         * gdk/win32/gdkprivate-win32.h: Declare it, and
10193         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
10194
10195 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
10196
10197         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
10198         public header file.
10199
10200 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
10201
10202         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
10203
10204         * gtk/gtktext.c: made the adjustments no-construct args, simply
10205         provide default adjustments.
10206         (gtk_text_destroy): release adjustments.
10207
10208         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
10209         adjustment argument non-construct.
10210
10211         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
10212         instead of in finalize.
10213         (gtk_progress_get_text_from_value): 
10214         (gtk_progress_get_current_text): 
10215         (gtk_progress_set_value): 
10216         (gtk_progress_get_percentage_from_value): 
10217         (gtk_progress_get_current_percentage): 
10218         (gtk_progress_set_percentage): 
10219         (gtk_progress_configure): ensure an adjustment is present.
10220
10221 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
10222
10223         * gtk/gtkcolorsel.[hc]:
10224         * gtk/gtkcolorseldialog.[hc]:
10225         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
10226         their parent implementation, use bit fields for boolean values, don't
10227         create unused widgets, usage of glib types, braces go on their own
10228         lines, function argument alignment, #include directives etc. etc. etc..
10229
10230         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
10231
10232 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
10233
10234         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
10235
10236         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
10237         of NULL.
10238
10239         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
10240         to freed data.
10241         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
10242
10243         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
10244         to NULL when the toplevel is getting destroyed.
10245         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
10246         (gtk_menu_destroy): 
10247         (gtk_menu_init): store the information of whether we have to
10248         readd the initial child ref_count during destruction in a new
10249         GtkMenu field needs_destruction_ref_count.
10250
10251         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
10252         here, those reading: learn from my mistake! ;)
10253         in order for set_?adjustment to support a default adjustemnt if
10254         invoked with an adjustment pointer of NULL, the code read (pseudo):
10255         if (v->adjustment) unref (v->adjustment);
10256         if (!adjustment) adjustment = adjustment_new ();
10257         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
10258         now imagine the first unref to actually free the old adjustment and
10259         adjustment_new() creating a new adjustment from the very same memory
10260         portion. here, the latter comparision will unintendedly fail, and
10261         all hell breaks loose.
10262         (gtk_viewport_set_hadjustment):
10263         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
10264         after unreferencing it.
10265
10266         * gtk/gtkcontainer.[hc]: removed toplevel registration
10267         functions: gtk_container_register_toplevel(),
10268         gtk_container_unregister_toplevel() and
10269         gtk_container_get_toplevels() which had wrong semantics
10270         anyways: it didn't reference and copy the list.
10271
10272         * gtk/gtkwindow.c: we take over the container toplevel registration
10273         bussiness now. windows are registered across multiple destructions,
10274         untill they are finalized. the initial implicit reference count
10275         users are holding on windows is removed with the first destruction
10276         though.
10277         (gtk_window_init): ref & sink and set has_user_ref_count, got
10278         rid of gtk_container_register_toplevel() call. add window to
10279         toplevel_list.
10280         (gtk_window_destroy): unref the window if has_user_ref_count
10281         is still set, got rid of call to
10282         gtk_container_unregister_toplevel().
10283         (gtk_window_finalize): remove window from toplevel list.
10284         (gtk_window_list_toplevels): new function to return a newly
10285         created list with referenced toplevels.
10286         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
10287
10288         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
10289         adjustment a non-construct arg.
10290         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
10291         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
10292         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
10293
10294         * gtk/gtkrange.c: added some realized checks.
10295         (gtk_range_destroy): get rid of the h/v adjustments in the
10296         destroy handler instead of finalize. remove timer.
10297         (gtk_range_get_adjustment): demand create adjustment.
10298
10299         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
10300         we simply create them on demand now and get rid of them in
10301         the destroy handler.
10302         (gtk_viewport_destroy): get rid of the h/v adjustments in the
10303         destroy handler instead of finalize.
10304         (gtk_viewport_get_hadjustment): 
10305         (gtk_viewport_get_vadjustment): 
10306         (gtk_viewport_size_allocate): demand create h/v adjustment
10307         if required.
10308
10309         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
10310         gtk_widget_real_destroy () functionality.
10311         (gtk_widget_real_destroy): reinitialize with a new style, instead
10312         of setting widget->style to NULL.
10313
10314 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
10315
10316         * gtk/gtkcalendar.c:
10317         * gtk/gtkbutton.c: ported _get_type() implementation over to
10318         GType, either to preserve memchunks allocation facilities,
10319         or because Gtk+ 1.0 GtkTypeInfo was still being used.
10320
10321         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
10322         over. prepare for ::destroy to be emitted multiple times.
10323         removed reference tracer magic. chain into GObjectClass.shutdown()
10324         to emit ::destroy signal.
10325
10326         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
10327         fundamental.
10328
10329         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
10330         cludge.
10331
10332         * gtk/gtksocket.c:
10333         * gtk/gtkplug.c:
10334         * gtk/gtklayout.c:
10335         * gtk/gtklabel.c:
10336         * gtk/gtkargcollector.c:
10337         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
10338         not being a fundamental anymore, and to work with the new
10339         type system (nuked fundamental type varargs clutter).
10340
10341         * gtk/*.c: install finalize handlers in the GObjectClass
10342         part of the class structure.
10343         changed direct GTK_OBJECT()->klass accesses to
10344         GTK_*_GET_CLASS().
10345         changed direct object_class->type accesses to GTK_CLASS_TYPE().
10346
10347         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
10348         GType. made most of the GTK_*() type macros and Gtk* typedefs
10349         simple wrappers around macros and types provided by GType.
10350         most notably, a significant portion of the old API vanished:
10351         GTK_TYPE_MAKE(),
10352         GTK_TYPE_SEQNO(),
10353         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
10354         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
10355         GTK_TYPE_ARGS,
10356         GTK_TYPE_CALLBACK,
10357         GTK_TYPE_C_CALLBACK,
10358         GTK_TYPE_FOREIGN,
10359         GtkTypeQuery,
10360         gtk_type_query(),
10361         gtk_type_set_varargs_type(),
10362         gtk_type_get_varargs_type(),
10363         gtk_type_check_object_cast(),
10364         gtk_type_check_class_cast(),
10365         gtk_type_describe_tree(),
10366         gtk_type_describe_heritage(),
10367         gtk_type_free(),
10368         gtk_type_children_types(),
10369         gtk_type_set_chunk_alloc(),
10370         gtk_type_register_enum(),
10371         gtk_type_register_flags(),
10372         gtk_type_parent_class().
10373         replacements, where available are described in ../docs/Changes-1.4.txt.
10374         implemented compatibility functions for the remaining API.
10375
10376         * configure.in: depend on glib 1.3.1, use gobject module.
10377
10378 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
10379
10380         * TODO.xml: Various updates to current status.
10381
10382 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
10383
10384         * gtk.m4: Print out version when test succeeds.
10385
10386 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
10387
10388         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
10389         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
10390         
10391         (Original triangle color selector from Simon Budig
10392         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
10393         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
10394         Santiago <mrcooger@cyberverse.com>)
10395
10396         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
10397         out into a separate widget.
10398
10399         * gtk/testgtk.c: Add some checkbuttons for toggling palette
10400         and opacity controls.
10401
10402 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
10403
10404         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
10405         snuck in prematurely.
10406
10407 2000-05-07  Tor Lillqvist  <tml@iki.fi>
10408
10409         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
10410         had deleted a ! operator by mistake, which caused
10411         GDK_SELECTION_CLEAR events never to be generated, which caused
10412         only the first copy to the clipboard from an gtkeditable to
10413         actually cause a copy to the Windows clipboard.
10414
10415 2000-05-06  Tor Lillqvist  <tml@iki.fi>
10416
10417         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
10418         compilation, too. Current mingw gcc distributions include the
10419         necessary headers. Also the necessary IIDs are now in mingw
10420         headers/libraries, and own definitions unnecessary.
10421
10422         More hacking on OLE2 DND, still doesn't work though, and thus
10423         ifdeffed out.
10424
10425         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
10426         here, too.
10427
10428 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
10429
10430         * gdk/nanox/*: nano-X port work in progress.
10431         * gdk/simple.c: simple test for Gdk.
10432         * README.nanox: notes about the port: read this first!
10433         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
10434         with nano-X.
10435
10436 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
10437
10438         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
10439         gdk_window_clear() into common code, implement in terms of
10440         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
10441         not redirected to the backing rectangle.
10442
10443 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
10444
10445         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
10446         EXTRA_DIST. It does not work well when the file that
10447         everything depends on is not in the tarball.
10448
10449 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
10450
10451         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
10452         with recursion where process_updates() is called from
10453         an expose handler. (GtkTextView is highly broken in
10454         doing this, but it should work, so it is a nice test
10455         case.)
10456
10457 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
10458
10459         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
10460         handle the case where updates are queued during processing of
10461         updates.
10462
10463 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
10464
10465         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
10466         window is on gdk_display - use that instead of segfaulting.
10467
10468 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
10469
10470         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
10471         broken and require an empty arg, give it to them.
10472
10473 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
10474
10475         * gtk/gtklabel.h: indentation fixes.
10476
10477 2000-05-02  Tor Lillqvist  <tml@iki.fi>
10478
10479         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
10480         draw too narrow or too low arcs, they seem to fail, at least with
10481         some display drivers.
10482
10483         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
10484
10485         Large changes to the Win32 backend, partially made necessary by
10486         the changes to the backend-independent internal
10487         structures. Attempts to implement similar backing store stuff as
10488         on X11. The current (CVS) version of the Win32 backend is *not* as
10489         stable as it was before the no-flicker branch was merged. A
10490         zipfile with that version is available from
10491         http://www.gimp.org/win32/. That should be use by "production"
10492         code until this CVS version is usable. (But note, the Win32
10493         backend has never been claimed to be "production quality".)
10494
10495         * README.win32: Add the above comment about versions.
10496
10497         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
10498
10499         * gdk/gdk.def: Update.
10500
10501         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
10502         presumably be replaced by some more better mechanism as 1.4 gets
10503         closer to release shape.
10504
10505         * gdk/makefile.{cygwin,msc}: Update.
10506
10507         * gdk/win32/*.c: Correct inclusions of the backend-specific and
10508         internal headers. Change code according to changes in these. Use
10509         gdk_drawable_*, not gdk_window_* where necessary.
10510
10511         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
10512         our old DND.
10513
10514         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
10515         to interpret single characters as UTF-8. Thanks to Hans Breuer.
10516         Use correct function name in warning messages.
10517
10518         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
10519         GSourceFuncs gdk_event_prepare and gdk_event_check.
10520         (gdk_event_get_graphics_expose): Do implement, use
10521         PeekMessage. Thanks to Hans Breuer.
10522         (event_mask_string): Debugging function to print an GdkEventMask.
10523         (gdk_pointer_grab): Use it.
10524
10525         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
10526         (old) book I used claimed was Hangul actually is CJK Unified
10527         Ideographs Extension A. Also, Hangul Syllables were missing.
10528         Improve logging.
10529
10530         * gdk/win32/gdkgc-win32.c: Largish changes.
10531
10532         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
10533         g_win32_getlocale() from GLib, and not setlocale() to get current
10534         locale name.
10535
10536         * gdk/win32/gdkprivate-win32.h
10537         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
10538         gdkwin32.h, similarily as in the X11 backend.
10539
10540         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
10541         assignment was used instead of equals in if test. Thanks to Hans
10542         Breuer.
10543
10544         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
10545         the X11 version.
10546
10547         * gdk/win32/makefile.{cygwin,msc}
10548         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
10549         path to the Win32 headers that works also with the mingw compiler.
10550
10551         * gtk/gtkstyle.c: Include <string.h>.
10552
10553 2000-04-26  Havoc Pennington  <hp@redhat.com>
10554
10555         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
10556         replacing the broken gtk_label_get ()
10557
10558 2000-04-15  Havoc Pennington  <hp@pobox.com>
10559
10560         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
10561         this keeps scanner scripts from getting confused.
10562
10563         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
10564         data, rather than void
10565
10566 2000-04-15  Tor Lillqvist  <tml@iki.fi>
10567
10568         * gtk/gtkclist.c (gtk_clist_motion)
10569         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
10570         with is_hint FALSE, get x and y from the event. They used to be
10571         used uninitialised. The Win32 backend never sends motion events
10572         marked as hints. This for instance fixes the annoying file and
10573         font selector behaviour in the Win32 version.
10574
10575 2000-04-14  Tor Lillqvist  <tml@iki.fi>
10576
10577         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
10578         gtk_private_n_signals variables, they are used by some software,
10579         sigh.
10580
10581         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
10582         installation directory from the Registry, where the installer
10583         should have put it.
10584
10585 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
10586
10587         * gdk/x11/Makefile.am: Fix problem with installation directory for
10588         gdkx.h
10589
10590         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
10591         <mrcooger@cyberverse.com> so that when selecting menus with the
10592         mouse, the first item will not be selected, but when selecting
10593         with an accelerator, or navigating left-right on a menubar with
10594         the menus popped up, the first item will be selected.
10595
10596 2000-04-05  Dan Damian  <dand@dnttm.ro>
10597
10598         * configure.in: Added "ro" to ALL_LINGUAS.
10599
10600 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
10601
10602         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
10603         indentation.
10604
10605         * Makefile.am (EXTRA_DIST): Fix typo.
10606
10607         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
10608         to catch gdkconfig.h
10609
10610         * gtk/gtkitemfactory.c: Added FIXME.
10611
10612 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
10613
10614         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
10615         s/return_if_fail/return_val_if_fail/g and add a return value.
10616
10617 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
10618
10619         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
10620         merge slipup.
10621
10622         * gdk/gdkinput.h: Fix missing line from merge.
10623
10624 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
10625
10626         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
10627         instead of gdkprivate.h.
10628
10629 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
10630
10631         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
10632         parent class to correctly be GtkDialogClass.
10633
10634 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
10635
10636         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
10637         toplevel windows and their immediate children by their parents,
10638         since the size of toplevel windows is out of our immediate
10639         control and we don't get any real benefit from trying to track
10640         this size for clipping.
10641
10642         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
10643         for input_only windows.
10644
10645         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
10646         to fix some hacks and make sure that we don't try to set the
10647         background of input only windows.
10648
10649 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
10650
10651         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
10652         the _really_ internal stuff, and leave gdkprivate.h for the fake private
10653         stuff that we've traditionally exposed.
10654
10655         * gdk/**.c: Use gdkinternals.h where appropriate.
10656
10657         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
10658         not include gdkprivate-x11.h, move all stuff of conceivable public
10659         interest into gdkx.h; keep all really private stuff in
10660         uninstalled header gdkprivate-x11.h.
10661
10662         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
10663         image->image_put on windows through a new function _gdk_window_draw_image()
10664         to allow us to do backing store for images. (Sort of ugly)
10665
10666         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
10667         contexts locally so that we can offset them properly when drawing 
10668         onto backing pixmaps.
10669
10670         * gdk/gdkinput.h: Reindented
10671
10672         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
10673         pixmap or color for the window, so we can properly initialize
10674         our double-buffer pixmaps, and also so that we temporarily set
10675         a background of None while scrolling.
10676
10677         * gdk/gdkregion.h: Revise region boolean operators to have an
10678         interface that is actually convenient - switch from creating new
10679         regions on every op, to "methods" that modify existing regions
10680         (A = A OP B). 3 argument forms which allow dest == src, would also
10681         be possible, but the current interfaces seem to map nicely
10682         onto what needs to be done. (There is quite a lot of region
10683         code in GDK now.)
10684
10685         * gdk/gdkregion.h: Add constructor from rectangle and a copy
10686         operator.
10687
10688         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
10689         gdkpoly-generic.h: Copy region code from Xlib, switch it over
10690         to 32 bit coordinates, modify it to be mostly GTK+ style
10691         and to have interfaces that match gdkregion.h.
10692
10693         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
10694         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
10695         create a backing pixmap and redirect all drawing to
10696         that backing pixmap until a matching gdk_window_end_paint().
10697
10698         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
10699         Create a special drawable class for GtkWindow's that 
10700         redirects the drawing to the backing pixmap as necessary
10701         and then calls the real operations in _gdk_windowing_window_class.
10702
10703         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
10704         Store invalid region for each window. Generate expose events for invalid
10705         region in an idle. This replaces both the expose compression
10706         and the redrawing queuing in GTK+. It is both more efficient and
10707         simpler than either one individually and far more so then the
10708         combination.
10709
10710         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
10711         Emulate 32 bit coordinates for windows with 16 bit coordinates
10712         by offsetting drawing, guffaw scrolling techniques and
10713         mapping/unmapping child windows as necessary.
10714
10715         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
10716         where, when invalid regions are processed, the region is stored,
10717         and if expose events come in that are detectably duplicate
10718         the processed exposes (by comparison of event serial numbers),
10719         the stored region is subtracted out of those exposes.
10720
10721         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
10722         regions newly exposed when scrolling or resizing windows.
10723         This, combined with forcing processesing of queued invalidated
10724         regions, gives nice flicker-free scrolling.
10725
10726         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
10727         invalidated regions after every scroll.
10728
10729         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
10730         emulation in GDK. Its, for all practical purposes just a
10731         GtkViewport/GtkFixed hybrid now.
10732
10733         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
10734         (16-bit) structures as necessary instead of just casting.
10735
10736         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
10737         in terms of the structures from gdkregion-generic.c, using appropriate
10738         offsets from GDK to X11 coordinates. Cache clip mask and
10739         origin and ts origin locally and only flush to the server
10740         when drawing, to avoid constantly setting and resetting these
10741         values when offsetting GC's for scrolling and backing pixmaps.
10742
10743         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
10744
10745         * gtk/gtkcontainer.c: Call process_all_updates at end
10746         of resizing to reduce flicker. (Avoids having redraw
10747         lag arbitrarily behind resize under some circumstances)
10748
10749         * gtk/gtkentry.c: Remove old backing store code, and simply take
10750         advantage of the new backing store capabilities of GDK.
10751
10752         * gtk/gtkmain.c: Simple implementation of widget backing
10753         store - simply push a paint while handling each expose.
10754         (Should really be configurable widget for widget.)
10755         
10756         * gtk/gtkwidget.c: Remove all the old complicated redraw
10757         code, and simply invalidate the GDK windows from
10758         gdk_window_queue_clear(), etc. (Sigh, so much carefully
10759         debugged complexity ... gone to the winds.)
10760
10761         Remove all the code for suppressing expose events while
10762         resizes are pending; this isn't needed since the invalid
10763         areas won't be processed until after the resizes are
10764         processed, since they are in a lower priority idle.
10765
10766 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
10767
10768         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
10769         and height of dest rectangle for non-intersecting rectangles.
10770
10771 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
10772
10773         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
10774         for GdkRectangle.
10775
10776 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
10777
10778         * gdk/gdk{events,image,private,types,window}.h
10779          gdk/x11/gdkinputprivate.h: Change all coordinates
10780          from int16 to int. Also, Change width and height from
10781          unsigned to signed to avoid all the stupid C 
10782          signedness bugs.
10783
10784 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
10785
10786         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
10787         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
10788         Add some more detailed checking.
10789
10790         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
10791         New function to retrieve the depth of a drawable.
10792
10793         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
10794         field, reorder fields to save memory. 
10795
10796 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
10797
10798         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
10799         of the background image instead of scaling the background down to
10800         a line.
10801
10802         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
10803         which temporarily set slider to wrong size.
10804
10805         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
10806         queue_clear().
10807
10808 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
10809
10810 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
10811
10812         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
10813
10814 2000-03-17  Tor Lillqvist  <tml@iki.fi>
10815
10816         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
10817         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
10818
10819         * gdk/win32/gdkfont-win32.c
10820         * gdk/win32/gdkproperty-win32.c
10821         * gdk/win32/gdkselection-win32.c
10822         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
10823         now declared such.
10824
10825 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
10826
10827         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
10828
10829 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
10830
10831         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
10832         is called without trapping X errors.
10833
10834 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
10835
10836         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
10837         way into the fontset lists.
10838
10839 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
10840
10841         * gtk/gtkthemes.h: add extern "C" scope.
10842
10843 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
10844
10845         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
10846         to make appends to the list constant. (gtk-guy-990901-0.patch)
10847
10848 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
10849
10850         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
10851         for the typename hash table.
10852
10853 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
10854
10855         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
10856         to make sure we never divide by zero. 
10857         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
10858
10859 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
10860
10861         * gtk/gtkfontsel.c: Apply patch from
10862         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
10863         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
10864
10865         Also, some cleanups in atom handling.
10866
10867 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
10868
10869         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
10870         not GtkWidget.
10871
10872 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
10873
10874         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
10875         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
10876         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
10877         more guint wrap-around bugs before going to bed.
10878
10879 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
10880
10881         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
10882         guint wrap arounds in allocation.width.
10883
10884         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
10885         process untill we fit the allocation given.
10886
10887 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
10888
10889         * gtk/gtkwidget.c:
10890         (gtk_widget_unrealize): guard widget access with ref/unref
10891         around signal emission.
10892         (gtk_widget_hide): same here, but also check its destroyed
10893         state before queueing a resize.
10894
10895 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
10896
10897         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
10898         of gtk_default_insensitive_bg as insensitive base color.
10899
10900         * gtk/gtktext.c (gtk_text_style_set): set the background color according
10901         to the widget's state.
10902         (gtk_text_realize): same here.
10903         (gtk_text_state_changed): same here.
10904         (draw_bg_rect): compare background color against base[] from
10905         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
10906
10907 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
10908
10909         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
10910         grabs are active, unless a delete event is send to the toplevel
10911         of the currently grab holding widget.
10912
10913 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
10914
10915         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
10916         debugging g_print's.
10917
10918 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
10919
10920         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
10921         ever make the scrolled-window requisition ever depend on the 
10922         visibility state of the scrollbars for the AUTOMATIC policy. 
10923         This breaks the GTK+ requisition model, and causes loops.
10924
10925 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
10926
10927         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
10928         the default font to avoid problems with XFree86-4.0 where the
10929         default charset is iso10646-1, not iso8859-1.
10930
10931 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
10932
10933         * acinclude.m4
10934         * config.guess
10935         * config.sub
10936         * ltconfig
10937         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
10938
10939         * gtk/Makefile.am: minor cosmetic consistency tweak
10940
10941 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
10942
10943         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
10944         the activate_time to 0, so that we handle a quick
10945         press/release press/release properly and don't suppress
10946         the second release. (Red Hat bug #7545)
10947
10948 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
10949
10950         * gtk/gtkctree.c (row_delete):
10951         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
10952         bugs with destruction notifier, *always* update internal
10953         structures *before* calling user code.
10954
10955 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
10956
10957         A few more fixes for bug #5487, #2051, #2677.
10958         * gtk/gtkclist.c : 
10959         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
10960         not GDK_BUTTON_PRESS.
10961         (resync_selection): resync only if selection_mode is
10962         GTK_SELECTION_EXTENDED
10963         * gtk/gtkctree.c (resync_selection): same here
10964
10965 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
10966
10967         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
10968         gdk_drag_get_selection() and gtk_menu_detach().
10969
10970         [ From Jeroen Ruigrok/Asmodai ]
10971
10972 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
10973
10974         * gtk/gtknotebook.c (gtk_notebook_size_request): 
10975         page->tab_label can be NULL.
10976
10977 2000-01-25  Havoc Pennington  <hp@pobox.com>
10978         
10979         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
10980         arg is boolean
10981
10982         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
10983
10984         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
10985
10986         * gdk/gdkproperty.c (gdk_property_get): return boolean
10987
10988         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
10989
10990         * gdk/gdkim.c (gdk_im_ready): return boolean
10991
10992         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
10993
10994         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
10995         glib clash, should fix glib)
10996
10997         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
10998         (gdk_get_show_events): return gboolean, and canonicalize 
10999         to TRUE/FALSE
11000
11001         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
11002         colormap is private
11003         (gdk_colors_alloc): gboolean whether to be contiguous
11004         (gdk_color_equal): return gboolean since we are a predicate
11005         and not a qsort() (this looks semi-wrong due to glib breakage,
11006         IMO glib should be fixed)
11007         
11008         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
11009         (gdk_get_use_xshm): return gboolean
11010         (gdk_pointer_is_grabbed): return gboolean
11011
11012         * gdk/gdk.h: Change prototypes to match all the above changes,
11013         and re-run egtk-format-protos as required.
11014
11015 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
11016
11017         * gtk/gtkctree.c (resync_selection): 
11018         * gtk/gtkclist.c (resync_selection):
11019
11020         Return immediately if clist->drag_pos < 0. This is a workaround
11021         for the corrupt state that the clist gets into when a
11022         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
11023
11024         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
11025         
11026         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
11027         variable from recent commit.
11028
11029 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
11030
11031         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
11032
11033 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
11034
11035         * gtk/Makefile.am: prefix all autogenerated source that get build in
11036         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
11037         in builddir. since we subsequently cd into srcdir for autogeneration,
11038         the paths have to be stripped from the target file names, thusly we
11039         use $(@F) as target names now.
11040         put a comment about configure.in's --disable-rebuilds option,
11041         which can be used for non-writable source directories, for development
11042         setups though, srcdir has to be *writable*.
11043
11044 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
11045
11046         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
11047           Finish the job of allowing event to be NULL.
11048           (Fixes bug #4283, reported by Chris Blizzard)
11049
11050         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
11051           things so that the cursor appears on screen, properly
11052           take into account INNER_BORDER.
11053           (Fixes bug #4754, reported by Antonio Campos)
11054
11055 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
11056
11057         * gtk/gtknotebook.c (gtk_notebook_map): Don't
11058           show the tab_label unless it itself is visible.
11059
11060           gtk/gtknotebook.c (gtk_notebook_size_request):
11061           Do a better job of making sure that the visibility
11062           of the tab label corresponds to whether it should
11063           be mapped or not.
11064
11065 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
11066
11067         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
11068           Use the requisition, not the allocation, since the
11069           allocation has not necessarily been computed yet.
11070           (Pointed out by Eugene Osintsev)
11071
11072 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
11073
11074         * gtk/gtkstyle.c (gtk_style_new): Dont' set
11075           style/base[GTK_STATE_INSENSITIVE] both to
11076           gtk_default_insensitive_bg!
11077           (Bug #2187, reported by Jonathan Blandford)
11078
11079         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
11080           Add Alt_L, Alt_R to list of invalid accelerators.
11081           (Bug #3736, reported by Vlad Harchev)
11082
11083 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
11084
11085         * gtk/gtkfilesel.c (open_ref_dir): Fix several
11086         bugs which occured after an attempt to open 
11087         invalid home directory left cmpl_state->reference_dir == NULL.
11088
11089          - completion on files in home directory didn't work
11090          - completion on an empty string caused  segfault
11091
11092          (Bug #3678, reported by Steve Ratcliffe)
11093
11094         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
11095         cut and paste error that was causing scales to
11096         be incorrectly positioned.
11097         (Bug #2956,
11098          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
11099
11100 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
11101
11102         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
11103         when checking for dcgettext, if we've found we needed
11104         it for dgettext.
11105 +
11106 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
11107
11108         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
11109         queue_clear on NO_WINDOW widgets during a reparent,
11110         since at that point the window and widget heirarchies
11111         are out of sync. This stops crashing in some cases
11112         (the scrolled window reparent test, for instance), and
11113         _probably_ won't cause drawing errors.
11114
11115         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
11116         test do what it was supposed to do and be robust against
11117         window closings, etc. (Bug #2443)
11118
11119 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
11120
11121         * gtk/gtkentry.c: Fix return values on mouse events.
11122         (Bug #2686, Sky <seb_sky@yahoo.com>)
11123
11124         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
11125         (pointed out by George Lebl)
11126
11127         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
11128         (From Ettore Perazzoli  <ettore@helixcode.com>)
11129  
11130 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
11131
11132         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
11133         clicks between rows or outside calender area correctly.
11134         (Patch from Damon Chaplin)
11135
11136         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
11137         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
11138           Call destroy function when overwriting existing data. 
11139           (Pointed out by Damon Chaplin)
11140
11141 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
11142
11143         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
11144           which was causing problems on various systems with Xmu.
11145           This hasn't been needed for a very long time.
11146           (Fixes #1185 3167)
11147
11148 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
11149
11150         * gdk/gdki18n.h: Include <ctype.h> when defining
11151           gdk_isw* in terms of is* as a fallback.
11152           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
11153
11154 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
11155
11156         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
11157           realize the widget when it is size allocated!
11158           (old, old bug)
11159
11160         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
11161           Removed unused call to gdk_window_get_size() that
11162           showed up when the above was fixed.
11163
11164 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
11165
11166         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
11167           fix up widget->window when the widget is a
11168           NO_WINDOW container widget.
11169
11170 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
11171
11172         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
11173           to account for the fact that feof() does _not_ 
11174           return TRUE on errors, and thus avoid infinite loops
11175           when trying to use gdk_pixmap_create_from_xpm()
11176           on unreadable values.
11177
11178 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
11179
11180         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
11181
11182 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
11183
11184         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
11185           gdk_gc_set_dashes to take gint8 instead of gchar to
11186           make it clearer that it is _not_ a NULL terminated string.
11187
11188         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
11189           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
11190           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
11191           arguments.
11192
11193 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
11194
11195         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
11196         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
11197         background size relative to our allocation, guard against small
11198         allocations, we may have not yet been size allocated.
11199
11200 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
11201
11202         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
11203         not just version == 3. We implement all 3 + most of 4 - 
11204         (we don't support matching text/plain;charset=iso-8859-1
11205         to a dest that expects text/plain). We'll still advertise
11206         3 to be safe, but any client implementing version >= 3
11207         must interoperate with 3.
11208         
11209 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
11210
11211         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
11212         background and gc members, add a warning in gtk_tooltips_set_color()
11213         indicating that this function is deprecated.
11214
11215 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
11216
11217         * docs/gtkfaq.sgml: FAQ Update:
11218           - Minor cleanups (Emmanuel, me)
11219           - New questions:
11220                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
11221                 How can I retrieve the text from a GtkMenuItem? (timj)
11222                 How do I validate/limit/filter the input to a GtkEntry? (me)
11223                 Memory does not seem to be released when I free the list
11224                         nodes I've allocated (timj)
11225
11226 2000-03-07  Tor Lillqvist  <tml@iki.fi>
11227
11228         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
11229         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
11230         for which it is no use to call GetLastError onWin9x.
11231         (gdk_other_api_failed) New function, for general error
11232         reporting without calling GetLastError.
11233         (gdk_win32_api_failed) OTOH, this function always calls
11234         GetLastError. (gdk_win32_last_error_string) Remove this function,
11235         GLib has the equivalent now.
11236
11237         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
11238         call them with function name, file name and line number in the
11239         arguments.
11240
11241         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
11242         functions.
11243         
11244         * gtk/gtk.def: Add some missing entry points.
11245
11246         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
11247         gtk_paned_set_gutter_size, which don't exist any longer, as void.
11248         
11249         Fixes by Hans Breuer:
11250
11251         * gdk/makefile.msc: Update for debugging.
11252
11253         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
11254         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
11255         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
11256         in the dash_list.
11257
11258         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
11259         the x11 backend.
11260
11261         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
11262
11263         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
11264
11265 2000-03-04  Tor Lillqvist  <tml@iki.fi>
11266
11267         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
11268         just pixel value of background colour.
11269
11270         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
11271         containing code snippet previously duplicated in a couple of
11272         places.
11273         
11274         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
11275         gdk_colormap_color.
11276
11277         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
11278         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
11279         events for autorepeated Shift, Control and Alt keys. Use
11280         gdk_colormap_color.
11281
11282         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
11283         pointer is inside the window the cursor of which we are setting,
11284         call SetCursor immediately.
11285
11286         * gdk/win32/makefile.cygwin
11287         * gtk/makefile.cygwin: If we don't have the build number stamp
11288         file, use zero.
11289
11290         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
11291         gtk_paned_set_gutter_size as empty.
11292
11293         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
11294         
11295 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
11296
11297         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
11298           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
11299           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
11300           docs/gtk_tut.sgml docs/gtk.texi TODO:
11301
11302           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
11303
11304 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
11305
11306         * gtk/gtkcalendar.c: Implement num_marked_dates,
11307           and don't emit mutiple day_selected signals on
11308           month_prev.
11309
11310 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
11311
11312         * docs/make-todo (lineno): let title and logo be configurable so
11313         that GNOME can use this script too.
11314
11315         * TODO.xml: added logourl and a title
11316
11317 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
11318
11319         * TODO.xml: Added some UI items, and an explanatory
11320         comment at the top of the file.
11321
11322 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
11323
11324         * TODO.xml: some updates, added abunch of new entries.
11325         a note for those fiddeling with this file, when done
11326         with it, invoke:
11327         $ ./docs/make-todo TODO.xml >/dev/null
11328         and correct output errors before comitting changes.
11329
11330 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
11331
11332         * TODO.xml: Added XML-structured TODO file.
11333         * docs/make-todo: python script to turn TODO.xml into
11334           pretty XML output. 
11335
11336 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
11337
11338         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
11339         the function to let it draw the seven dots, instead of the old,
11340         much maligned, method.
11341         (draw_dot): New function to draw a dot.
11342
11343         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
11344         to draw the handle inside the border width as opposed to outside.
11345         Use paint function instead of gdk_draw_point.
11346
11347         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
11348         to draw the handle inside the border width as opposed to outside.
11349         Use paint function instead of gdk_draw_point.
11350
11351         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
11352         Change indenting to be more GTK like.
11353
11354 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
11355
11356         * docs/gtk_tut.sgml: New section on GtkCalendar
11357         * examples/calendar: Update example code
11358
11359 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
11360
11361         * docs/gtkfaq.sgml: FAQ Update
11362
11363 2000-02-19  Anders Carlsson  <andersca@gnu.org>
11364
11365         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
11366         to prevent the scroll event to be propagated upwards.
11367
11368 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
11369
11370         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
11371         OwnerGrabButtonMask from button entries for
11372         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
11373
11374         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
11375         to the event mask (which will result in button/press release
11376         being added to the event mask on Unix) so scrolling works
11377         for layouts in scroll windows.
11378
11379         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
11380
11381         Patch from Anders Carlsson  <andersca@gnu.org> to add
11382         a scroll event.
11383
11384         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
11385         scrolling to the "Test Scrolling" part of testgtk.
11386  
11387         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
11388  
11389         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
11390         it against GDK_SCROLL.
11391  
11392         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
11393         way of mouse wheel scrolling.
11394  
11395         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
11396  
11397         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
11398  
11399         * gtk/gtkmain.c: Removed previous mouse wheel hack.
11400  
11401         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
11402         gdk_event_mask_table.
11403  
11404         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
11405         GdkEventScroll handler.
11406  
11407         * gdk/gdkevents.h: Added GdkEventScroll structure.
11408  
11409 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
11410
11411         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
11412         and Anders Carlsson to change the Paned widgets so that they
11413         can be dragged from anywhere along the length. Also change
11414         the way that this is drawn to make this apparent.
11415
11416         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
11417         from George Lebl to check that option_menu->menu is present
11418         before getting history.
11419
11420 2000-02-14  Tor Lillqvist  <tml@iki.fi>
11421
11422         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
11423         before the assertion for non-NULL segment list.
11424
11425         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
11426         Seems that pattern brushes *must* be 8x8 pixels! At least on my
11427         machine, but it might be display driver dependent. Sigh, so make
11428         sure the stipple is that size. Does Windows suck or what?
11429
11430         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
11431         places.
11432
11433 2000-02-13  Havoc Pennington  <hp@pobox.com>
11434
11435         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
11436         refcount to 1
11437         (gdk_cursor_new): init refcount to 1
11438
11439         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
11440
11441 2000-02-13  Tor Lillqvist  <tml@iki.fi>
11442
11443         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
11444         so that we don't have to do unnecessary settings to the HDC.
11445
11446         * gdk/win32/gdkdrawable-win32.c
11447         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
11448         gdk_gc_predraw.
11449
11450         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
11451         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
11452         GDI paths, call WidenPath to get the outline of the stroken path,
11453         and then fill the outline (with the brush that was built from the
11454         stipple).
11455
11456         * gdk/win32/gdkgc-win32.c: Factor out common code from
11457         _gdk_win32_gc_new and gdk_win32_gc_set_values into
11458         gdk_win32_gc_values_to_win32values. Use correct colour for
11459         SetBkColor() (Until now the code actually used a random colour in
11460         the call to SetBkColor()... but that didn't show up as not many
11461         GDI APIs use the background colour. Pattern (opaque stippled)
11462         brushes do.)
11463
11464         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
11465         gdk_win32_api_failed): New functions for error logging.
11466
11467         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
11468         WIN32_API_FAILED to call them, passing function or file name and
11469         line number.
11470
11471         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
11472
11473         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
11474         GdkColor for foreground and background in GdkGCWin32Data.
11475
11476         * gdk/makefile.cygwin: Link in the resource object separately.
11477
11478         * gdk/win32/rc/gdk.rc
11479         * gtk/gtk.rc (New file)
11480         * gdk/win32/makefile.cygwin
11481         * gtk/makefile.cygwin: Update build number in DLLs automatically,
11482         as in GLib.
11483
11484 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
11485
11486         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
11487         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
11488         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
11489         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
11490         parameters given and cursor->ref_count. coding style fixups.
11491
11492         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
11493         not GtkWidget.
11494         
11495         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
11496         fix up widget macros and add _GET_CLASS() variant.
11497         
11498         * gtk/*.c: some GtkType fixups.
11499
11500 2000-02-09  Tor Lillqvist  <tml@iki.fi>
11501
11502         * gdk/win32/gdkproperty-win32.c
11503         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
11504         were reversed.
11505
11506 2000-02-04  Tor Lillqvist  <tml@iki.fi>
11507
11508         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
11509         g_filename_to_utf8 to convert the font names Windows gives us from
11510         whatever is the default codepage to UTF-8.
11511         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
11512         in the other direction.
11513
11514         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
11515         error in debugging output.
11516
11517 2000-02-02  Tor Lillqvist  <tml@iki.fi>
11518
11519         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
11520         and height parameters to gdk_window_clear_area(). Not minus one.
11521
11522 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
11523
11524         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
11525         checks if the widget passed to gtk_drag_get_data() was not the
11526         dest widget.
11527
11528 2000-02-01  Tor Lillqvist  <tml@iki.fi>
11529
11530         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
11531         g_filename_from_utf8 functions (which were added a moment ago to
11532         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
11533         size buffers.
11534
11535         gtk_file_selection_get_filename returns the filename in the C
11536         runtime encoding. It calls g_filename_from_utf8, but copies the
11537         returned string to a static buffer, which is returned. I think
11538         this is better than returning the result from g_filename_from_utf8
11539         directly, which would mean all apps that use it would have to free
11540         the return value. Or should this function care about this issue at
11541         all? Maybe a new function with clearly defined semantics.
11542
11543         * gtk/gtkfilesel.h: Add comment about
11544         gtk_file_selection_get_filename returning the filename in the C
11545         runtime's encoding.
11546
11547         * README.win32
11548         * gdk/gdk.def
11549         * gdk/makefile.{cygwin,msc}
11550         * gtk/gtk.def: Updates.
11551
11552         * gdk/gdkcursor-win32.c: Initialise refcount.
11553
11554 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
11555
11556         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
11557
11558 2000-01-30  Havoc Pennington  <hp@pobox.com>
11559
11560         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
11561         destroy
11562
11563         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
11564
11565         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
11566         implemented in platform-specific code
11567
11568         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
11569
11570         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
11571         underscore in front
11572
11573         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
11574         put an underscore in front
11575
11576         * gdk/gdkcursor.c: new file, implements
11577         gdk_cursor_ref/gdk_cursor_unref
11578
11579         * gdk/gdkcursor.h: Refcount GdkCursor
11580
11581         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
11582
11583 2000-01-29  Tor Lillqvist  <tml@iki.fi>
11584
11585         * gdk/gdkwindow.h
11586         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
11587
11588 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
11589
11590         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
11591         structures to properly inherit from GtkWidget not GtkBin.
11592
11593 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
11594
11595         * gtk+.spec.in: Added lib/gtk+/include/* to %files
11596         (bug #5178 - Peter Wainright)
11597         
11598         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
11599         so that it will be installed.
11600         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
11601
11602 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
11603
11604         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
11605         for the GtkStyleClass vtable const.
11606
11607         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
11608         take a const string argument like GtkTranslateFunc. This will
11609         require changes in use code.
11610
11611 2000-01-19  Tor Lillqvist  <tml@iki.fi>
11612
11613         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
11614         semantics (to mimic the X11 backend, which just calls XClearArea)
11615         is to check for zero width (and height), and in that case use the
11616         window's width minus x (height minus y). This fixes for instance
11617         some redraw problems with gtkclist, which were easily noticeable
11618         in the gtk file selection widget.
11619
11620         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
11621         windows.
11622
11623 2000-01-13  Tor Lillqvist  <tml@iki.fi>
11624
11625         * configure.in
11626         * gdk/Makefile.am
11627         * gdk/x11/Makefile.am
11628         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
11629         (bug #5177).
11630         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
11631         out later.
11632
11633 2000-01-09  Tor Lillqvist  <tml@iki.fi>
11634
11635         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
11636         WM_MOVE for iconified or invisible windows. This fixes various
11637         problems when minimising windows. Thanks to Bernd Herd.
11638
11639 2000-01-05  Tor Lillqvist  <tml@iki.fi>
11640
11641         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
11642         backend's draw_lines method, not draw_points.
11643
11644 2000-01-02  Tor Lillqvist  <tml@iki.fi>
11645
11646         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
11647         before Owen's reorganisation: Don't have queued_events and
11648         queued_tail statics in this file, but use gdk_queued_events and
11649         gdk_queued_tail. This makes exposure event compression work again.
11650
11651         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
11652         seem to be needed?
11653
11654 1999-12-30  Tor Lillqvist  <tml@iki.fi>
11655
11656         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
11657         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
11658         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
11659         doesn't do anything.
11660
11661         * gdk/gdk.def: Add gdk_xid_table_insert.
11662
11663         * gdk/win32/gdkprivate-win32.h
11664         * gdk/win32/gdkevents-win32.c
11665         * gdk/win32/gdkinput-win32.c
11666         
11667         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
11668         extension_events field in the GdkWindowWin32Data struct. Use only
11669         the extension_events field in GdkWindowPrivate. Previously one was
11670         set, and the other one tested, which broke tablet
11671         functionality. Thanks to Keishi Suenaga for pointing this out.
11672
11673 1999-12-18  Tor Lillqvist  <tml@iki.fi>
11674
11675         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
11676         When handling a single character (text length == 1), don't handle
11677         it as if it was UTF-8.
11678
11679 1999-12-11  Tor Lillqvist  <tml@iki.fi>
11680
11681         * Makefile.am: Distribute README.win32.
11682         
11683         * gdk/Makefile.am
11684         * gdk/win32/Makefile.am: Distribute Win32 files.
11685
11686         * gdk/makefile.msc: New file.
11687
11688         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
11689         after label).
11690
11691         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
11692         gdk_error_code as GDKVAR, as they are referred outside GDK.
11693
11694         * gdk/win32/makefile.msc: Update.
11695
11696         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
11697         tweaks. Check only if at least one of those Unicode subrange bits
11698         we care for is set. If no code page bits are set, guess (wildly)
11699         based on the charset.
11700
11701         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
11702
11703         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
11704         non-NULL.
11705
11706         * gtk/gtkdnd.c
11707         * gtk/gtklayout.c
11708         * gtk/gtkplug.c
11709         * gtk/gtkselection.c
11710         * gtk/gtksocket.c
11711         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
11712         appropriate. There must be a cleaner way to handle this?
11713
11714         * gtk/gtkrc.c: Must include windows.h on Win32.
11715
11716         * gtk/testgtk.c: No need to include gdkx.h.
11717
11718         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
11719
11720 1999-12-07  Tor Lillqvist  <tml@iki.fi>
11721
11722         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
11723         the rbearing is set to the same as the width, but this should be
11724         fixed.
11725
11726 1999-12-06  Tor Lillqvist  <tml@iki.fi>
11727
11728         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
11729         function. If Windows doesn't tell us what Unicode subranges a font
11730         covers, guesstimate based on the codepages it covers. This will
11731         hopefully help those Windows versions or fonts that don't give us
11732         any useful Unicode subrange information with GetTextCharsetInfo.
11733         Call this function in gdk_font_load_internal.
11734
11735         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
11736         minor changes.
11737
11738 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
11739
11740         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
11741         New function, long needed.
11742
11743 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
11744
11745         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
11746         only_if_exists argument of gdk_atom_intern to
11747         bool.
11748
11749 1999-11-25  Tor Lillqvist  <tml@iki.fi>
11750
11751         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
11752         Fix two copy&paste errors.
11753
11754         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
11755         win32 has changed.
11756
11757         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
11758         GdkWin32SingleFont struct.
11759
11760         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
11761         subranges of loaded fonts. Clear font signature first, in case
11762         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
11763         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
11764
11765         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
11766         Unoffset clip region.
11767
11768 1999-11-23  Tor Lillqvist  <tml@iki.fi>
11769
11770         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
11771         event->any.window before calling filter functions.
11772
11773 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
11774
11775         * gtk/gtkgamma.h: Adapt cast macros to standard.
11776
11777 [ Merges from 1.2 ]
11778
11779 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
11780
11781         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
11782         If translation does not include a '/', use entire
11783         translation instead of crashing.
11784
11785 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
11786
11787         * docs/gtk_tut.sgml:
11788         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
11789
11790 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
11791
11792         * gtk/gtkselection.c (gtk_target_list_remove): Use
11793         g_list_remove_link, not g_list_remove.
11794
11795         [ From Geert Bevin <gbevin@thunderstorms.org> ]
11796         
11797 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
11798
11799         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
11800         statement upon unselection (how the heck did that slip in?).
11801
11802 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
11803
11804         * gtk/gtktext.c (gtk_text_freeze): 
11805         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
11806         in frozen state (and aparently crashes). patch provided by Anders
11807         Melchiorsen <and@kampsax.dtu.dk>.
11808
11809 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
11810
11811         * fix insensitive default/focus widget activation,
11812         reported by Matt Goodall <mgg@isotek.co.uk>.
11813
11814         * gtk/gtkwindow.c (gtk_window_key_press_event): 
11815         (gtk_window_activate_default):
11816         (gtk_window_activate_focus):
11817         return handled=FALSE for actiavtion of insensitive default
11818         widgets. return handled=TRUE for activation of insensitive
11819         focus widgets. don't activate in either case.
11820
11821 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
11822
11823         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
11824         and $glib_cflags to match library order and in the
11825         theory that an old version of GLib is more likely to
11826         be in the include directory for X then vice-versa.
11827         (Bug #2776)
11828
11829 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
11830
11831         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
11832         to determine the locale for fontsets, not LC_MESSAGES;
11833         the user may want English messages with a handling
11834         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
11835         will still be broken) (Bug #2891)
11836
11837 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
11838
11839         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
11840
11841 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
11842
11843         * gtk/gtkrc.ko: Changed the Korean default fontset.
11844
11845 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
11846
11847         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
11848         where when scrolling to the left or top double exposes
11849         were done, causing major slowdowns.
11850
11851 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
11852
11853         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
11854         names to lowercase and alphanumeric, before looking
11855         them up.
11856
11857         * gtk/Makefile.am: Install codeset variant gtkrc files
11858         with normalized names.
11859
11860 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
11861
11862         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
11863         popup menus when the menu is already visible, but its parent
11864         is still hidden, (happens after tornoff window got hidden).
11865
11866 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
11867
11868         * gtk/Makefile.am (install-data-local): Fix
11869         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
11870         deleted, causing error messages on install.
11871
11872 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
11873
11874         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
11875         the handle as well, since we now sometimes ignore
11876         exposes on the handle while resizing.
11877
11878 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
11879
11880         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
11881         extra g_free introduced in one of the last one or two 
11882         commits.
11883
11884 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
11885
11886         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
11887         consistent, put each style that a gtkrc.* file creates
11888         in a unique namespace, remove old files before installing.
11889
11890 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
11891
11892         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
11893         gtk_rc_init is called multiple times. (Yes, people who
11894         do that have bugs in their code.)
11895
11896 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
11897
11898         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
11899         Remove it since it's generated by the Makefile anyway
11900
11901 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
11902
11903         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
11904         device->info.axes for core pointer.
11905
11906 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
11907
11908         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
11909         idle_id, to deal with obsolete, broken C libraries.
11910
11911 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
11912
11913         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
11914         allocation->x/y twice!
11915
11916         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
11917         consistent with gtk_vscale_pos_trough().
11918
11919 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
11920
11921         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
11922         be queueing a resize on a toplevel container between
11923         the time we show it and when we map it. So, we need
11924         to test GTK_WIDGET_VISIBLE() for toplevels, and only
11925         use GTK_WIDGET_DRAWABLE() for child windows.
11926
11927 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
11928
11929         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
11930         (fixes bug #2144)
11931
11932 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
11933
11934         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
11935         container DRAWABLE (instead of VISIBLE), so we don't queue
11936         resizes on non-toplevel containers.
11937
11938 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
11939
11940         * gtk/gtkselection.[ch]: Make the data argument
11941         const guchar *.
11942
11943 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
11944
11945         * gtk/gtkwindow.c: Try to behave sensibly if 
11946         the focus widget is the window itself. (Should
11947         we allow this at all?)
11948
11949 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
11950
11951         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
11952         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
11953         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
11954         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
11955         in prototypes and implementations consistent (Tomas Ogren).
11956
11957         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
11958         before the widget is unparented (reported by damon).
11959
11960         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
11961         since we provide unsigned data anyways.
11962
11963 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
11964
11965         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
11966         the call to gtk_tooltips_layout_text() until later.
11967
11968         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
11969         Call gtk_widget_ensure_style() before using the style.
11970
11971 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
11972
11973         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
11974         for old widgets that don't propagate draws to all
11975         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
11976
11977 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
11978
11979         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
11980         for a redraw but just the widget that requested the resize.
11981
11982 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
11983
11984         * gtk/gtkcontainer.c: added new widget level method
11985         gtk_container_set_reallocate_redraws() and a GtkContainer flag
11986         reallocate_redraws : 1 to reflect the setting, exported this through
11987         the argument system as a boolean ::reallocate_redraws.
11988
11989         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
11990         on the widget because the allocation changes, do so as well for
11991         widget->parent if the parent has reallocate_redraws set to TRUE.
11992         with that containers requesting reallocation redraws get automatically
11993         redrawn if their children changed allocation (this unfortunately
11994         affects also other children that didn't change allocation, but we
11995         cannot work around that before 1.3).
11996
11997 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
11998
11999         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
12000         _and_ height are >0 (not _or_).
12001
12002         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
12003         instead of gtk_container_queue_resize(), which is a core gtk internal
12004         function (must have been on crack when i queued that).
12005
12006         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
12007         we can check more reliably if we want to discard expose events.
12008         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
12009         flag.
12010         
12011         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
12012         we simply trust these events. for deciding whether to discard exposes,
12013         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
12014         
12015 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
12016
12017         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
12018         queues of areas that are completely off screen.
12019
12020         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
12021         logic for handleboxes.
12022
12023         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
12024         check on width/height.
12025
12026 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
12027
12028         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
12029         we are fine with using $@ the way we do (if we actually encounter
12030         brokeness with $@ in VPATH builds because of additional path prefixes,
12031         we need to use $(@F) actually).
12032
12033 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
12034
12035         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
12036         short lived bugs, that would allow language bindings to do surgeries
12037         to our guts.
12038
12039 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
12040
12041         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
12042         where comparison was being done against an uninitialized
12043         value causing intermittant results depending on
12044         compiler flags. Also make it clearer that we aren't
12045         ever initializing the child as 0x0 (though this will
12046         be caught in gtk_widget_size_allocate())
12047
12048 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
12049
12050         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
12051         gtk_window_unset_transient_for() call after we do checks
12052         involving the old transient parent.
12053         [ From Lance Capser <lmc@cyberhighway.net> ]
12054
12055 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
12056
12057         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
12058         an empty file.
12059
12060 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
12061
12062         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
12063         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
12064
12065 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
12066
12067         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
12068         `$@' is valid only in the build dir, not after we've done 
12069         `cd $srcdir'.  Also use `test -f' instead of less portable
12070         `test -e'.
12071
12072 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
12073
12074         * gtk/gtktext.c (correct_cache_insert): Rewrite
12075          for simplicity, and hopefully correctness.
12076          (Fixes bug #1322, which was a segfault when
12077           on some insertions with the properties around
12078           the insertion set up just wrong.)
12079
12080         * gtk/gtktext.c (gtk_text_adjustment): When we receive
12081          a "changed" signal, clamp the new value to the adjustment
12082          bounds to avoid segfaulting if someone tries to change
12083          the adjustment to a bogus value. (Bug #1795)
12084
12085 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
12086
12087         * gtk/gtkmain.c: Ignore unexpected destroy notifies
12088         for children, for toplevel windows handle them
12089         like delete_event.
12090
12091         * gtk/gtkplug.c: Add an unrealize handler so that
12092         we unref plug->socket_window when we are done
12093         with it.
12094
12095 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
12096
12097         * gtk/gtktext.c (clear_area): Fix stupid signedness
12098          problem that was causing background to sometimes
12099          be misaligned.
12100
12101 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
12102
12103         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
12104         
12105         * gtk/gtkmenu.c (gtk_menu_position): Make
12106          sure we never position menus with negative x, y,
12107          since gtk_widget_set_uposition() can't handle that.
12108
12109         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
12110          Modify the positioning code a bit so that we always
12111          put the top-left corner onscreen. (This is for
12112          UI reasons, gtk_menu_position() now takes care of
12113          gtk_widet_set_uposition() brokeness.)
12114
12115 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
12116
12117         * gtk/Makefile.am: fixed up things for -jx, x > 1.
12118
12119 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
12120
12121         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
12122           RC style that is passed in. The lack of the ref
12123           before was a bug. If people worked around this
12124           bug, this will introduce a slight memory leak
12125           in their code. The code should typically look like:
12126
12127             rc_style = gtk_rc_style_new ();
12128             [...]
12129             gtk_widget_modify_style (widget, rc_style);
12130             gtk_rc_style_unref (rc_style);
12131
12132         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
12133           the style if it was already set.
12134
12135         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
12136           style if it was set before.
12137
12138 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12139
12140         * gtk/testgtk.c (main): Add a check to see if we
12141           are being run from the correct directory and
12142           to quit nicely if we are not.
12143
12144         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
12145           static.
12146
12147 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
12148
12149         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
12150
12151         * gtk/gtkwindow.c:
12152         queue resizes unconditionally (gtk_widget_queue_resize will figure
12153         what to do if the window is not realized).
12154         (gtk_window_move_resize): only recenter the window
12155         for GTK_WIN_POS_CENTER_ALWAYS.
12156         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
12157         the same way as GTK_WIN_POS_CENTER.
12158
12159 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
12160
12161         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
12162         with (!(info->last_flags & GDK_HINT_POS)) instead of
12163         (!info->last_flags & GDK_HINT_POS).
12164
12165         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
12166         new_height unconditionally, because we use these values even if
12167         !default_size_changed && !hints_changed.
12168         comented the (default_size_changed || hints_changed) case with
12169         respect to resize rejects from the window manager.
12170
12171         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
12172         in the zvt condition hack, since this includes the window hints, set
12173         the hints after the handling_resize case.
12174
12175         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
12176         window is initially shown with to the geometry.
12177
12178 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
12179
12180         * gtk/gtkwindow.c (gtk_window_move_resize):
12181         s/size_changed/default_size_changed/g so i know what's
12182         really going on (frying brain on smaller flame now).
12183
12184 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
12185
12186         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
12187         we have size_changed upon handling_resize. this is a gross
12188         workaround for the broken zvt widget and should be removed in
12189         1.3 again (search for FIXME).
12190         Owen provided an accurate comment for this:
12191
12192         /* We could be here for two reasons
12193          *  1) We coincidentally got a resize while handling
12194          *     another resize.
12195          *  2) Our computation of size_changed was completely
12196          *     screwed up, probably because one of our children
12197          *     is broken. It's probably a zvt widget.
12198          *
12199          * For 1), we could just go ahead and ask for the
12200          * new size right now, but doing that for 2)
12201          * might well be fighting the user (and can even
12202          * trigger a loop). Since we really don't want to
12203          * do that, we requeue a resize in hopes that
12204          * by the time it gets handled, the child has seen
12205          * the light and is willing to go along with the
12206          * new size. (this happens for the zvt widget, since
12207          * the size_allocate() above will have stored the
12208          * requisition corresponding to the new size in the
12209          * zvt widget)
12210          *
12211          * This doesn't buy us anything for 1), but it shouldn't
12212          * hurt us too badly, since it is what would have
12213          * happened if we had gotten the configure event before
12214          * the new size had been set.
12215          */
12216
12217 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
12218
12219         * gtk/gtkrc.c: deal properly with the fact that RC
12220           style lists may include rc styles more than once.
12221
12222         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
12223           unused static function.
12224
12225         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
12226           stack of directories of RC files currently being
12227           parsed and implicitely add them to pixmap path.
12228           
12229           This fixes a bug where the directory would get
12230           appended then overwritten by pixmap_path declarations.
12231
12232           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
12233
12234         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
12235           theme's exit function. (Patch from Peter Wainwright,
12236           bug #1454)
12237
12238         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
12239           Add a destroy() handler to take care of removing
12240           group for menu item. (Fixes bug #1197)
12241
12242         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
12243           in warning message.
12244
12245 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
12246
12247         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
12248         roundtrip to figure window's width and height, since we know that
12249         anyways from widget->allocation.
12250
12251 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
12252
12253         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
12254           the hints after we request the new size.
12255
12256 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
12257
12258         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
12259           GTK_WIDGET_REALIZED() assertion - we can compute the
12260           hints before we are realized.
12261
12262         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
12263           hint changing so that we have a value of hints_changed
12264           when we decide whether to constrain the window size.
12265
12266         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
12267
12268         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
12269         change back to G_MAXINT.
12270
12271 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
12272
12273         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
12274         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
12275         contain uncluttered values.
12276         (gtk_window_compute_hints): simply assert that window is realized
12277         and that geometry_info is valid, since we rely on this anyways.
12278         (gtk_window_constrain_size): major cleanups to the code.
12279         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
12280         for the base size, instead of the minimums. use 32767 as max width
12281         and height (like in gtkwindow.c) instead of G_MAXINT.
12282
12283 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
12284
12285         * cleaned up the GtkContainer.need_resize flag handling mess, we
12286         only need to force resize requests when we were prematurely
12287         realized, or our widget tree was modified when we were temporarily
12288         hidden. handling these cases directly upon showing the window (i.e.
12289         while the GdkWindow is still unmapped) avoids the need to wait for
12290         a configure event response and therefore makes the GUI more snappier
12291         and avoids blank windows during the roundtrip.
12292
12293         * gtk/gtkwidget.c:
12294         (gtk_widget_hide): 
12295         (gtk_widget_show): don't queue resizes on toplevels, they know how
12296         to deal with matters.
12297
12298         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
12299         flag directly for not visible resize containers and spare us unecessary
12300         signal emissions.
12301
12302         * gtk/gtkwindow.c:
12303         (gtk_window_realize): if we need to enforce premature size allocation,
12304         queue a container resize so we are correctly resized later on.
12305         (gtk_window_init):
12306         (gtk_window_size_request):
12307         don't freak around with the ->need_resize flag,
12308         gtk_container_queue_resize() will care about that.
12309         (gtk_window_show):
12310         handle initial resizing issues here, we can handle matters better in
12311         this place, especially since we know that our GdkWindow is still
12312         unmapped.
12313         (gtk_window_move_resize):
12314         don't care about ->need_resize at all.
12315         handle size changes properly that occoured while we waited for a
12316         configure event.
12317
12318 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
12319
12320         * gtk/gtkwidget.c (gtk_widget_set_uposition):
12321         * gtk/gtkwindow.[hc] (gtk_window_reposition):
12322         Move the hint setting code from gtk_widget_set_uposition
12323         to here; set the hints so that we respect any previously
12324         set geometry hints.
12325
12326         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
12327         change the window hints here or move the window here,
12328         let that happen in gtk_window_move_resize().
12329
12330 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
12331
12332         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
12333         to already queued resizes (and therefore redraws) on a widget, check
12334         its anchestry as well.
12335
12336         * gtk/gtkcontainer.c:
12337         (gtk_container_queue_resize): clear resize widgets for resize
12338         containers before aborting prematurely. this is especially important
12339         for toplevels which may need imemdiate processing or their resize
12340         handler to be queued.
12341         (gtk_container_dequeue_resize_handler): added new internal function for
12342         gtkwindow.c.
12343
12344         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
12345         configure event, take possible changes in window position into account
12346         as well.
12347         if we request a new window size, queue up a resize handler that will
12348         last until the configure event response arrives.
12349         combined the ->need_resize case (initial show) with the general size
12350         (hints) changed case and added even more comments.
12351         if !auto_shrink, only revert to the old allocation if the new size
12352         is smaller than the current allocation.
12353
12354 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
12355
12356         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
12357                            gtk_window_set_geometry_hints
12358                            gtk_window_set_default_size):
12359         When hints are set, queue a resize so that the hints will
12360         be eventually reset on the toplevel.
12361
12362         * gtk/gtkwindow.c (gtk_window_show): Use
12363         gtk_window_compute_default_size(). Clear the need_resize flag
12364         on the initail map so that we don't unnecessarily trigger the
12365         resize code.
12366
12367         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
12368         into separate functions. Compare the hints we are setting
12369         with what we set last time so that we can accurately
12370         tell when we need to reset the hints.
12371
12372         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
12373         function to figure out the size from requisition
12374         and default_size.
12375
12376         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
12377         from fvwm to constrain a size to the geometry hints.
12378
12379         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
12380         to compare two sets of geometry hints.
12381
12382         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
12383         from gtk_window_set_hints(), just compute the hints,
12384         don't set them.
12385
12386         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
12387         code from gtk_window_move_resize() to separate function,
12388         rationalize a bit.
12389
12390 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
12391
12392         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
12393         structure into a new private structure.
12394
12395         * gtkrc.c: Split GtkRcStyle into public/private.
12396         In the private part, add a list of pointers to the
12397         RcStyle lists this RcStyle participates in.
12398
12399         * gtkrc.c: When a RcStyle is free, remove all
12400         lists referencing it from the 
12401         realized_style_ht hash, and free those lists.
12402         
12403         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
12404         gtk_rc_init(), since that adds the default styles
12405         to the list of parsed RC files again.
12406
12407         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
12408         
12409 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
12410
12411         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
12412         checks that ensure that a widget's allocation is at least 1 in width
12413         and height. (GNOME note: this doesn't affect old panel code anymore,
12414         because GtkSocket will request width and height of at least 1 since
12415         Fri Jul 23).
12416
12417         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
12418         allocated yet (happens if the user realizes the window prematurely),
12419         size request and allocate it.
12420         (gtk_window_size_allocate): guard against guint underflows.
12421
12422 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
12423
12424         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
12425         in gtk_built_sources, so gtk.defs gets built prior to all other
12426         sources.
12427
12428 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12429
12430         * gtk/Makefile.am:
12431         invoke indent on gtkmarshal.*. 
12432         rewrote source generation rules, use COPYING as oldest source tag for
12433         a piggyback rule to generate all sources from (don't touch it ;).
12434         major cleanups, strip spaces on build rules for GNU Make.
12435
12436         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
12437         source and target files from commandline arguments. don't invoke indent.
12438
12439 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
12440
12441         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
12442         notebook after switch to avoid drawing problems.
12443         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
12444         
12445         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
12446         show them instead. 
12447         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
12448
12449 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
12450
12451         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
12452         notebook after switch to avoid drawing problems.
12453         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
12454         
12455         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
12456         show them instead. 
12457         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
12458
12459 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
12460
12461         * gtk/gtkwindow.c:
12462         we use window->need_resize from configure_event now, to indicate that
12463         the gtkwindow should keep its allocation (e.g. because the user resized
12464         the window through window manager handles). resize_count is now reliably
12465         used to figure whether we got the allocation we requested from the
12466         window manager.
12467         configure events get queued as resizes now, the real stuff (size
12468         computation and allocation) now only goes on in gtk_window_move_resize().
12469         GtkWindow's requisition now contains its *real* requisition (like all
12470         other widgets), *not* taking usize into account.
12471         geometry_info->last_{width|height} is now updated from set_hints() only
12472         so it always contains the last hints we set for the window manager.
12473         made some event handlers return TRUE instead of FALSE.
12474         the overall code should be much more straight forward now, and the
12475         significant code portions are accompanied by comments now.
12476         (gtk_window_set_hints):
12477         removed requisition argument and made it
12478         fetch the requisition through gtk_widget_get_child_requisition.
12479         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
12480         does that now.
12481         (gtk_window_show):
12482         ensure that the widget is realized before calling 
12483         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
12484         ensure that we got properly size requested and allocated before
12485         realization.
12486         (gtk_window_configure_event):
12487         ignore plain window moves, or reallocate the widget tree through the
12488         resize queue otherwise.
12489         (gtk_window_move_resize):
12490         mostly rewrote this function to figure window manager hints more
12491         reliably, coalesce window moves and resizes to reduce configure events
12492         and do actuall size allocations.
12493
12494 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
12495
12496         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
12497         that have a resize pending, because a redraw is already queued for them.
12498
12499         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
12500         hack to clear resize_widgets.
12501
12502         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
12503         for resize containers prior to size allocation. (this is also a bit
12504         ugly, but avoids side effects for stopped emissions and is thus more
12505         reliable).
12506         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
12507
12508         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
12509         function from gtk_tooltips_expose, as we connect to ::expose_event
12510         *and* ::draw now.
12511
12512 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
12513
12514         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
12515         checks.
12516         (gtk_target_list_unref): Likewise.
12517
12518         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
12519
12520 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
12521
12522         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
12523         guard against division by zero. (Fixes bug #1339)
12524
12525 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
12526
12527         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
12528         Prevent the trivial leak of information of allowing
12529         word motion when the entry is not visible.
12530
12531 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
12532
12533         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
12534         modality to error dialog as well as confirmation dialogs.
12535         (Bug #1803, reported by Rosanna Wing Sze Yuen)
12536
12537 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
12538
12539         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
12540         tree->view_lines.
12541         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
12542
12543         * gtk/Makefile.am (install-data-local): Solaris apparently
12544         has various troubles with ln -f; use rm first instead.
12545         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
12546
12547 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
12548
12549         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
12550         use `cp' followed by `rm' (the `rm' was already there).
12551
12552 July 30, 1999 Elliot Lee <sopwith@redhat.com>
12553         
12554         * configure.in: Fix autoconf warnings about cross compilation by
12555         trying to provide sane defaults for AC_TRY_RUN.
12556         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
12557         put them into $(srcdir) when generated. Also add a dependency of
12558         gtksignal.h on gtkmarshal.h for -j builds. 
12559         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
12560
12561 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
12562
12563         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
12564         GDK_THREADS_{LEAVE,ENTER} pair.
12565         (From Paul Fisher <pnfisher@redhat.com>)
12566
12567 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
12568
12569         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
12570         width and height are always >0 (owen).
12571
12572 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
12573
12574         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
12575         change that assured that a widget's allocated with and height are
12576         always >1, since this breaks *buggy* panel code. unfortunately this
12577         back-breaks the gimp's color selector.
12578
12579         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
12580         allocation is always >0 in width and height, before sending the
12581         configure event; this is a *gross* hack to get the gimp back to work.
12582         
12583         * marked both cases with TODO-1.3
12584
12585 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
12586
12587         * gtk/gtktext.c: Don't display wrap indicators when
12588         text is not editable and word wrap is on.
12589
12590 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
12591
12592         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
12593         option menus here as they are not derived from menu shell, assure that
12594         the option menu has a menu we can add items to.
12595
12596 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
12597
12598         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
12599         width/height to (gint) before calculations and check against < 0 to
12600         avoid guint wraparounds.
12601
12602 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
12603
12604         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
12605         width and height is never zero. sanity check both dimensions against
12606         32767 and issue a warning if the allocation is greater than that.
12607
12608 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
12609
12610         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
12611         to g_main_pending() as well.
12612
12613 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
12614
12615         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
12616         call to g_main_iteration() - since that will regrab
12617         GTK+ lock to process events.
12618
12619 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
12620
12621         * gtk/gtkwindow.c
12622         - Regularize with the rest of GTK+ by making widget->requisition
12623           not reflect the set_usize()
12624         - Always recompute geometry hints, then check if they
12625           changed before sending them to the X server. The
12626           previous checks for changes would fail in a number
12627           of circumstances. 
12628
12629 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
12630
12631         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
12632
12633 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
12634
12635         * gtk/gtkdnd.c:
12636         - Code cleanups
12637         - Instantaneously update on modifier key presses
12638         - Allow cancellation of the drag with Escape.
12639
12640 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
12641
12642         * gtk/testgtk.c (create_handle_box): Set the policy
12643         to auto_shrink - otherwise the appearance is rather
12644         strange when flipping between horizontal and vertical.
12645
12646 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
12647
12648         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
12649         (gtk_window_set_default_size): don't change a value if it's < 0.
12650         queue a resize.
12651
12652 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
12653
12654         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
12655
12656 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
12657
12658         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
12659         add an extra "/" when concating "/" + filename.
12660         (From Matt Grossman <mattg@oz.net>)
12661
12662 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
12663
12664         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
12665         for fg_gc if we set it for drawing pixmap.
12666
12667 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
12668
12669         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
12670         
12671         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
12672         already set, call old engine's destroy function and
12673         unref the old engine.
12674
12675 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
12676
12677         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
12678
12679 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
12680
12681         * gtk/gtkaccelgroup.h: mark certain functions as internal.
12682
12683 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
12684
12685         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
12686         expand behaviour changed.
12687
12688         * gtk/gtklabel.c (gtk_label_set_pattern):
12689         (gtk_label_set_justify):
12690         (gtk_label_set_line_wrap):
12691         don't bother invoking queue_clear, the reallocation does
12692         that for us, always free_words so the upcoming resize will
12693         relayout the label's contents.
12694
12695 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
12696
12697         * applied argument implementation patches from Elena Devdariani
12698         <elena@cogent.ca>.
12699
12700         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
12701         ::space_style, ::relief
12702         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
12703         * gtk/gtkpreview.c: ::expand
12704         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
12705         * gtk/gtknotebook.c: ::homogeneous
12706         * gtk/gtklabel.c: ::wrap
12707         * gtk/gtklist.c: ::selection_mode
12708         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
12709         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
12710         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
12711         * gtk/gtkclist.c: ::sort_type
12712         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
12713         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
12714
12715 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
12716
12717         * gtk/gtkstyle.c: Removed ill-thought-out part of last
12718         comment.
12719
12720 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
12721
12722         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
12723         counting right when we have to attach a new style
12724         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
12725
12726         * gtk/gtkstyle.c: Documented the refcounting
12727         peculularities of gtk_style_attach.
12728
12729 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
12730
12731         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
12732         window types.
12733
12734         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
12735         of GTK_TOPLEVEL for creating the window.
12736
12737 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
12738
12739         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
12740         the last argument (reported by Per Winkvist).
12741         
12742 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
12743
12744         Fixes for invisible XOR lines (Frank Loemker
12745         <floemker@TechFak.Uni-Bielefeld.DE>)
12746         
12747         * gtk/gtkclist.c (gtk_clist_realize): Always use
12748         a non-zero pixel for GDK_XOR.
12749
12750         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
12751         Use GDK_INVERT instead of GDK_XOR.
12752
12753 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
12754
12755         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
12756         signals if h/voffsets differ from adjustment values.
12757         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
12758
12759 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
12760
12761         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
12762         ::selection-done emissions up to the topmost menu shell.
12763
12764 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
12765
12766         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
12767         the user data on the window before destroying it.
12768
12769         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
12770         unrealize handler to take care of destroying 
12771         notebook->panel properly. 
12772         (Bug #1198 - Morten Welinder <terra@diku.dk>)
12773
12774         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
12775         of g_new and g_realloc to stop memory leak. (Actually,
12776         we could just use g_realloc(), but I'm not 100% sure
12777         that is portable).
12778         (Bug #1196 - Morten Welinder <terra@diku.dk>)
12779
12780 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
12781
12782         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
12783
12784         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
12785         for fontsets.
12786
12787         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
12788         with bin/button confusion.
12789
12790 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
12791
12792         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
12793         and show how preselection of radio items is done.
12794
12795 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
12796
12797         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
12798         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
12799         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
12800         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
12801         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
12802         * gtk/gtktable.c (gtk_table_attach): 
12803         * gtk/gtklist.c (gtk_list_insert_items): 
12804         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
12805         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
12806         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
12807         * gtk/gtkbin.c (gtk_bin_add): 
12808         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
12809         * gtk/gtkfixed.c (gtk_fixed_put): 
12810         * gtk/gtklayout.c (gtk_layout_put):
12811         general fixups to container_add logic. always realize child if
12812         child->parent is realized, only map the child and queue a resize
12813         if child and child->parent are both visible.
12814
12815 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
12816
12817         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
12818         instead of gtk_container_foreach to walk and unrealize children, so
12819         composite children get also unrealized.
12820         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
12821         (gtk_widget_map): assert that the widget is visible (basic constrain).
12822         (gtk_widget_real_map): assert that the widget is realized (basic
12823         constrain).
12824
12825 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
12826
12827         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
12828
12829 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
12830
12831         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
12832         file for iso-8859-2 locales.
12833
12834         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
12835
12836 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
12837
12838         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
12839          (Pointed out by andy@rz.uni-karlsruhe.de and others).
12840          Remove some suspicious and useless lines. 
12841
12842 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
12843
12844         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
12845         width,height = 0, 0 to mean - here to edge of window,
12846         instead of -1, -1, since the former is all we support.
12847
12848 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
12849
12850         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
12851         when removing from quit_functions list.
12852
12853 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
12854
12855         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
12856
12857 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
12858
12859         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
12860          When redrawing characters on non-visible entry, use appropriate
12861          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
12862
12863 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
12864
12865         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
12866         from drag coordinates.
12867         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
12868         use drag_dest_cell.
12869
12870         * gtk/gtktree (drag_dest_cell)
12871         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
12872         (Bug #1129)
12873
12874 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
12875
12876         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
12877         translate_* fields.
12878         (gtk_item_factory_finalize): invoke translate_notify independant from
12879         translate_data.
12880         (gtk_item_factory_set_translate_func): likewise.
12881         (gtk_item_factory_destroy): only remove ifactory pointer from those
12882         widgets that belong to us (stupid me).
12883
12884 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
12885
12886         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
12887         rc_style list when lookup succeeeds.
12888
12889 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
12890
12891         * gtk/gtkctree.c (resync_selection): 
12892         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
12893         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
12894         bug.
12895
12896 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
12897
12898         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
12899         Add some missing GDK_THREADS_ENTER()/LEAVE around
12900         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
12901
12902 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
12903
12904         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
12905         rather than emit_by_name.
12906
12907         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
12908         on the widget across multiple signal emissions.
12909         (gtk_editable_delete_text): same here.
12910         (gtk_editable_class_init): set widget_class->activate_signal after
12911         editable_signals[ACTIVATE] has been created.
12912
12913 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
12914
12915         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
12916         position here prematurely -- we might not have the
12917         right ->min_position and ->max_position yet.
12918
12919 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
12920
12921         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
12922         Add error traps so if the other end of the connection
12923         dies, we survive.
12924
12925         * gtk/gtkselection.c (gtk_selection_notify): Clean
12926         up properly when selection property retrieval fails.
12927         
12928         * gtk/gtkselection.c (gtk_selection_request): Correctly
12929         reject SelectionRequest notifies where the handler
12930         returns no data.
12931
12932 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12933
12934         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
12935         when we've previously highlighted.
12936
12937         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
12938         emit two "drag_leave" signals for Motif drops.
12939
12940         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
12941         back the correct status messages when dropping from
12942         Motif onto a proxy window that is rejecting the
12943         drop.
12944
12945 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
12946
12947         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
12948         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
12949         to compare two argument values. added gtk_arg_to_valueloc() to set a
12950         variable from an arg through its location (pointer).
12951
12952         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
12953         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
12954         as gfloat*, uchars are collected as guchar*, ints are collected as
12955         gint*, etc...
12956
12957 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
12958
12959         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
12960         Include <string.h> instead of <strings.h>.
12961
12962         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
12963         (actually, a lot more duplicate includes occur if
12964          you trace through the sequence of #include's)
12965         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
12966         
12967 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
12968
12969         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
12970         gtk-a-higuti-990322-[0-3]
12971
12972         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
12973         that was causing -DX_LOCALE not to work.
12974
12975         * gtk/gtkrc.c (gtk_rc_init):
12976         X_LOCALE will never have LC_MESSAGES defined
12977
12978 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
12979
12980         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
12981         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
12982
12983         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
12984         left/right as well (gtk-michael-980726-0.patch.gz).
12985
12986         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
12987         for pointer values, use gchar instead of char. fixed uline allocation
12988         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
12989         chunks instead of G_ALLOC_ONLY.
12990         (gtk_label_size_request): always alter requisition as passed and leave
12991         widget->requisition alone.
12992         (gtk_label_set_text): allow NULL strings.
12993         (gtk_label_new): likewise.
12994
12995 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
12996
12997         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
12998
12999 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
13000
13001         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
13002         *and* mapped (i.e. drawable).
13003         (gtk_bin_expose): only send exposes to drawable children.
13004
13005         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
13006         (gtk_box_expose): only send exposes to drawable children.
13007
13008         * gtk/gtkhscale.c (gtk_hscale_draw): 
13009         * gtk/gtkvscale.c (gtk_vscale_draw):
13010         hm, this is an ugly one. we first compute the size of our trough area
13011         here (window relative) and then check intersection with the draw_area
13012         which is parent relative because we're a NO_WINDOW widget, so we need
13013         to offset the trough area by allocation.x and allocation.y before the
13014         check. (this must not be done for the background area though, since
13015         that's already computed parent relative).
13016
13017 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
13018
13019         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
13020         unrealize title buttons.
13021
13022 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
13023
13024         * gtk/gtkclist.c (gtk_clist_column_title_passive)
13025         (gtk_clist_column_title_active): 
13026         only connect/disconnect to GtkWidgetClass::event to block mouse events.
13027
13028         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
13029         zero initialize event, removed superfluous gdk_window_get_pointer call
13030
13031         * gtk/gtklist.c (gtk_list_vertical_timeout)
13032         (gtk_list_horizontal_timeout): removed superfluous
13033         gdk_window_get_pointer call
13034
13035 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
13036
13037         * plugging problems reported by "Bruce Mitchener, Jr."
13038         <bruce@puremagic.com> due to a purify session.
13039
13040         * gtk/gtkstyle.c:
13041         (gtk_style_ref): 
13042         (gtk_style_unref): assert ref_count to be > 0.
13043
13044         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
13045         the requisition.
13046         (gtk_clist_set_shift): likewise.
13047
13048         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
13049         adjustments.
13050
13051         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
13052         event before sending it and set send_event to TRUE (which needs to
13053         be done for *all* synthesized events).
13054         (gtk_list_vertical_timeout): likewise.
13055
13056         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
13057         leaks.
13058
13059         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
13060         to TRUE when synthesizing events.
13061
13062 [ *** end of merges from 1.2 *** ]      
13063         
13064 1999-11-21  Tor Lillqvist  <tml@iki.fi>
13065
13066         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
13067         (or copied from gdkconfig.h.win32 on Win32, sigh).
13068
13069         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
13070
13071         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
13072
13073         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
13074
13075         * gdk/gdkconfig.h.win32: New file.
13076
13077         * gdk/win32/makefile.cygwin: Build just a static archive here.
13078
13079         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
13080         for the DLL from the static archive built above.
13081
13082         * gdk/gdk.def: Moved here from the win32 subdirectory.
13083
13084         * gdk/win32/*: Adapt for the changed private struct organisation.
13085
13086         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
13087
13088 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
13089
13090         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
13091         for wheel mice (buttons 4 and 5).
13092
13093 1999-11-18  Tor Lillqvist  <tml@iki.fi>
13094
13095         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
13096         drawables use just the pixel field in the foreground and
13097         background GdkColor of the GdkGC.
13098
13099         gdk_gc_set_{fore,back}ground() are called in the GIMP with
13100         GdkColors containing uninitialized (red,green,blue) fields, and
13101         just the pixel field filled in, and furthermore in the
13102         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
13103         It thus turns out that we really don't need to have the full
13104         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
13105         it later to have just the pixel values.
13106
13107 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
13108
13109         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
13110
13111 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
13112
13113         * docs/gtkfaq.sgml: threads example from Erik Mouw.
13114         New question on GtkLabel background colors.
13115
13116         * docs/gtk_tut.sgml:
13117           - Correct the example code callback
13118             function definitions.
13119           - Update the gtkdial example code, from Frans van Schaik.
13120           - Update setselection.c to current API.
13121
13122         * examples/Makefile examples/*/*.c: Update to code
13123         listed in tutorial.
13124
13125 1999-11-10  Tor Lillqvist  <tml@iki.fi>
13126
13127         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
13128         subrange table (from the "Developing International Software for
13129         WIndows 95 and Windows NT" book) was missing the Hangul syllable
13130         block... Get the loaded font's charset correctly.
13131
13132         (Note that this, and the other *-win32.c files, still really are
13133         the old ones, the win32 subdirectory is not ready for compilation
13134         yet after the reorg.)
13135
13136 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
13137
13138         * gtk/gtkclist.c: Fix off-by-one bug in parameter
13139         check.
13140
13141 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
13142
13143         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
13144         on results of XQueryDeviceState().
13145
13146 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
13147
13148         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
13149         we need to accesss only ->children. We need an accessor
13150         for the children.
13151
13152         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
13153         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
13154         to get rid of gdkx.h include.
13155         
13156         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
13157         and random references to 'None'.
13158
13159         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
13160         Get rid of unused #include <gdk/gdkx.h>
13161
13162         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
13163         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
13164         gdkconfig.h.
13165
13166 1999-11-08  Tor Lillqvist  <tml@iki.fi>
13167
13168         * gdk/win32/gdkdraw.c
13169         * gdk/win32/gdkfont.c
13170         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
13171         following yesterday's changes. (Unrelated to Owen's reorg.)
13172
13173 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
13174
13175         * gdk/x11/gdkinput-gxi.c: Add missing include,
13176           fix GdkWindowPrivate => GdkDrawablePrivate.
13177
13178         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
13179
13180         * gdk/x11/Makefile.am (xinput_sources): Add missing
13181         backslash to fix building with --with-xinput=none
13182
13183 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
13184
13185         Move all X specific code into the x11/ directory.
13186         Aside from shuffling things around, did the following:
13187
13188        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
13189          gdk_arg_context_* - a simple argument parsing system
13190          in the style of popt.
13191
13192        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
13193          gdk/x11/gdkprivate-x11.h:
13194          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
13195          add ->klass and ->klass_data fields. The klass_data
13196          field points to an auxilliary structure that is
13197          windowing system dependent.
13198
13199        * gdk/gdkfont.c: Make most of the measurement functions
13200          simply wrappers around gdk_text_extents().
13201
13202        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
13203          _gdk_font_strlen() function that hides the weird
13204          behavior in gtk+-1.[02] where a string is interpreted
13205          differently for 8-bit and 16-bit fonts.
13206
13207        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
13208          to store common code for synthesizing double/triple
13209          press events.
13210         
13211        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
13212          Make all the function that modify an existing GC
13213          simply wrappers around gdk_gc_set_values().
13214          
13215        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
13216          for throwing out later.
13217
13218        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
13219          GdkImagePrivate and GdkColormapPrivate to have a
13220          windowing system dependent part (GdkFontPrivateX etc.)
13221          that "derives" from the system-independent part.
13222
13223        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
13224          Got rid of the included-source-files for XInput in
13225          favor of automake conditionals. (Which didn't exist
13226          when XInput support was originally added.)
13227
13228        * gdk/gdkrgb.c: Remove the visual id from the debugging
13229          statements since that is X11 specific; print out
13230          type/depth info instead.
13231          
13232
13233 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
13234
13235         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
13236         loading duplicates of hashed fonts.
13237
13238         * gdk/gdk.c (gdk_keysym_convert_case): rename
13239         gdk_XConvertCase to gdk_keysym_convert_case, allow
13240         results to be NULL in the GTK+ style.
13241
13242         * gdk/gdkcompat.h: Started compatibility header
13243         for renames.
13244
13245 1999-11-07  Tor Lillqvist  <tml@iki.fi>
13246
13247         * gdk/win32/gdkprivate.h: New font private structures, related to
13248         fontsets.
13249
13250         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
13251         gdk_font_list_free(). On X11, will just be wrappers to
13252         XListFonts() and XFreeFontNames(). On Win32, the code previously
13253         in gtkfontsel.c is now here.
13254
13255         New function gdk_font_xlfd_create(). On X11 will get the FONT
13256         property of the font (for GDK_FONT_FONTs), or call
13257         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
13258         builds a XLFD style name from the font information in the LOGFONT
13259         struct(s).
13260
13261         New function gdk_font_xlfd_free(), which correspondingly frees the
13262         string returned by gdk_font_xlfd_create().
13263
13264         Implement fontsets on Win32. Add a function that iterates over a
13265         wide char string and calls a callback function for each substring
13266         of wide chars from the same Unicode subrange (and thus probably
13267         available in the same real font).
13268
13269         Improve the XLFD emulation a bit.
13270
13271         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
13272
13273         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
13274         Beta3, WM_IME_CHAR messages don't seem to contain the composed
13275         multi-byte char as with the Active IMM on Win9x. Oh well, handle
13276         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
13277         ImmGetCompositionStringW() to get the composed Unicode chars.
13278
13279         * gdk/win32/gdkgc.c
13280         * gdk/win32/gdkdraw.c: Changes needed because of the font private
13281         struct changes.
13282
13283         * gdk/win32/gdk.def: Add the new functions.
13284
13285 1999-11-04  Tor Lillqvist  <tml@iki.fi>
13286
13287         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
13288         get the Platform SDK to get <dimm.h>.
13289
13290         * gdk/win32/gdkevents.c: More event handling fixes and
13291         simplification. Never generate motion events with is_hint true. We
13292         used to do that on bogus grounds earlier. Windows sends
13293         WM_MOUSEMOVE messages on button events even if the mouse hasn't
13294         moved, ignore these.
13295
13296         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
13297
13298         * gdk/win32/gdkglobals.c
13299         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
13300         the TrackMouseEvent function, and use it.
13301
13302         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
13303         char before calling WideCharToMultiByte in order to get a string
13304         for the window title.
13305
13306         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
13307
13308         * gdk/win32/gdk.def: Remove obsolete functions.
13309
13310         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
13311         /nodefaultlib and /defaultlib switches.
13312
13313         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
13314
13315 1999-10-31  Tor Lillqvist  <tml@iki.fi>
13316
13317         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
13318         EuroSign).
13319
13320         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
13321         same type as GdkWChar, especially on Win32.
13322
13323         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
13324
13325         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
13326         before passing to Windows GDI for drawing etc. Convert to the
13327         system default codepage before passing to Windows as window
13328         titles.
13329
13330         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
13331         support changing input locale on the fly.
13332
13333         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
13334         on-the-fly changes. Convert incoming characters from the current
13335         codepage to Unicode (and then to a UTF-8 multi-byte string) based
13336         on the current input language. Use keysym<->Unicode mapping tables
13337         and functions borrowed from xterm sources.
13338
13339         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
13340         editions of Win9x, use the ActiveX-based Active IMM (Input Method
13341         Manager) if available. IMEs and the Active IMM are available under
13342         the disguise of Chinese, Korean and Japanese support for IE and
13343         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
13344         support is present in all editions (as long as you install it).
13345
13346         Call DispatchMessage from gdk_events_queue() (and thus
13347         gdk_WindowProc()), instead of duplicating the code in
13348         gdk_WindowProc().
13349
13350         Reworked the grab handling and propagation code, factored out
13351         duplicated code snippets into separate functions. Other cleanups,
13352         too.
13353
13354         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
13355         the <dimm.h> header describing the Active IMM.
13356
13357         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
13358         just do the same as for "single" fonts.
13359
13360         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
13361         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
13362         the new keysyms from gdkkeysyms.h.
13363
13364         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
13365         fontset, so that gtkentry uses wide characters.
13366
13367         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
13368         GTk+'s system directory "gtk+", not "gtk".
13369
13370 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
13371
13372         * docs/gtkfaq.sgml: FAQ update
13373
13374 1999-10-21  Tor Lillqvist  <tml@iki.fi>
13375
13376         * gdk/win32/gdkprivate.h: Add more font private data.
13377
13378         * gdk/win32/gdkfont.c
13379         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
13380         fonts and strings. Now works much better. You still have to
13381         have a correct font selected, though. No fontset emulation yet.
13382
13383 1999-10-19  Tor Lillqvist  <tml@iki.fi>
13384
13385         * gtk/maketypes.awk: Use G_OS_WIN32.
13386
13387         * gtk/gtk.def: Add some missing entry points. Also some non-public
13388         ones, but PyGTK porter claims to need them.
13389
13390         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
13391         built-in type generation.
13392
13393 1999-10-14  Tor Lillqvist  <tml@iki.fi>
13394
13395         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
13396         GDK_FONT_FONT fonts (which is all we have for now, we don't
13397         emulate fontsets). The X11 version uses plain XDrawString in that
13398         case, too. The string passed to gdk_draw_text_wc seems to be in
13399         fact (at least, when used by gtkentry and gtktext) either in a
13400         single-byte charset, or a DBCS. Not Unicode.
13401
13402         This fixes the problem in gtkfontsel, where even if you had
13403         selected a font with a non-Latin1 charset (windows-greek, for
13404         instance), the preview still used Latin-1 glyphs.
13405
13406         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
13407         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
13408         (gdk_font_load): Recognize the demibold etc weights, even if we
13409         don't have the corresponding constants in the headers.
13410         (gdk_font_hash_insert): Use same hash mechanism as in the X11
13411         version. Should save font resources a bit, when we don't have
13412         multiple HFONTs for the same font.
13413
13414         * gdk/win32/gdkprivate.h: Add the names field as in the X11
13415         version.
13416
13417 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
13418
13419         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
13420         X values
13421
13422 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
13423
13424         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
13425         layout support (as mentioned on
13426         http://www.jcinteractive.com/gnome-ui/software/widgets/)
13427
13428 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
13429
13430         * gtk/fnmatch.c
13431         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
13432
13433 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
13434
13435         * configure.in (ALL_LINGUAS): Added Galician (gl)
13436
13437 1999-10-05  Tor Lillqvist  <tml@iki.fi>
13438
13439         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
13440
13441         * gdk/win32/gdkcompat.c: New file, actually provide an
13442         implementation for the deprecated functions. (Just temporarily.)
13443
13444         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
13445
13446         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
13447
13448         * gdk/win32/gdk.def gtk/gtk.def: Updates.
13449
13450 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
13451
13452         * configure.in: Added "uk" to ALL_LINGUAS.
13453         
13454 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
13455
13456         * configure.in: correct checking for BeOS check
13457
13458         * gdk/gdktypes.h
13459         * gtk/fnmatch.c
13460         * gtk/gtkfilesel.c
13461         * gtk/gtkitemfactory.c
13462         * gtk/gtkmain.[ch]
13463         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
13464
13465 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
13466
13467         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
13468         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
13469         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
13470         by Bulgarian). 
13471
13472 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
13473
13474         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
13475         Fix a reference to window_private->destroyed.   
13476
13477         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
13478         (ugly) setting of an internal GdkWindow member to use
13479         a _slightly_ cleaner macro.
13480
13481         * gdk/gdkprivate.h: Split GdkWindowPrivate into
13482         GdkDrawablePrivate and GdkWindowPrivate.
13483         Add extra macros for accessing GDK_DRAWABLE_ components.
13484
13485         * *.[ch]: Massive adjustments for the above, use the
13486         new macros in a lot of places.
13487
13488 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
13489
13490         * gdk/gdktypes.h: Make GdkDrawable the base type,
13491         not GdkWindow.
13492
13493 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
13494
13495         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
13496
13497 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
13498
13499         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
13500
13501 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
13502
13503         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
13504         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
13505
13506         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
13507
13508         * docs/gtk-config.1: Now autogenerated.
13509         * docs/Changes-1.4.txt: started
13510         
13511 1999-10-03  Tor Lillqvist  <tml@iki.fi>
13512
13513         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
13514         to #ifdef also here.
13515
13516         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
13517         Owen did to the X11 backend.
13518
13519         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
13520         ScrollWindowEx when blitting inside a window, it can't be correct
13521         in the general case.
13522
13523         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
13524         WM_GETMINMAXINFO is easier.
13525
13526         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
13527         depth equal to the bitspixel value, not the visual's depth.
13528
13529         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
13530         to 24 even if the bitspixel value is 32.
13531
13532         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
13533         need to check for depth==32 when bpp==32, depth will always be 24.
13534
13535 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
13536
13537         * docs/Changes-1.4.txt: Started
13538         
13539         * gtk/Makefile.am (gdk_headers): Include all the new headers.
13540
13541         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
13542         
13543         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
13544         into C file.
13545         
13546         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
13547         header to gdkinputprivate.h.
13548
13549         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
13550         unused since before 1.2.
13551
13552 1999-09-30  Tor Lillqvist  <tml@iki.fi>
13553
13554         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
13555         expand possible hex escapes in the font family (put there by
13556         logfont_to_xlfd if the font name isn't a legal XLFD font family,
13557         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
13558         On Win32, add hex escapes here, too.
13559
13560 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
13561
13562         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
13563         to #ifdef GDK_WINDOWING_X11.
13564
13565 [ Merges from gtk-1-2 ]
13566
13567 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
13568
13569         * configure.in: fixed "GNU Make" check to pass with new make version
13570         3.77.95.
13571
13572 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
13573
13574         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
13575         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
13576         AM_PATH_GTK() macros don't get confused by the -pre1.
13577
13578 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
13579
13580         * configure.in (REBUILD): Change check for perl5
13581           to check explicitely for v >= 5.002. (5.001
13582           does not work with our scripts.)
13583
13584 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
13585
13586         * configure.in: evaluate $PERL for the perl version check. added
13587         --disable-rebuilds to give the user an option to completely disable
13588         any source autogeneration rules.
13589
13590 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
13591
13592         * configure.in: evaluate $ac_make when checking for GNU Make.
13593
13594 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
13595
13596         * docs/Makefile.am: added generation.txt.
13597
13598         * Makefile.am: require automake 1.4, build README from README.in and
13599         INSTALL from INSTALL.in in dist-hook.
13600         
13601         * README.in:
13602         * INSTALL.in: new files to autogenerate README and INSTALL from.
13603
13604         * configure.in: figure whether we have GNU Make
13605
13606         * docs/generation.txt: minor additions/corrections.
13607
13608 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
13609
13610         * docs/gtkfaq.sgml: FAQ Update
13611
13612 July 30, 1999 Elliot Lee <sopwith@redhat.com>
13613         
13614         * configure.in: Fix autoconf warnings about cross compilation by
13615         trying to provide sane defaults for AC_TRY_RUN.
13616
13617 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
13618
13619         * ltconfig
13620         * ltmain.sh: upgrade to libtool 1.3.3
13621
13622 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
13623
13624         * INSTALL: Indicate that the --with-glib= configure
13625         time flag is unsupported.
13626
13627 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
13628
13629         * docs/generation.txt: Added a file that gives
13630         documenation about the autogeneration process for
13631         various autogenerated files.
13632         
13633 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
13634
13635         * configure.in (LIBS): Look for libgmodule in the
13636         right location.
13637
13638 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
13639
13640         * docs/gtk_tut.sgml: Removed references to
13641         code examples in my directory on gtk.org as
13642         they should all be in the tutorial now.
13643
13644         * docs/gtk_tut.sgml: Added sources for dial-test
13645         and scribble-xinput programs that were previously
13646         missing.
13647
13648 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
13649
13650         * TODO: Added entry about menu keyboard navigation, removed
13651         some finished items.
13652
13653 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
13654
13655         * acinclude.m4: Standardize on func_dgettext
13656         not func_gettext, so that the checks for dgettext
13657         actually are paid attention to.
13658
13659 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
13660
13661         * configure.in (LIBS): Add $INTLLIBS into $LIBS
13662         directly, rather than repeating the checks for
13663         gettext.
13664
13665         * INSTALL: Added information about gettext and
13666         NLS support.
13667
13668         * acinclude.m4 (LIBM): Check for dgettext, not
13669         just gettext. This should hopefully fix things wrt
13670         systems with old versions of GNU gettext installed.
13671
13672 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
13673
13674         * configure.in (LIBS): Look for libgmodule in the
13675         right location.
13676
13677 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
13678
13679         * autogen.sh: add --enable-maintainer-mode
13680
13681         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
13682
13683 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
13684
13685         * docs/gtk-config.1.in:
13686           docs/Makefile.am:
13687           configure.in: gtk-config is now generated.
13688
13689         * docs/gtk-config.1: Removed, now generated.
13690
13691 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
13692
13693         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
13694         handle CreateNotify itself, still put out a debuging message for
13695         --gdk-debug=events. made the ReparentNotify debugging message more
13696         verbose.
13697         wrap xcoords translation for ConfigureEvents into an error trap,
13698         a destroy event may already be pending, and in that case, the
13699         actuall coordinate values are not at all critical.
13700
13701 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
13702
13703         * gdk/gdkcc.c: Stop leaking the color_hash all over
13704         the place. Simplify and improve the logic.
13705
13706 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
13707
13708         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
13709         for prototypes and function implementations consistent (reported
13710         by Tomas Ogren).
13711
13712 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
13713
13714         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
13715         send_event set in debugging output.
13716         (gdk_compress_exposures): default initialize the event so we don't
13717         operate on bogus values (namely send_event).
13718
13719 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
13720
13721         * gdk/gdkwindow.c: When we receive an unexpected
13722         destroy notify on one of our windows, don't just
13723         warn about it, also mark our windows as destroyed.
13724
13725 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
13726
13727         * gdk/gdkfont.c (gdk_font_hash_insert): Add
13728           name => font and name => fontset hashes. The 
13729           name => fontset hash is a _big_ win since we
13730           weren't previously caching fontsets at all and loading
13731           fontsets is expensive. The name => font hash
13732           is less of a win, but it does save us from doing
13733           repeated XQueryFont calls on the same font.
13734
13735         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
13736           list so we can remove font/fontset from hash.
13737
13738 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
13739
13740         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
13741           and slightly confusing test. [ XInternAtom (,,TRUE)
13742           will never return None ].
13743
13744 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
13745
13746         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
13747           gdk/gdkwindow.c (gdk_window_set_hints):
13748
13749         Don't omit setting the properties if flags == 0 -
13750         there may be an existing set of properties there
13751         already. (Very old bug. Would it be better to
13752         delete the property instead?)
13753
13754         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
13755           spelling error in comment.
13756
13757 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
13758
13759         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
13760           to avoid stomping over gdk_error_warnings.
13761
13762         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
13763           as (bits_per_pixel + 7) / 8. This gives the same
13764           result as before for multiples of 8, but actually
13765           a "reasonable" value for 1bit or 4bit displays.
13766
13767 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
13768
13769         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
13770         GNU Make.
13771
13772 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
13773
13774         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
13775         discarding configure events.
13776
13777 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
13778
13779         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
13780         refcount is greater than zero.
13781
13782         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
13783
13784         * gdk/gdkfont.c (gdk_font_unref): Likewise.
13785
13786         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
13787
13788         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
13789
13790 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
13791
13792         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
13793         that format 32 => sizeof(item) == 4. It really is
13794         sizeof(long).
13795
13796 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
13797
13798         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
13799         core dump at all on X IO errors, only core dump
13800         if --enable-debug for X errors.
13801
13802 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
13803
13804         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
13805         unknown window:" message. disabled ConfigureNotify discarding code,
13806         because it led to events being processed out of order.
13807
13808 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
13809
13810         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
13811
13812         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
13813         we export this function, supress error warnings and don't reset the
13814         error code in the first half of this function.
13815
13816         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
13817         code (instead of just -1) so gdk_error_trap_pop() reveals something
13818         actually informative about the error that happened.
13819
13820         * gdk/*.c:
13821         don't rely on gdk_error_code being -1 if an error occoured, but just
13822         gdk_error_code != 0.
13823
13824 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
13825
13826         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
13827         pointer *before* invoking the filter function, so we at least don't
13828         crash if a filter is removed that is currently executed. window filters
13829         *really* need to be made truely reentrant at some point.
13830
13831 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
13832
13833         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
13834         PropertyNotify debug messages.
13835
13836 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
13837         
13838         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
13839         
13840         * gdk/gdkim.c: Fix cut-and-paste errors for 
13841         x/y and PreeditAttributes/StatusAttributes.
13842
13843 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13844
13845         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
13846         G_MAXINT to 2^16 to alleviate overflow problems in
13847         various window managers.
13848
13849 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
13850
13851         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
13852         for fontsets.
13853
13854 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
13855
13856         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
13857         Initialize size_hints.x and size_hints.y because kwm
13858         brokenly pays attention to them.
13859         (Bug #1181 -  Lars Heete <hel@admin.de>)
13860
13861 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
13862
13863         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
13864         return value of gdk_list_visuals(). 
13865         (Bug #1193 - Morten Welinder <terra@diku.dk>)
13866
13867 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
13868
13869         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
13870         XSetIMValues to (void *) when comparing to NULL, to workaround
13871         the problem of some compilers barfing since older X headers don't
13872         have the prototype for it.
13873
13874 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
13875
13876         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
13877         for pseudocolor where colormap->colors was double
13878         allocated.
13879
13880         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
13881         color value in the hash table with the pixel filled
13882         in so when we do later hash table lookups, the color
13883         value is correct.
13884         
13885 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
13886
13887         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
13888         making the call
13889
13890 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
13891
13892         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
13893         pointed out by Morten Welinder <terra@diku.dk>.
13894
13895 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13896
13897         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13898           default filter from the list
13899
13900 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13901
13902         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13903           default filter from the list
13904
13905 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
13906
13907         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
13908
13909         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
13910         g_strdup_printf instead of calcing the length separately
13911
13912 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
13913
13914         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
13915         that we don't do in many other places. (Fixing duplicate 
13916         #include of config.h)
13917
13918         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
13919         Otherwise, #ifndef XINPUT_NONE check in the latter
13920         doesn't work. (Bug #546)
13921
13922 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
13923
13924         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
13925         "None" case insensitive.
13926
13927 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
13928
13929         * gdk/gdkselection.c: 
13930         Add error traps so if the other end of the connection
13931         dies, we survive.
13932
13933 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13934
13935         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
13936         dest_xid field into two fields - one for the window
13937         to send in messages, one to indicate the last looked
13938         up window for caching purposes. This is needed, so
13939         that Leave messages get the correct window.
13940
13941 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
13942
13943         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
13944         Fix warning created by people mucking around
13945         with the gsource API.
13946
13947         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
13948         Change mapping between GIOCondition and GdkInputCondition
13949         to match the way the Linux kernel does it. This should
13950         fix problems where closed pipes were no longer signalling
13951         GDK_INPUT_READ on systems with a native poll().
13952
13953 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
13954
13955         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
13956         explicitly for the string "None" - it is in the XPM
13957         spec and some servers treat unknown colors in odd ways
13958         (like asking the user!)
13959
13960 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
13961
13962         * gdk/gdkevents.c: made "->" into a "." of previous change so
13963         it compiles
13964
13965 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
13966
13967         * gdk/gdkevents.c (gdk_compress_exposures): Set the
13968         window field of the event structure before calling
13969         user filters.
13970
13971 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
13972
13973         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
13974         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
13975
13976 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
13977
13978         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
13979         intermediate text property - prevents major memory
13980         leak when gdk_use_mb.
13981         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
13982
13983 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
13984
13985         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
13986         gtk-a-higuti-990322-[0-3]
13987
13988         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
13989         sizeof(wchar_t) != sizeof (GdkWChar)
13990
13991         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
13992         that was causing -DX_LOCALE not to work.
13993
13994         * gtk/gtkrc.c (gtk_rc_init):
13995         X_LOCALE will never have LC_MESSAGES defined
13996
13997         * gdk/gdk.c (gdk_init_check):
13998         Remove --xim-preedit and --xim-status from argv properly.
13999
14000         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
14001         that the client window is present on the X server
14002         before we pass it to the input method.
14003
14004 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
14005
14006         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
14007         if --display is specified on the command line, than
14008         the drag window will not be created on that display.
14009         
14010 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
14011
14012         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
14013         lookups with only_if_exists == TRUE were inserting
14014         bogus values into the atom cache.
14015
14016 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
14017
14018         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
14019         then reset it to NULL.
14020
14021         * gdk/gdkcolor.c:
14022         (gdk_colors_free): 
14023         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
14024         key for g_hash_table_remove() in both functions, this prevents us
14025         from accessing possibly uninitialized portions of a GdkColor structure
14026         where we are only interested in its pixel value.
14027
14028 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14029
14030         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14031         font hash table, if we have a GdkFontPrivate entry for this font
14032         already, simply increment its reference count, provided by Olaf Dietsche
14033         <olaf.dietsche+list.gtk@netcologne.de>.
14034
14035 1999-09-21  Tor Lillqvist  <tml@iki.fi>
14036
14037         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
14038         just to be sure.
14039
14040         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
14041         unused variables, leftovers from the X11 version.
14042
14043         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
14044
14045         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
14046         downcase fields on X11.
14047
14048 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
14049         
14050         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
14051         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
14052
14053 1999-09-17  Tor Lillqvist  <tml@iki.fi>
14054
14055         * gdk/win32/gdk.def: Add gdk_threads_mutex.
14056
14057         * gtk/makefile.msc: Correct path to libintl.
14058
14059         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
14060         use of gint vs. int, and gint vs. gboolean in headers and
14061         definitions. Use GtkType for the *_get_type functions. Note that
14062         these changes preserve binary compatibility.
14063
14064         * gdk/gdk.c
14065         * gdk/win32/gdk.c
14066         * gdk/gdk.h: Fix inconsistencies: gint vs int.
14067
14068         * gtk/gtkmain.c
14069         * gtk/gtkclist.c
14070         * gtk/gtkmenufactory.c
14071         * gtk/gtknotebook.c
14072         * gtk/gtkwidget.c: Fix inconsistencies, also gint
14073         vs. gboolean.
14074
14075         * gtk/gtkcolorsel.[ch]
14076         * gtk/gtkcombo.[ch]
14077         * gtk/gtkdrawingarea.[ch]
14078         * gtk/gtkgamma.[ch]
14079         * gtk/gtkhandlebox.[ch]
14080         * gtk/gtkhpaned.[ch]
14081         * gtk/gtkhruler.[ch]
14082         * gtk/gtkplug.[ch]
14083         * gtk/gtkpreview.[ch]
14084         * gtk/gtkruler.[ch]
14085         * gtk/gtksocket.[ch]
14086         * gtk/gtkstatusbar.[ch]
14087         * gtk/gtktoolbar.[ch]
14088         * gtk/gtkvbbox.[ch]
14089         * gtk/gtkvpaned.[ch]
14090         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
14091         functions.
14092
14093         * gtk/gtkgamma.h: Fix bug, missing () in call of
14094         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
14095
14096 1999-09-14  Tor Lillqvist  <tml@iki.fi>
14097
14098         * gdk/gdkcolor.c (gdk_colormap_new)
14099         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
14100         colormap->colors was allocated twice.
14101
14102         * gdk/win32/gdk.c: Remove some unused stuff.
14103
14104         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
14105         colormap.
14106
14107         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
14108         * gtk/gtklabel.h (gtk_label_get_type)
14109         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
14110         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
14111         in a couple of places, not guint.
14112
14113 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
14114
14115         * configure.in,po/et.po: added Estonian language file
14116
14117 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
14118
14119         * configure.in,po/da.po: added Danish file
14120
14121 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
14122
14123         * docs/gtkfaq.sgml: Minor FAQ Update
14124
14125 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
14126
14127         * docs/gtkfaq.sgml: FAQ update
14128
14129 1999-08-27  Tor Lillqvist  <tml@iki.fi>
14130
14131         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
14132         way to get window contents continually refreshed while resizing. I
14133         didn't like the effects myself, so it's not on by default.
14134
14135         * gdk/win32/gdkprivate.h: New flag variable
14136         gdk_event_func_from_window_proc, FALSE by default.
14137
14138         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
14139         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
14140         are passed --gdk-event-func-from-window-proc.
14141
14142         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
14143         and we have am event_func, call it instead of enqueing the event.
14144
14145 1999-08-23  Tor Lillqvist  <tml@iki.fi>
14146
14147         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
14148         Kelley: Set expose_count in GdkEventExposes correctly.
14149
14150         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
14151         MULTIPLE_WINDOW_CLASSES).
14152
14153         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
14154         for bug in NT, apparently NT *does* draw the end pixel, too, in
14155         LineTo with a one-pixel pen, so we don't have to do it ourselves.
14156
14157 1999-08-21  Tor Lillqvist  <tml@iki.fi>
14158
14159         Improvements by Hans Breuer: 
14160
14161         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
14162
14163         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
14164         CS_?REDRAW flags as they cause lots of (late) redraws when "show
14165         window contents while dragging" is turned on. Allocate at least
14166         one unique class for every GdkWindowType. If support for single
14167         window-specific icons is ever needed (eg. Dialog specific), every
14168         such window should get its own class.
14169
14170 1999-08-19  Tor Lillqvist  <tml@iki.fi>
14171
14172         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
14173         error that caused crashes.
14174
14175 1999-08-17  Tor Lillqvist  <tml@iki.fi>
14176
14177         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
14178         window, use ScrollWindowEx, and call UpdateWindow. This prevents
14179         bugs when for instance part of the window was outside the
14180         display. Thanks to Philippe Colantoni for finding and fixing this.
14181
14182 1999-08-16  Tor Lillqvist  <tml@iki.fi>
14183
14184         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
14185         endpoint calculations which were totally wrong. (A little RTFMing
14186         helps a lot ;-)
14187
14188         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
14189         from a separate directory, not from gettext, because of licensing
14190         issues (we want to use the LGPL version).
14191
14192         * README.win32: Mention the intl from glibc vs from gettext issue.
14193
14194 1999-08-13  Tor Lillqvist  <tml@iki.fi>
14195
14196         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
14197         in the key event handling: Now AltGr chars work again. Also,
14198         now Alt-digits are passed up as well as Control-digits.
14199         Pass keypad plus and minus as normal plus and minus.
14200
14201 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
14202
14203         * docs/gtkfaq.sgml: FAQ Update
14204
14205 1999-07-25  Tor Lillqvist  <tml@iki.fi>
14206
14207         * README.win32
14208         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
14209         the Wintab SDK.
14210
14211         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
14212         OK, but getting closer. Guard against bogus tilt data from Wacom
14213         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
14214         enable easier building without Wintab.
14215
14216         * gdk/win32/gdkinput.h
14217         * gdk/win32/gdkevents.c 
14218         * gdk/win32/gdkwindow.c: Minor changes related related to above.
14219         
14220         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
14221         code. As we have just one visual on Win32, no sense to have it in a
14222         table, and no need for the hash table.
14223
14224         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
14225         better on white background.
14226
14227 1999-07-21  Tor Lillqvist  <tml@iki.fi>
14228
14229         * README.win32: Update gcc build instructions. Mention gettext is
14230         GPL.
14231
14232         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
14233         supported cursor size with GetSystemMetrics.
14234
14235         * gdk/win32/gdkfont.c
14236         * gtk/gtkfontsel.c: Guard against some font weight and charset
14237         symbols being undefined (in mingw32 headers).
14238
14239         * gdk/win32/makefile.cygwin
14240         * gtk/makefile.cygwin
14241         * gtk/gtkthemes.c: No longer need to have differently named
14242         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
14243
14244 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
14245
14246         * docs/gtkfaq.sgml: Long awaited FAQ update.
14247
14248 1999-07-15  Tor Lillqvist  <tml@iki.fi>
14249
14250         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
14251         it. Obscure bit manipulation needed.
14252
14253         * gdk/win32/gdkevents.c: Logging.
14254         
14255         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
14256         style (file name include compiler name) for theme engines.
14257
14258 1999-07-13  Tor Lillqvist  <tml@iki.fi>
14259
14260         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
14261
14262         * gdk/win32/gdkevents.c: Fix long-standing bug in key
14263         events. The key.string wasn't zero-terminated, still we strdup'ed
14264         it in gdk_event_copy(). Synthesize crossing events for button
14265         events before possible propagation.
14266
14267         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
14268
14269         * gdk/win32/makefile.cygwin
14270         * gtk/makefile.cygwin: Use new DLL naming style for the
14271         GCC-compiled ones.
14272
14273         * gdk/win32/makefile.msc
14274         * gtk/makefile.msc: Cosmetics mostly.
14275
14276         * gtk/gtk.def: Add missing entry points.
14277
14278         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
14279
14280 1999-07-09  Tor Lillqvist  <tml@iki.fi>
14281
14282         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
14283         or height is zero. Don't print a warning if Pie or Arc fails, they
14284         always fail (?) for very narrow ellipses.
14285
14286         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
14287         the part or the destination window corresponding to source area
14288         outside of the source drawable's boundary.
14289
14290         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
14291         anything if less than two points.
14292
14293         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
14294         return NULL. Gtk cut-and-paste inside a single program works
14295         better this way. (It always gets the clipboard contents from
14296         Windows, not from its own copy, which is cleared anyway. I can't
14297         say I fully understand what happens... Emulating the X selection
14298         and property stuff is a bit of a mess.)
14299
14300         * gdk/win32/gdkevents.c
14301         * gdk/win32/gdkproperty.c: A bit more verbose logging.
14302
14303         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
14304         that never got deleted). Revamp gdk_region_shrink.
14305
14306         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
14307         after use.
14308
14309         * gtk/gtk.def: Add some missing entry points.
14310
14311         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
14312         component.
14313
14314 1999-07-04  Tor Lillqvist  <tml@iki.fi>
14315
14316         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
14317         Control-digits specially.
14318
14319 1999-07-03  Tor Lillqvist  <tml@iki.fi>
14320
14321         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
14322
14323 1999-06-28  Tor Lillqvist  <tml@iki.fi>
14324
14325         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
14326         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
14327         finding this.)
14328
14329 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
14330
14331         * gtk+.spec.in: Corrected some typos in files section.
14332         
14333 1999-06-15  Tor Lillqvist  <tml@iki.fi>
14334
14335         * README.win32: Mention using GNU gettext.
14336         * config.h.win32: Enable NLS stuff.
14337         * gtk/makefile.msc: Use GNU gettext.
14338         * gdk/win32/gdkdnd.c: Minor header reorg.
14339         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
14340         cosmetics.
14341         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
14342         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
14343
14344 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
14345
14346         * acinclude.m4
14347         * config.guess
14348         * config.status
14349         * ltconfig
14350         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
14351
14352 1999-05-30  Tor Lillqvist  <tml@iki.fi>
14353
14354         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
14355         SafeAdjustWindowRectEx. Don't override all calls to
14356         AdjustWindowRectEx by it, but use it only in two places: When
14357         creating a new top-level window and when moving a top-level
14358         window.
14359
14360         Use screen coordinate rectangle, not client rectangle, in
14361         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
14362         when we try to place a window so that the decoration (mainly,
14363         title bar) isn't visible.
14364
14365         These changes fix the bug that showed up for instance as the
14366         GIMP's saved top-level windows moving right and down (by an amount
14367         equal to the window decoration) for each session. This bug showed
14368         up also in testgtk's "Saved Position".
14369
14370         gdk_window_resize also redone a bit.
14371
14372 1999-05-25  Tor Lillqvist  <tml@iki.fi>
14373
14374         * gtk/testgtkrc: Add (commented out) Windows-style theme
14375         include line.
14376
14377         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
14378
14379 1999-05-18  Tor Lillqvist  <tml@iki.fi>
14380
14381         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
14382         gdkx.h to a gdk subdirectory, so that applications can include
14383         these with <gdk/*.h> without trouble.
14384
14385         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
14386         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
14387         have their bitmap destroyed.
14388
14389         * gdk/win32/gdk.def: Add gdk_root_parent.
14390
14391 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
14392
14393         * configure.in
14394           gtk-config.in
14395           ltconfig
14396           ltmain.sh     
14397           gtk/Makefile.am: changes to compile nicely (with xlib) 
14398           on BeOS
14399
14400 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
14401
14402         * acinclude.m4
14403         * config.guess
14404         * config.sub
14405         * ltconfig
14406         * ltmain.sh: upgrade to libtool 1.3
14407
14408 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
14409
14410         * gtk/gtkclist.c:
14411         * gtk/gtkctree.c: merges from gtk-1-2
14412
14413 1999-04-25  Tor Lillqvist  <tml@iki.fi>
14414
14415         Support added for building using a GNU toolchain on Win32,
14416         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
14417
14418         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
14419         * config.h.win32: Changes for gcc.
14420         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
14421         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
14422         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
14423         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
14424         Protect shl stuff unavaiilable with mingw32 headers.
14425         * gdk/win32/gdkevents.c: Fix typo.
14426         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
14427         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
14428         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
14429         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
14430         the mingw32 headers.
14431         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
14432         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
14433         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
14434         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
14435         Test for NATIVE_WIN32, not _MSC_VER.
14436         * gtk/gtkmain.c: No use warning about developer version on Win32,
14437         there aren't any non-developer versions anyhow.
14438         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
14439         * gtk/makefile.msc: Use pthread from another directory. Minor other
14440         changes. 
14441
14442 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
14443
14444         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
14445           default filter from the list
14446
14447 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
14448
14449         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
14450          when gtk_widget_grab_default() is called for a widget that
14451          is not within a GtkWindow.
14452
14453 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
14454
14455         * docs/gtk_tut.sgml, examples/clist.c: use a
14456           scrolled window in the clist example. Minor
14457           tutorial fixes.
14458
14459 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
14460
14461         * docs/gtk_tut.sgml: Style check from David King
14462           <dking@youvegotmail.net>
14463
14464 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
14465
14466         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
14467         compile with unknown value of GDK_WINDOWING
14468
14469 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
14470
14471         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
14472         after the rule is fired.
14473         (install-exec-local): Install gdkconfig.h only if the contents are
14474         different from the currently installed gdkconfig.h.
14475
14476 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
14477
14478         * gdk/Makefile.am (configexecincludedir): Rename from 
14479         configincludedir so that gdkconfig.h will be installed 
14480         as part of `make install-exec'. 
14481
14482 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
14483
14484         * acinclude.m4
14485         * config.guess
14486         * config.sub
14487         * ltconfig
14488         * ltmain.sh: upgrade to libtool 1.2f
14489
14490         * autogen.sh: libtool is not required to autogen gtk+
14491
14492         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
14493         needed)
14494
14495 1999-03-18  Tor Lillqvist  <tml@iki.fi>
14496
14497         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
14498         declaring gdk variables exported/imported from the DLL. New image
14499         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
14500         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
14501         GDK_DRAG_PROTO_OLE2.
14502
14503         * gdk/gdk.h: Merge in Win32 version: Two new functions,
14504         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
14505         declared only for the Win32 version, but could be in the X11
14506         version as well. (Needed for a Xlib-less gdk_imlib.)
14507         gdk_color_hash should have only one parameter. Declare
14508         gdk_threads_mutex with GDKVAR.
14509         
14510         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
14511         just one parameter.
14512
14513         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
14514         per pixel, not bits.
14515
14516         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
14517         Fetch bpp (which means bits-per-pixel here) from another place on
14518         Win32. Accept also depth==32 (which we might get on Win32) with
14519         bpp==32.
14520
14521         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
14522         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
14523         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
14524         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
14525         in the backend-dependent directory, not in the common gdk
14526         directory.
14527
14528         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
14529         headers.
14530
14531 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
14532
14533         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
14534         want to use the Gtk+ devel version (which is true, and yes - even i am
14535         currently working with the 1.2.x branch). so everyone reading this, you
14536         probably want to issue
14537         cvs checkout -r glib-1-2 glib
14538         and
14539         cvs checkout -r gtk-1-2 gtk+
14540         as your next two comands.
14541
14542 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
14543
14544         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
14545         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
14546
14547         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
14548         file. strongly deprecated the GTK_HAVE_* macros, we provide
14549         GTK_CHECK_VERSION() for people that need to check for certain
14550         Gtk+ versions.
14551
14552         * gtk/gtkcompat.h: removed this from CVS.
14553         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
14554         idea right from the start, it just didn't seem like that back then.
14555
14556 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
14557
14558         * merges from gtk-1-2:
14559
14560 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
14561
14562         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
14563         item factory class has been created.
14564         (gtk_item_factory_parse_rc): likewise.
14565
14566         * gtk/gtkmenu.c:
14567         keep proper references for old_active_menu_item.
14568         (gtk_menu_reparent): unset the usize of the new parent,
14569         so the menu can sanely be size requested and we don't get nasty screen
14570         artefacts upon next reparentation.
14571         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
14572         enter notify. only synthesize enter notifies if the pointer really is
14573         inside the event window.
14574         (gtk_menu_popdown): use gtk_menu_shell_deselect().
14575         (gtk_menu_popup): move the background setting stuff into
14576         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
14577
14578         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
14579         gtk_menu_shell_select_item() to select the new item.
14580         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
14581         do the right thing for deselection as well.
14582
14583 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
14584
14585         * gtk/gtkwidget.[hc]:
14586         (gtk_widget_accelerators_locked): return whether a widget's accelerators
14587         are locked.
14588
14589         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
14590         existing accelerators if the widget's accelerators are locked.
14591
14592 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
14593
14594         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
14595
14596         * gtk/gtkmenu.c: truely forward key press and key release events to
14597         the menu widget from the toplevel or tearoff window. we can't simply
14598         connect to that, we need to stop further processing of the events as
14599         well.
14600
14601 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
14602
14603         * gtk/gtkmenu.c:
14604         (gtk_menu_key_press): pass event->keyval, event->state to
14605         gtk_accelerator_valid, instead of event->keyval twice.
14606         refuse to install single letter accelerators for menus that use
14607         single letter shortcuts.
14608
14609         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
14610         gtk_menu_ensure_uline_accel_group().
14611
14612         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
14613         which will always return an uline accel group, made
14614         gtk_menu_get_uline_accel_group() return NULL if the group isn't
14615         yet created.
14616
14617 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
14618
14619         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
14620
14621         * gtk/gtkclist.c (gtk_clist_column_title_passive):
14622         Leave button sensitive, trap  button_press, button_release,
14623         motion_notify, enter_notify and leave_notify events instead.
14624         (gtk_clist_column_title_active): disconnect event handler.
14625         (gtk_clist_drag_data_get): fixed memory leak. Reported by
14626         Guillaume Laurent <glaurent@worldnet.fr>
14627
14628 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
14629
14630         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
14631         width/height mixups.
14632
14633         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
14634         if needed.
14635
14636 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
14637
14638         * gtk/testgtk.c (create_item_factory): unref the item factory after
14639         window's destruction.
14640
14641         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
14642         count on the menu shell around the menu item's activation, since the
14643         signal emission may cause menu shell destruction.
14644
14645         * gtk/gtkitemfactory.c:
14646         the previous code leaked one accel group per menu. we use
14647         gtk_menu_get_uline_accel_group() now to fix that, and with that
14648         also create the underline accelerator group of the menus only if
14649         required (i.e. an underline accelerator has been specified).
14650         (gtk_item_factory_construct):
14651         (gtk_item_factory_create_item): removed code that would create an
14652         extra accel group for the menu (and leak references).
14653         (gtk_item_factory_create_item): adapted the underline accelerator
14654         installation code to properly feature gtk_menu_get_uline_accel_group().
14655
14656         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
14657         menu->accel_group, this may return NULL if the accelerator group
14658         hasn't been set yet.
14659         added gtk_menu_get_uline_accel_group() to retrive the underline
14660         accelerator group of the menu, this will be created on demand
14661         and proper care is taken about its reference count.
14662
14663         * gtk/gtkitemfactory.h:
14664         * gtk/gtkitemfactory.c:
14665         dumped the approach of keeping a widgets by action list on the
14666         factory since the factory<->widget destroy negotiation didn't work
14667         and would be hard to get going at all. instead we keep a list of
14668         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
14669         persistant throughout a program's life time).
14670         also, i removed the static const gchar *key_* variables, and made
14671         them inline strings (they weren't actually used anyways).
14672         (gtk_item_factory_add_item): update ifactory->items.
14673         (gtk_item_factory_destroy): destroy ifactory->items (and remove
14674         the item factory pointer from the remaining ifactory widgets).
14675         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
14676         list to find the widget.
14677         (gtk_item_factory_get_item): new function that works around
14678         gtk_item_factory_get_widget() limitations, this function will only
14679         return menu items, even for <Branch> entries.
14680
14681 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14682
14683         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14684         font hash table, if we have a GdkFontPrivate entry for this font
14685         already, simply increment its reference count, provided by Olaf Dietsche
14686         <olaf.dietsche+list.gtk@netcologne.de>.
14687
14688         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
14689         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
14690
14691 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
14692
14693         * gtk/gtkcontainer.c:
14694         (gtk_container_add_with_args):
14695         (gtk_container_addv):
14696         (gtk_container_add): before adding a child to a conatiner, make sure
14697         it is (default) constructed, this is neccessary because under certain
14698         circumstances the child will get relized and mapped immediatedly, in
14699         which case it has to be constructed already.
14700
14701 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
14702
14703         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
14704         values > 1 as TRUE also.
14705
14706 1999-03-16  Tor Lillqvist  <tml@iki.fi>
14707
14708         * README.win32: New file.
14709                 
14710         * configure.in: Check for lstat.
14711
14712         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
14713         completeness.
14714
14715         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
14716
14717         * gtk/gtk.def: Removed CRs.
14718
14719         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
14720         ..\gdk\win32).
14721
14722         * gdk/win32/makefile.msc: Correct upwards relative paths.
14723         
14724 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
14725
14726         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
14727           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
14728           it was connecting a void function to expose_event and the int
14729           returning function to the draw signal
14730
14731 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
14732
14733         * configure.in:
14734         Use correct path to libgmodule.la when ref'ing uninstalled copy
14735         of glib.  (Already in stable branch, Bug #417)
14736
14737 1999-03-15  Tor Lillqvist  <tml@iki.fi>
14738
14739         Win32 merge and general portability stuff:
14740                 
14741         * acconfig.h,configure.in: Check for <sys/time.h>.
14742
14743         * gdk/win32: New directory (actually, been there for a while).
14744         
14745         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
14746         NATIVE_WIN32, and use these. Always case fold on Win32. No
14747         backslashed escapes on native Win32.
14748
14749         * gtk/{gtk.def,makefile.msc}: New files.
14750
14751         * gtk/Makefile.am: Add above new files.
14752         
14753         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
14754         instead of <strings.h>.
14755
14756         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
14757         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
14758         <unistd.h> appropriately.
14759
14760         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
14761         Use ABS() (from <glib.h>) instead of abs().
14762         
14763         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
14764         of gtk (and thus glib) headers, so that WIN32 will be
14765         defined. With MS C, include <direct.h> for mkdir prototype.
14766
14767         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
14768         some casts, needed by MS C.
14769
14770         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
14771         implemented).
14772
14773         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
14774         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
14775         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
14776
14777         * gtk/gtkmain.h: Mark variables for export/import on Win32.
14778                 
14779         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
14780         the event is not a hint, or its window is not the slider. Needed
14781         on Win32, at least.
14782
14783         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
14784         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
14785         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
14786         a subdirectory of the Windows directory as gtk system
14787         configuration directory.
14788
14789         * gtk/gtkselection.c: No chunks on Win32.
14790
14791         * gtk/gtksocket.c: Not implemented on Win32.
14792
14793         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
14794
14795         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
14796
14797         * gtk/maketypes.awk: Declare variables with a macro that expands to
14798         necessary export/import magic in the case of Win32.
14799                 
14800         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
14801
14802 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
14803
14804         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
14805         since those were meant only for gdki18n.h.  
14806         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
14807         for widechar tests.
14808         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
14809
14810 1999-03-13  Tor Lillqvist  <tml@iki.fi>
14811
14812         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
14813         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
14814
14815         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
14816         installed) to CFLAGS.
14817
14818         * gdk/Makefile.am: Add rules for gdkconfig.h.
14819
14820         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
14821         APIs.
14822
14823         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
14824         gdkx.h anyway when compiling for X11.
14825         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
14826         general): Merge in Win32 version.
14827         
14828         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
14829         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
14830         expansion (if we don't have HAVE_PWD_H), allow for drive
14831         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
14832         included code from Craig Setera's port to Win32 (the one that uses
14833         X11, and the cygwin dll), even if it probably will be abandoned.
14834
14835         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
14836         the user entered one herself.  This way one can complete *.h and
14837         don't get matches on any .help files, for instance.
14838         
14839 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14840
14841         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14842         font hash table, if we have a GdkFontPrivate entry for this font
14843         already, simply increment its reference count, provided by Olaf Dietsche
14844         <olaf.dietsche+list.gtk@netcologne.de>.
14845
14846         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
14847         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
14848
14849 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
14850
14851         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
14852         the number of calls to gdk_draw_point() (and thus to X) by
14853         clipping the points by hand.
14854
14855         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
14856         the clip parameter.
14857         (gtk_handle_box_paint): Only paint the handle if the expose area
14858         intersects it.
14859
14860 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
14861
14862         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
14863
14864 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
14865
14866         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
14867         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
14868
14869 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
14870
14871         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
14872          textmode (O_TEXT) for OS/2 version.
14873
14874 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
14875
14876         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
14877         GtkSpinButton, "input" and "output", to make the output more flexible.
14878         The user has to provide a mapping between adjustment->value and the
14879         output string (and vice versa, if the spin button is editable). 
14880         See testgtk for examples.
14881
14882 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
14883
14884         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
14885         new one.
14886         
14887         * configure.in: set gtk+ version to 1.3.0.