]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-4
Bug fix to make trees work again when not sorted.
[~andy/gtk] / ChangeLog.pre-2-4
1 Mon Apr  2 19:36:57 2001  Jonathan Blandford  <jrb@redhat.com>
2
3         * gtk/gtktreestore.c (gtk_tree_store_init):  Bug fix to make trees
4         work again when not sorted.
5
6         * gtk/gtktreeview.c (gtk_tree_view_class_init): Add "collapse_row"
7         and "expand_row" signal, closing bug 52578.
8
9         * gtk/gtktreeview.c (gtk_tree_view_expand_row): Add signal
10         support.
11
12         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): Add signal
13         support.
14
15 Mon Apr  2 18:18:07 2001  Owen Taylor  <otaylor@redhat.com>
16
17         * gdk/gdkevents.h: Add GdkEventSetting event for notification
18         of changes to system settings, gdk_setting_get() to retrieve
19         a single system setting.
20
21         * gdk/x11/gdkevents-x11.c: Bridge gdk_setting_get() and GdkEventSetting
22         to the draft XSETTINGS mechanism.
23
24         * gdk/x11/xsettings-{common,client}.[ch]: Sample-implementation of
25         XSETTINGS.
26
27         * gtk/gtkmain.c gtk/gtksettings.[ch]: Propagate notification
28         of GDK settings changes to the GtkSettings object.
29
30         * gdk/gdkevents.[ch] gdk/gtk/gtksettings.c: Hook up the
31         double-click-timeout property to GDK.
32
33         * gdk/gdkcolor.[ch] gdk/gdkvisual.h gdk/gdkevent.[ch] gdk/gdkfont.[ch]:
34         Define GDK boxed types here.
35
36         * gdk/Makefile.am gdk/makeenums.pl: Generate source files
37         gdk/gdkenumtypes.[ch] for enum definitions.
38
39         * gtk/gtkcompat.h: Add defines for GTK_TYPE_GDK_*
40         * gtk/gtk-boxed.defs: Comment out GDK types
41         * gtk/gtktypeutils.h: Remove GDK types
42         * gtk/Makefile.am: No longer scan GDK headers for enumerataions
43
44 Mon Apr  2 16:41:08 2001  Owen Taylor  <otaylor@redhat.com>
45
46         * Applied patch from Ron Steinke to add signal accumulators
47         so that signals with the convention 'TRUE return means
48         handled' stop emission on a TRUE return.
49
50         * gtk/gtkmain.[ch]: Add private accumulator 
51         _gtk_boolean_handled_accumulator, used throughout GTK+.
52         
53         * gtk/gtkspinbutton.c: Add accumulator for ::output.
54
55         * gtk/gtktipsquery.c: Add accumulator for ::widget_selected
56         
57         * gtk/gtkwidget.c: Add accumulators for event signals,
58         ::drag_motion, ::drag_drop. Use _gtk_boolean_handled_accumator
59         for ::mnemonic-activate.
60
61         * gtk/gtkwindow.c: Add accumulator for ::frame_event
62
63 Mon Apr  2 16:24:21 2001  Owen Taylor  <otaylor@redhat.com>
64
65         * gtk/gtkwidget.c: Add missing include.
66
67 Mon Apr  2 16:56:15 2001  Jonathan Blandford  <jrb@redhat.com>
68
69         * gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new
70         marshaller.
71
72         * gtk/gtktreemodel.c (gtk_tree_model_range_changed): change
73         "changed" signal to "range_changed".
74
75         * gtk/gtktreeview.c (gtk_tree_view_set_model): fix small bug where
76         removing a tree from one model would remove all trees from that
77         model.
78         * gtk/gtktreeview.c (gtk_tree_view_range_changed): use range
79         changed signal instead.
80
81 Mon Apr  2 16:13:58 2001  Owen Taylor  <otaylor@redhat.com>
82
83         * gtk/gtkinvisible.c (gtk_invisible_style_set): Avoid
84         chaining up to parent impl, since we have a INPUT_ONLY
85         window.
86
87         * gtk/gtkentry.[ch]: Add a cursor_color property to set the
88         foreground color for the cursor.
89
90 Mon Apr  2 15:06:13 2001  Owen Taylor  <otaylor@redhat.com>
91
92         * gtk/gtkstyle.c (_gtk_style_peek_property_value): Reference 
93         param spec when caching property values, since we unref it
94         later when we free the style.
95
96         * gtk/gtkoptionmenu.c (gtk_option_menu_get_props): Dont' free
97         values since they are retrieved with G_VALUE_NO_COPY_CONTENTS.
98
99 Mon Apr  2 10:47:57 2001  Owen Taylor  <otaylor@redhat.com>
100
101         * gtk/gtkwidget.c (gtk_widget_class_init): Fix 
102         G_VALUE_NO_COPY_CONTENTS instead of G_SIGNAL_TYPE_STATIC_SCOPE
103         stupidity.
104
105 Mon Apr  2 00:51:11 2001  Owen Taylor  <otaylor@redhat.com>
106
107         [ First pass at adding style properties. Still needs some definite
108         fine-tuning. ]
109
110         * gtk/gtkbutton.c: Add ::default_spacing style property.
111          
112         * gtk/gtkcheckbutton.[ch] gtkradiobutton.c: Add ::indicator_size,
113         ::indicator_spacing style properties.
114
115         * gtk/gtkoptionmenu.c: Add ::indicator_size, ::indicator_spacing
116         style properties.
117
118         * gtk/gtk{,h,v}paned.[ch]: Make handle_size a style property
119         rather than a normal property.
120
121         * gtk/gtkwidget.c: Add an ::interior_focus style property to
122         draw focus inside buttons, in the Windows/Java Metal/etc. style.
123
124         * gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtktogglenbutton.c:
125         Honor ::interior_focus.
126         
127         * gtk/gtkentry.c: Don't draw focus at all when ::interior_focus is 
128         TRUE.
129
130         * gtk/gtkrange.[ch] gtk/gtk{h,v}scrollbar.c gtk/gtk{h,v}scale.c:
131         Add ::slider_width, ::trough_border, ::stepper_size,
132         ::stepper_spacing style properties.
133
134         * gtk/gtkscale.[ch] Add ::slider-length style property.
135
136 2001-04-02 Alexander Larsson   <alexl@redhat.com>
137
138         * gdk/linux-fb/gdkwindow-fb.c:
139         Add gdk_window_begin_resize_drag and gdk_window_begin_move_drag. Remove some
140         warnings that were spewed on startup.
141
142         * gtk/gtkwindow-decorate.c:
143         gtk_window_reposition -> _gtk_window_reposition
144
145 Sun Apr  1 21:37:22 2001  Owen Taylor  <otaylor@redhat.com>
146
147         * gtk/gtkwidget.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
148         Add boxed type for GtkRequistion. Use it for ::size-request.
149
150         * gtk/gtkstyle.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
151         Add a new GtkBorder structure useful for geometry properties
152         for widgets. Add corresponding GTK_TYPE_BORDER.
153         
154         * gtk/gtkwidget.c (gtk_widget_class_install_style_property):
155         Support automatic parser selection like
156         gtk_settings_install_property_parser().
157
158         * gtk/gtksettings.c (_gtk_rc_property_select_parser): Export
159         functionality for use by gtk_widget_class_install_style_property.
160         Support GTK_TYPE_BORDER, GTK_TYPE_REQUISITION.
161
162 Sun Apr  1 20:48:59 2001  Owen Taylor  <otaylor@redhat.com>
163
164         * gtk/gtkentry.c (gtk_entry_class_init): Make invisible-char
165         g_param_spec_unichar(). 
166
167 Sun Apr  1 23:41:37 2001  Tim Janik  <timj@gtk.org>
168
169         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): raise window for non
170         _NET window managers.
171
172         * gtk/gtkmenufactory.[hc]: cvs removed those files now.
173
174 Sun Apr  1 08:00:13 2001  Tim Janik  <timj@gtk.org>
175
176         * gtk/gtkwidget.[hc]: got rid of gtk_widget_popup(), a function that
177         bad needs to be nuked, not just deprecated.
178
179         * gtk/gtktooltips.c (gtk_tooltips_draw_tips): don't use 
180         gtk_widget_popup().
181
182         * gtk/*.[hc]: s/activate_mnemonic/mnemonic_activate/g;
183         
184         * gtk/gtkmenufactory.[hc]: removed this long-standingly deprecated
185         widget.
186         
187         * docs/Changes-2.0.txt: updates.
188         
189 Sun Apr  1 01:02:54 2001  Jonathan Blandford  <jrb@redhat.com>
190
191         * gtk/gtktreestore.c (gtk_tree_store_sort_iter_changed):
192         for (i = 0; i < 100; i ++)
193           g_print ("I will confirm it compile before committing\n");
194
195 Sun Apr  1 00:52:06 2001  Jonathan Blandford  <jrb@redhat.com>
196
197         * gtk/gtktreestore.c: Initial work on implementing the
198         GtkTreeSortable interface.  Basicaly a big cut'n'paste job.
199
200 Sun Apr  1 03:28:14 2001  Tim Janik  <timj@gtk.org>
201
202         * gtk/gtkwidget.c: fixed a bunch of notifications, added
203         reference counts around emissions where the widget is used afterwards.
204         added freeze/thaws around multiple properties being notified.
205         (_gtk_widget_get_aux_info): cleanups.
206         
207         * gtk/gtksettings.c (gtk_settings_install_property): provide
208         default parsing functions for gdkcolor, enums and flags.
209
210         * gtk/gtkwindow.[hc]: partially reverted patch from havoc,
211         applied by owen.
212         backed out gtk_window_get_location(), gtk_window_set_location(),
213         gtk_window_get_size() and gtk_window_set_size(), these
214         have to be sorted out wrg x/y/width/height/default_with/default_height
215         properties.
216         kept a flag in GtkWindowGeometryInfo to handle user
217         resetting default sizes.
218         cleaned up ZVT comments.
219         bunch of assorted bug fixes, notification fixes.
220         (_gtk_window_reposition): make this a really internal function.
221         
222         * gtk/testgtk.c: fixups.
223         
224 2001-03-31  Hans Breuer  <hans@breuer.org>
225
226         * config.h.win32.in : disable USE_MMX for msvc build cause
227         the assembler doesn't fit and is out of my scope. Disable
228         USE_GMODULE for msvc build as wel. The right way to share
229         binaries on win32 would be to use libtiff.dll etc. To reduce
230         installation hassles IMO it's better to include all fileformats
231         builtin to gdk-pixbuf
232
233         * gdk-pixbuf/makefile.msc : new file
234
235         * gdk/gdk.def : updated
236
237         * gdk/win32/gdkevents-win32.c : don't erase the background if
238         .no_bg is set. It improves the scrolling (e.g. of testgtk main
239         buttons
240         * gdk/win32/gdkgeometry-win32.c : added comment about the above
241
242         * gdk/win32/gdkwindow-win32.c : added three new functions like
243         the X version. Only one is implemented, because the other two
244         "gdk_window_begin_(resize|move)_drag" got no docs and appear to
245         be default behaviour on win32 anyway ...
246
247         * gtk/gtk.def : updated
248
249         * gtk/makefile.msc.in : update for new files, use glib-genmarshal
250         from where it was built and add an additional rule to automagically
251         build gtkmarshal.[hc]
252
253         * gtk/gtkfilesel.c (open_new_dir) : don't increase n_entries
254         before array access for the current entry isn't finished
255
256         * gtk/gtktreeitem.c (gtk_tree_item_subtree_button_click) :
257         use g_return_val_if_fail
258
259         * gtk/testgtk.c (window_controls) : don't use the *wrong* size
260         for the static array, but let the compiler calculate it. It
261         makes me wonder if gcc isn't capable to catch bugs like this ...
262
263 2001-03-31  James Henstridge  <james@daa.com.au>
264
265         * gtk/gtkwidget.c (gtk_widget_size_adjust): fix use of magic
266         constant "-1" in the aux info structure.
267
268 2001-03-30  Alexander Larsson  <alexl@redhat.com>
269
270         * gtk/gtkbutton.c (gtk_button_get_property):
271         * gtk/gtklabel.c:
272         Remove leaks.
273         
274         * gtk/gtkcontainer.c:
275         * gtk/gtkhscale.c:
276         * gtk/gtkhscrollbar.c:
277         * gtk/gtklayout.c:
278         * gtk/gtkmisc.c:
279         * gtk/gtkprogress.c:
280         * gtk/gtkprogressbar.c:
281         * gtk/gtkrange.c:
282         * gtk/gtktable.c:
283         * gtk/gtkviewport.c:
284         * gtk/gtkvscale.c:
285         * gtk/gtkvscrollbar.c:
286         * gtk/gtkwidget.c:
287         Property patches, based on patches from John Margaglione and Lee Mallabone.
288
289 Thu Mar 29 21:20:38 2001  Mike Kestner  <mkestner@ameritech.net>
290
291         * gtk/gtkspinbutton.c : added value_changed signal which proxies for the
292         adjustment. Cleaned redundant preconditions (spin != NULL). Added
293         inline API function docs.
294         (gtk_spin_button_new_with_range): New convenience constructor.
295         (gtk_spin_button_set_increments): New adjustment helper.
296         (gtk_spin_button_set_range): New adjustment helper.
297
298         * gtk/testgtk.c : added test of the new convenince constructor and
299         value_changed signals.
300
301 Thu Mar 29 20:20:38 2001  Jonathan Blandford  <jrb@redhat.com>
302
303         * gtk/gtktreemodel.c (gtk_tree_row_ref_reordered_callback): Now we
304         listen to the reorder signal.
305
306 Wed Mar 28 20:30:26 2001  Owen Taylor  <otaylor@redhat.com>
307
308         * gtk/gtkwidget.[ch] (_gtk_widget_get_aux_info): Add private function
309         to get the aux info structure fo the widget.
310
311         * gtk/gtklabel.c gtk/gtkscrolledwindow.c gtk/gtkwindow.c: Use
312         above function.
313
314         [ Patch from  Havoc Pennington  <hp@redhat.com> ]
315
316         * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): function
317         to get the size of the window manager frame, basically the same
318         code that gdk_window_get_root_origin() had
319         (gdk_window_get_root_origin): use gdk_window_get_frame_extents()
320
321         * gtk/gtkwindow.c (gtk_window_set_default_size): use
322         gdk_window_resize() if the window is realized and resizeable
323
324         * gdk/x11/gdkwindow-x11.c (gdk_window_set_geometry_hints): fix
325         typo so that setting gravity works
326
327         * gtk/gtkwindow.c (gtk_window_move_resize): don't ever use
328         allocation if auto_shrink is on, even if the default size
329         has not changed.
330
331         * gtk/gtkwidget.c (gtk_widget_render_icon): remove bogus
332         g_return_if_fail
333
334 Thu Mar 29 16:29:12 2001  Jonathan Blandford  <jrb@redhat.com>
335
336         * gtk/gtkliststore.c (gtk_list_store_iter_changed): Massive
337         reordering/sorting work.  Now pretty much works.
338
339         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): Lots of work to make
340         reorder mostly work.  Still need to get the parity correct.
341
342         * gtk/gtktreeviewcolumn.c: Listen for "model" property changed
343         signal, so I can listen for the sort_column_changed signal so I
344         can change my "sort_indicator" property.  Cool.
345
346 Wed Mar 28 00:03:10 2001  Owen Taylor  <otaylor@redhat.com>
347
348         [ Patch from Havoc Pennington, hp@redhat.com ]
349
350         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c:
351         Add functions gdk_window_begin_resize_drag/begin_move_drag
352         to start resizing or moving a toplevel window. This
353         is done either using the _NET_WM_MOVERESIZE protocol,
354         or, if that isn't present, by emulation.
355
356         * gtk/gtkwindow.[ch]: Add functions gtk_begin_move/resize_drag
357         to export the above to GTK+-land.
358
359         * gtk/gtkstyle.[ch]: Add ->draw_resize_grip() paint func.
360         
361         * gtk/gtkwindow.c gdk/gdkwindow.[ch] (gdk_window_constrain_size):
362         Move this function into gdkwindow, since we need it
363         when implementing fallback resizing.
364
365         * gdk/x11/gdkwindow-x11.c: gdk_window_set_geometry_hints.
366         Fix typo when setting gravity.
367
368         * gtk/gtkstatusbar.[ch] (gtk_statusbar_set_has_resize_grip):
369         Add an optional (but on by default) resize grip for resizing 
370         the parent window.
371
372 01-03-29  Alexander Larsson  <alexl@redhat.com>
373
374         * gtk/gtktooltips.c (gtk_tooltips_event_handler):
375         Don't return TRUE from the event handler, that blocks all
376         event signals on the tooltip widget. Now you can press buttons
377         in toolbars again.
378
379 Wed Mar 28 19:20:43 2001  Owen Taylor  <otaylor@redhat.com>
380
381         * gtk/testtext.c (create_buffer): Add missing NULL on
382         valist.
383
384         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Fix
385         c-n-p problem with INCONSISTENT property.
386
387         [ Patch from Havoc Pennington  <hp@redhat.com> ]
388
389         * gtk/gtkentry.h (struct _GtkEntryClass): add same populate_popup
390         hook.
391
392         * gtk/gtktextview.h (struct _GtkTextViewClass): add populate_popup
393         signal as a hook for extending the default popup menu
394
395         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
396         use radio menu items for the input method menuitems
397
398         * gtk/gtkimcontextsimple.c (check_hex): do better validation of 
399         inserted unicode from Ctrl-Shift-hex input method
400
401         * gtk/gtktextbtree.c (_gtk_text_btree_insert): remove utf8
402         validatation here, already done at GtkTextBuffer level.
403
404         * gtk/gtkwidget.c (gtk_widget_class_init): add binding set, add
405         popup_menu run action signal and Shift+F10 and Menu keybindings.
406
407         * gtk/gtkentry.c: implement a default handler for popup_menu
408
409         * gtk/gtktextview.c: implement a default handler for popup_menu
410
411         * gtk/gtkmenu.c (gtk_menu_popup): select first item if popup is
412         from a key event
413         
414         * gtk/gtklabel.c: remove "trailer" cruft
415
416 Wed Mar 28 17:27:12 2001  Jonathan Blandford  <jrb@redhat.com>
417
418         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): new function to
419         handle reordering of trees.  Seems to mostly work w/ the exception
420         of the parity flag.
421
422         * gtk/gtktreeview.c (gtk_tree_view_reordered): handle "reordered"
423         signal.
424
425 Wed Mar 28 21:12:37 2001  Tim Janik  <timj@gtk.org>
426
427         * gtk/gtkwidget.h: c++ fixes.
428
429 Sun Mar 25 15:51:28 2001  Owen Taylor  <otaylor@redhat.com>
430
431         * gtk/gtksettings.c (gtk_settings_init): Fix use of uninitialized
432         memory.
433
434 Tue Mar 27 22:36:07 2001  Owen Taylor  <otaylor@redhat.com>
435
436         * gtk/gtkwidget.h gtk/gtkrange.h: Apply patch from 
437         Nils Barth fixing event return values. (#51041)
438
439         * gtk/gtkwidget.c: Fix some return values for default
440         functions.
441
442         * gtk/gtk[vh]scrollbar.c gtk/gtk[vh]range.c: Fix
443         return values for trough_keys functions.
444
445         * gtk/gtkwidget.h (struct _GtkWidgetClass): Fix return
446         value for add_accelerator (shoudl have been a void
447         return.)
448
449         * gtk/gtkcellrenderer.[ch]: gtkcellrenderertoggle.h:
450         Fix return type of EVENT.
451
452         * gtk/gtkmarshal.list gtk/gtktexttag.c: Make EVENT
453         signal return a boolean.
454
455 Tue Mar 27 22:07:44 2001  Jonathan Blandford  <jrb@redhat.com>
456
457         * gtk/gtkliststore.c (gtk_list_store_sort): Fix arguments to
458         reordered signal.
459
460         * tests/testtreesort.c (main): fix spelling.
461
462 Tue Mar 27 20:55:29 2001  Jonathan Blandford  <jrb@redhat.com>
463
464         * gtk/gtkliststore.c: More work on implementing sortable
465         interface.
466
467 Mon Mar 26 15:48:45 2001  Owen Taylor  <otaylor@redhat.com>
468
469         * gtk/gtkwindow.c (gtk_window_list_toplevels): Don't
470         reference the widgets in the resulting list. (#11821)
471         This makes this consistent with gtk_container_children.
472
473         * gtk/gtkwindow.c gtk/gtkwidget.c: Fix up the two
474         uses of gtk_window_list_toplevels.
475
476 Mon Mar 26 15:26:17 2001  Owen Taylor  <otaylor@redhat.com>
477
478         * gtk/gtkimcontext.c (gtk_im_context_set_use_preedit): Add
479         a virtual function to set whether the IM context should use 
480         the preedit string. (#51922)
481         
482 Mon Mar 26 14:42:59 2001  Owen Taylor  <otaylor@redhat.com>
483
484         * gdk/gdkpango.h: Remove stale FIXME comment.
485
486 2001-03-26  Alexander Larsson  <alla@lysator.liu.se>
487
488         * gtk/gtkfilesel.c (gtk_file_selection_get_filename):
489         Fixed bug that returned NULL if a filename was selected.
490
491 2001-03-24  Havoc Pennington  <hp@pobox.com>
492
493         * gtk/gtkthemes.c (gtk_theme_engine_load): improve error message
494         to contain the word "theme"
495
496 2001-03-24  Havoc Pennington  <hp@pobox.com>
497
498         * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much
499         slower but finer-grained
500         (gtk_hsv_focus): get initial focus on the ring or triangle 
501         according to tab direction
502
503         * gtk/testgtk.c (main): get rid of weird sleep(1) on exit
504
505 2001-03-23  Havoc Pennington  <hp@pobox.com>
506
507         * gtk/gtkhsv.c: make this somewhat key-navigable
508
509         * gtk/gtkfontsel.c: mnemonics
510
511         * gtk/gtkgamma.c: mnemonics
512
513         * gtk/gtkcolorsel.c: add mnemonics to labels
514
515 2001-03-22  Havoc Pennington  <hp@pobox.com>
516
517         Applied big patch from Seth Lytle to fix event handler return
518         values, slightly modified.
519
520         * gtk/gtkcalendar.c (gtk_calendar_button_press): return TRUE if
521         handled.
522         (gtk_calendar_key_press): return TRUE for GDK_space triggers
523         select_day
524
525         * gtk/gtkclist.c (gtk_clist_button_press): return TRUE if handled
526         (gtk_clist_button_release): return TRUE if handled
527
528         * gtk/gtkcolorsel.c (mouse_release):
529         (palette_activate): 
530         (palette_press): 
531         (palette_new): 
532         (mouse_press): 
533         (get_screen_color): 
534         fixed return type (void to gboolean), return TRUE,
535         added GTK_SIGNAL_FUNC cast
536
537         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fixed return type
538         (void to gboolean), and return TRUE
539         (gtk_combo_button_release): changed return value to TRUE after
540         gtk_grab_add on combo->popwin
541
542         * gtk/gtkctree.c (gtk_ctree_button_press): return TRUE if triggers a
543         collapse or expand
544
545         * gtk/gtkcurve.c (gtk_curve_graph_events): return TRUE for
546         button/motion
547
548         * gtk/gtkdnd.c (gtk_drag_source_event_cb): return TRUE for button
549         press/release and motion that trigger act
550
551         * gtk/gtkentry.c (gtk_entry_button_release): return TRUE
552
553         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): return TRUE
554         for GDK_Return
555         
556         * gtk/gtklist.c (gtk_list_button_press): return TRUE mostly
557         (gtk_list_button_release): return TRUE if selection
558
559         * gtk/gtklistitem.c (gtk_list_item_button_press): return TRUE on
560         press
561
562         * gtk/gtkmenushell.c (gtk_menu_shell_button_press):
563         (gtk_menu_shell_button_release): chain parent_menu_shell retval
564
565         * gtk/gtknotebook.c (gtk_notebook_button_press): return FALSE if
566         nothing triggered
567         (gtk_notebook_button_release): return TRUE if we do anything
568
569         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): 
570         (gtk_spin_button_button_release): return TRUE or chained retval
571
572         * gtk/gtktext.c (gtk_text_button_press): 
573         (gtk_text_button_release): return TRUE
574         (gtk_text_key_press): remove redundant retval code
575         
576         * gtk/gtktreeitem.c (gtk_tree_item_button_press): return TRUE if button
577         and sensitive
578         (gtk_tree_item_subtree_button_click): changed type to gint, and return
579         TRUE if sensitive
580
581         * gtk/gtktooltips.c (gtk_tooltips_event_handler): deactivate implies 
582         return TRUE
583
584 2001-03-23  Havoc Pennington  <hp@redhat.com>
585
586         * gtk/testgtk.c: fix warnings
587
588         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): fix return value
589
590         * gtk/gtktextview.c: fix warnings
591
592         * gtk/gtktext.c (find_cursor_at_line): fix warning
593
594         * gtk/gtkselection.c (gtk_selection_notify): fix warning 
595
596         * gtk/gtkitemfactory.c (gtk_item_factory_menu_pos): fix signature
597         of this function
598
599         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
600         fix warning
601
602         * gtk/gtkhandlebox.c (gtk_handle_box_style_set): fix warning
603
604         * gtk/gtkfontsel.c: fix warning
605
606         * gtk/gtkcolorsel.c: fix warnings
607
608 2001-03-23  Havoc Pennington  <hp@redhat.com>
609
610         * gtk/gtkhandlebox.c: Apply property patch from Lee Mallabone
611
612         * gtk/gtkbox.c: Apply property patch from Lee Mallabone
613
614         * gtk/gtkcheckmenuitem.c: Apply property patch from Lee Mallabone,
615         and deprecated gtk_check_menu_item_set_show_toggle().
616         
617         * gtk/gtkbutton.c: Apply property patch from Lee Mallabone
618
619         * gtk/gtkfilesel.c: Apply property patch from Lee Mallabone
620
621         * gtk/gtkframe.c: Apply property patch from Lee Mallabone
622
623 2001-03-23  Havoc Pennington  <hp@redhat.com>
624
625         * gtk/gtktoolbar.c, gtk/gtkimcontext.c, gtk/gtklabel.c: fix up
626         some docs
627
628 Fri Mar 23 16:13:43 2001  Jonathan Blandford  <jrb@redhat.com>
629
630         * gtk/gtktreeviewcolumn.h (GtkCellDataFunc): Forgot to namespace
631         this.
632
633         * gtk/gtktreestore.c (gtk_tree_store_set_value): change from
634         set_cell to set_value
635
636         * gtk/gtkliststore.c (gtk_list_store_set_value): change from
637         set_cell to set_value
638
639 Thu Mar 22 19:27:34 2001  Jonathan Blandford  <jrb@redhat.com>
640
641         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
642         fix braino.
643         * gtk/gtktreesortable.[ch]: New interface to add cleanup sortable
644         support.
645
646         * gtk/gtktreeview.c: Addition of initial sortable support.
647
648         * gtk/gtktreestore.c: Addition of initial sortable support.
649
650         * gtk/gtkliststore.c: Addition of initial sortable support.
651
652         * gtk/gtkmarshal.list: yet another marshaller.
653
654         * gtk/gtktreedatallist.[ch]: shared code between the store models
655         for handling sorting headers.
656
657 2001-03-22  Havoc Pennington  <hp@redhat.com>
658
659         * gtk/gtkcontainer.c (gtk_container_set_focus_chain): 
660         (gtk_container_unset_focus_chain): Add ability to override the 
661         focus chain for a container explicitly
662
663 Thu Mar 22 13:01:44 2001  Tim Janik  <timj@gtk.org>
664
665         * gtk/gtklabel.[hc]: some cleanups, fixed mnemonic_widget handling,
666         added PROP_MNEMONIC_WIDGET.
667
668         * gtk/gtkwindow.c (gtk_window_activate_mnemonic): 
669         (gtk_window_remove_mnemonic): 
670         (gtk_window_add_mnemonic): fixed assertions.
671         (gtk_window_activate_mnemonic): constrain modifier checks to those
672         permitted by gtk_accelerator_get_default_mod_mask().
673         got rid of gtk_window_get_default_accel_group().
674
675         * gtk/gtkwidget.c (gtk_widget_real_activate_mnemonic): handle non
676         activatable widgets either by focussing or a warning.
677         added a signal accumulator to ::activate_mnemonic which stops the
678         emission once a handler returned TRUE.
679
680 2001-03-22  Havoc Pennington  <hp@pobox.com>
681
682         * gtk/gtktoolbar.c (gtk_toolbar_insert_stock): handle mnemonics in
683         the stock item label
684
685         * gtk/gtklabel.c: s/@gtk_func/gtk_func()/ in docs
686
687         * gtk/gtkstock.c (builtin_items): add mnemonics where missing
688
689         * demos/gtk-demo/*.c: Add mnemonics all over the place
690
691         * gtk/gtklabel.h: mark parse_uline deprecated
692
693 2001-03-21  Alexander Larsson  <alexl@redhat.com>
694
695         * gtk/gtkitemfactory.[ch]:
696         Add support for stock and normal imagemenuitems.
697         
698         * gtk/testgtk.c:
699         Add some tests for mnemonics, stock toolbars, stock
700         and image menuitems in itemfactory and gdk_window_scroll.
701
702 2001-03-21  Alexander Larsson  <alexl@redhat.com>
703
704         * gtk/gtkbutton.[ch]:
705         * gtk/gtkdialog.c:
706         Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and
707         removed accel_group argument. Renamed gtk_button_new_accel() to
708         gtk_button_new_with_mnemonic() and removed accel_group argument.
709
710         * gtk/gtkcheckbutton.[ch]:
711         New function gtk_check_button_new_with_mnemonic().
712
713         * gtk/gtkentry.c:
714         Override activate_mnemonic and just grab focus.
715
716         * gtk/gtkitemfactory.c:
717         Don't add menu uline accel group, instead use mnemonics support.
718
719         * gtk/gtklabel.[ch]:
720         New support for mnemonics.
721
722         * gtk/gtkmarshal.list:
723         Needed BOOLEAN:BOOLEAN for activate_mnemonic.
724
725         * gtk/gtkmenu.[c]:
726         * gtkmenushell.c:
727         Use mnemonics instead of accel groups for uline
728         support in menu items.
729         Removed gtk_menu_get_uline_accel_group() and
730         gtk_menu_ensure_uline_accel_group().
731
732         * gtk/gtkmenuitem.c:
733         Override activate_mnemonic to handle switching between
734         menu items if there are collisions.
735         
736         * gtk/gtknotebook.c:
737         Connect to activate_mnemonic on the tab_label, so that
738         activating it switches to that notebook page.
739
740         * gtk/gtkwidget.[ch]:
741         Add activate_mnemonic signal. New function
742         gtk_widget_activate_mnemonic() to emit it.
743         Default implementation does activate/grab_focus.
744
745         * gtk/gtkwindow.[ch]:
746         Add support for mnemonics in windows.
747         New functions:
748         gtk_window_add_mnemonic, gtk_window_remove_mnemonic,
749         gtk_window_activate_mnemonic, gtk_window_set_mnemonic_modifier
750
751         * gtk/testgtk.c:
752         Update to function name changes.
753         
754 2001-03-21  Alexander Larsson  <alexl@redhat.com>
755
756         * gtk/gtkimagemenuitem.[c]:
757         Add gtk_image_menu_item_new_from_stock()
758
759 Tue Mar 20 15:00:43 2001  Jonathan Blandford  <jrb@redhat.com>
760
761         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
762         Fix buglet in meeting.
763
764 2001-03-19  Havoc Pennington  <hp@redhat.com>
765
766         * gtk/gtkiconfactory.c: Make GtkIconSource an opaque datatype, and
767         add a bunch of accessor functions. This is because we have
768         reasonable expectations of extending what fields it contains in
769         the future.
770
771         * gtk/gtkstyle.c (gtk_default_render_icon): adapt to icon source
772         changes
773
774         * gtk/gtkrc.c (gtk_rc_parse_icon_source): fix to use new
775         GtkIconSource   
776
777 Mon Mar 19 15:53:36 2001  Owen Taylor  <otaylor@redhat.com>
778
779         * gtk/gtkitemfactory.c gtk/testgtk.c: Handle quoting of / with \; properly
780         handle __ in paths, quote " and \n in gtk_item_factory_dump_items().
781
782         * gtk/gtkadjustment.[ch] gtk/gtkclist.c gtk/gtkhruler.c gtk/gtklayout.c 
783           gtk/gtklist.c gtk/gtkprogress.[ch] gtk/gtkprogressbar.[ch] gtk/gtkrange.[ch]
784           gtk/gtkruler.[ch] gtk/gtkscale.c gtk/gtkscrolledwindow.c gtk/gtkspinbutton.[ch]
785           gtk/gtktext.c gtk/gtktextview.c gtk/gtkvruler.c gtk/testgtk.c:
786         Change float to double everywhere with the exception of 0<->1.0 alignment
787         and GtkCurve.
788
789 2001-03-19  Tor Lillqvist  <tml@iki.fi>
790
791         * gdk/win32/gdkdrawable-win32.c
792         * gdk/win32/gdkimage-win32.c: Use correct casts in debugging
793         output.
794
795         * demos/testpixbuf-drawable.c: If GDK_WINDOWING_WIN32, include
796         gdkwin32.h.
797
798 2001-03-18  Tor Lillqvist  <tml@iki.fi>
799
800         * gdk/win32/gdkevents-win32.c (print_window_state): New function.
801         print_event_state, print_event): Use preprocessor macro to make
802         code more compact. Print also GDK_WINDOW_STATE events.
803         (synthesize_crossing_events): Remove the old #ifdeffed-out code.
804         
805         * gtk/gtk.def
806         * gtk/makefile.mingw.in: Update.
807
808         * gtk/gtkmain.h: Check for G_PLATFORM_WIN32, not only G_OS_WIN32,
809         to catch also Cygwin.
810
811 Sun Mar 18 01:15:30 2001  Tim Janik  <timj@gtk.org>
812
813         * gtk/gtkspinbutton.[hc]: added rc-style argument
814         GtkSpinButton::shadow_type.
815         removed spin_button->shadow_type, gtk_spin_button_set_shadow_type()
816         and ARG_SHADOW_TYPE as it doesn' make much sense to try to override
817         rc-style settings.
818
819         * gtk/gtkfixed.c: removed gtk_fixed_paint() (was unused).
820
821         * gtk/gtkwidget.c: quark cleanups.
822
823         * gtk/gtkrc.[hc]: added gtk_rc_scanner_new() to create an rc-file
824         scanner with appropriate configuration, renamed GtkRcStyleClass.clone
825         to create_rc_style() (we don't do cloning in standard OO sense).
826         added per rc style properties.
827         
828         * gtk/gtkstyle.[hc]: added code to retrive pspec conformant rc-style
829         property values and for caching those. some cleanups.
830         
831         * gtk/Makefile.am: -DG_DISABLE_CONST_RETURNS.
832         
833         * gtk/gtksettings.[hc]: new file for global rc-file properties
834         (at least currently, should get extended to support X properties
835         and other communication mechanisms).
836         
837         * gtk/gtkwidget.[hc]: added style property support:
838         (gtk_widget_class_install_style_property_parser): install style
839         property pspec with parser function for rc-file values other
840         than LONG, DOUBLE or STRING.
841         (gtk_widget_class_install_style_property): same as above without
842         parser (parsers are going to be needed quite infrequently).
843         (gtk_widget_style_get_property): retrive style property value.
844         (gtk_widget_style_get_valist): same as above with varargs support,
845         has NOCOPY semantics.
846         (gtk_widget_style_get): wrapper around gtk_widget_style_get_valist().
847
848 Fri Mar 16 18:24:53 2001  Jonathan Blandford  <jrb@redhat.com>
849
850         * demos/gtk-demo/main.c (row_activated_cb): modified to use
851         "row_activated" signal.
852
853         * gtk/gtktreeview.c (gtk_tree_view_row_activated): oh, the
854         stupidity.  Lets actually pass in the row with this signal...
855
856 Fri Mar 16 18:01:17 2001  Jonathan Blandford  <jrb@redhat.com>
857
858         * gtk/gtktreeviewcolumn.[ch]: s/GTK_TREE_COLUMN/GTK_TREE_VIEW_COLUMN
859
860         * gtk/gtktreeview.c (gtk_tree_view_row_activated): New signal.
861
862         * gtk/gtktreeview.c (gtk_tree_view_destroy): moved pretty much
863         everything into the ::destroy function, and freed a lot more.
864
865 2001-03-16  Havoc Pennington  <hp@redhat.com>
866
867         * gtk/gtkwidget.h (struct _GtkWidgetAuxInfo): change to use gint
868         instead of gint16, to avoid overflow issues, since sizes > 16-bit
869         are now allowed.
870
871 2001-03-16  Havoc Pennington  <hp@redhat.com>
872
873         * Applied patch from Nils Barth (bug # 51041) to 
874         replace "gint" with "gboolean" and 0/1 with TRUE/FALSE
875         in various places.
876
877 2001-03-15  Havoc Pennington  <hp@redhat.com>
878         
879         * gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): add varargs 
880         for properties to set on the tag.
881
882         * gtk/testtext.c: fixups to reflect create_tag change
883         
884         * gtk/gtktexttag.c (gtk_text_tag_set_property):
885         background/foreground stipple are objects, not boxed.
886
887         * demos/gtk-demo/textview.c: intellihancing
888
889 Fri Mar 16 11:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
890
891         * gtk/gtktreeview.c (gtk_tree_view_set_model): Fixed some
892         braindeadness spotted by Jamie Strachan <frostfreek@yahoo.com>.
893
894 2001-03-16  Alexander Larsson  <alexl@redhat.com>
895
896         * gdk/x11/gdkgeometry-x11.c (_gdk_window_process_expose):
897         Fix sign error with queued region translations.
898
899 2001-03-15  HideToshi Tajima  <tajima@happy>
900
901         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_set_cursor_location): 
902         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_location):
903         * gtk/gtkentry.c (update_im_cursor_location): 
904         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_location):
905         * gtk/gtkimcontext.h (struct _GtkIMContextClass): rename
906         set_cursor_pos to set_cursor_location in GtkInputContext class
907
908 Thu Mar 15 18:22:44 2001  Jonathan Blandford  <jrb@redhat.com>
909
910         * gtk/gtkcellrenderer.h: Changed prototype to allow for getting
911         the location of the cell relative to its area.
912         * gtk/gtkcell*: modified for above change
913         * gtk/gtktreeview.c: modified for above change.
914
915 Wed Mar 14 13:58:32 2001  Jonathan Blandford  <jrb@redhat.com>
916
917         * gtk/gtktreeview.c (gtk_tree_view_set_model): Ref the model.
918          (gtk_tree_view_finalize): actually unref the model.  Thanks to
919         Jamie Strachan <frostfreek@yahoo.com> for noticing this error.
920
921 2001-03-14  Havoc Pennington  <hp@redhat.com>
922
923         * gtk/gtkdata.h, gtk/gtkdata.c: Delete.
924         
925         * gtk/gtk.h: remove gtkdata.h
926
927         * gtk/Makefile.am: remove gtkdata
928         
929         * gtk/gtktext.c (gtk_text_set_adjustments): connect to "destroy"
930         not "disconnect" on the adjustments.
931         
932         * gtk/gtktooltips.h, gtk/gtktooltips.c: derive from GtkObject not
933         GtkData
934
935         * gtk/gtkadjustment.h, gtk/gtkadjustment.c: derive from GtkObject
936         not GtkData
937
938         * configure.in: handle case where X render exists, but Pango lacks
939         Xft support.
940
941 2001-03-15 Alexander Larsson  <alexl@redhat.com>
942
943         * gtk/gtktoolbar.[ch]:
944         New functions gtk_toolbar_set_icon_size and gtk_toolbar_insert_stock
945         to add stock items to toolbars.
946
947         * gtk/Makefile.am:
948         Remove ../gdk/gdkim.h from gdk_headers.
949
950 2001-03-15  Sven Neumann  <sven@gimp.org>
951
952         * gdk/gdkim.h: removed
953         
954         * gdk/gdkprivate.h
955         * gdk/x11/gdkim-x11.c: do not include gdkim.h 
956
957 2001-03-14  HideToshi Tajima  <tajima@happy.sunsoft.eng.sun.com>
958
959         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos):
960         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos):
961         * gtk/gtkimcontext.h (struct _GtkIMContextClass): add
962         set_cursor_pos() virtual method
963
964         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init):
965         (gtk_im_context_xim_set_cursor_pos): add implementation for
966         set_cursor_pos() method
967
968         * gtk/gtkentry.c (recompute_idle_func): set current cursor
969         position to input methods
970
971 Mon Mar 12 21:02:08 2001  Jonathan Blandford  <jrb@redhat.com>
972
973         * gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus
974         code a lot.
975
976         * gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use
977         g_mem_chunk.
978         (_gtk_tree_data_list_alloc): use g_mem_chunk.
979         (_gtk_tree_data_list_node_to_value): Fix to switch on
980         G_TYPE_FUNDAMENTAL.
981         (_gtk_tree_data_list_value_to_node): Fix to switch on
982         G_TYPE_FUNDAMENTAL.
983         (_gtk_tree_data_list_node_copy): Fix to switch on
984         G_TYPE_FUNDAMENTAL.
985
986 2001-03-12  Havoc Pennington  <hp@redhat.com>
987
988         * gtk/gtkwindow.c (gtk_window_class_init): Patch from John Margaglione 
989         to convert to new property API. Also, change default_width and
990         default_height get_property to return 0 as the flag value for
991         "unset"; -1 is not a valid value for these fields.
992
993 2001-03-12  Havoc Pennington  <hp@redhat.com>
994
995         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an
996         enum with registration for icon sizes, instead of strings.
997
998         * gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, 
999         gtkwidget.c: Fix to reflect GtkIconSize
1000         
1001 2001-03-12  Alexander Larsson  <alexl@redhat.com>
1002
1003         Make GtkFB compile and link.
1004         
1005         * gdk/linux-fb/gdkdrawable-fb2.c:
1006         window->mapped to GDK_WINDOW_IS_MAPPED(). 
1007         
1008         * gdk/linux-fb/gdkwindow-fb.c:
1009         window->mapped to GDK_WINDOW_IS_MAPPED(). 
1010         Added gdk_window_shape_combine_region.
1011         Added assorted placeholders for unimplemented new GdkWindow API calls.
1012
1013 2001-03-12  Alexander Larsson  <alexl@redhat.com>
1014
1015         * gtk/gtkfilesel.c:
1016         Add more test when converting filenames from/to utf-8.
1017         Don't allow entering text in the filename entry which isn't allowed in
1018         a filename. Just beep instead.
1019
1020 2001-03-12  Alexander Larsson  <alexl@redhat.com>
1021
1022         * gtk/gtkclist.c:
1023         Scroll using gdk_window_scroll(). Don't wait for exposes.
1024         Move the column headers in an order that makes them flash less.
1025
1026 2001-03-10  Hans Breuer  <hans@breuer.org>
1027
1028         * gdk/gdk.def : updated
1029
1030         * gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
1031         to offseting the clip_mask at the right place
1032
1033         * gdk/win32/gdkwindow-win32.c : don't create background brushes
1034         for all the gdkClasses, especially not for the input_only case.
1035         Otherwise flickering wont be avoidable, because we don't get
1036         WM_ERASEBKGND message for these windows.
1037
1038         * gdk/win32/gdkevents-win32.c : initialize event->expose.region
1039         and fixed massive redraw problems apparently triggered by Alexanders 
1040         recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
1041         but it seems to work quite well :-)
1042
1043         * gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose
1044         prototype
1045
1046 Sat Mar 10 12:15:31 2001  Jonathan Blandford  <jrb@redhat.com>
1047
1048         * gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
1049         (gtk_list_store_set_cell): Fix a stupid typo.
1050
1051 Fri Mar  9 20:36:21 2001  Jonathan Blandford  <jrb@redhat.com>
1052
1053         * gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
1054         select_all not work if you're in SINGLE mode (it doesn't make that
1055         much sense, anyway.)
1056
1057         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
1058         handle types more sanely.
1059         (_gtk_tree_data_list_value_to_node): handle types more sanely.
1060         (_gtk_tree_data_list_node_copy): handle types more sanely.
1061
1062         * gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
1063         GValue better. Converts the type as well.
1064
1065         * gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
1066         GValue better. Converts the type as well.
1067
1068 Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
1069
1070         * gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
1071         gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c 
1072         gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
1073         gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
1074
1075         * gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
1076         gdk_im/gdk_ic.
1077
1078 2001-03-09  Hans Breuer  <hans@breuer.org>
1079
1080         * gdk/gdk.def : updated
1081
1082         * gdk/win32/gdkevents-win32.c : don't ask input_only windows
1083         for their palette
1084
1085         * gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
1086         removing
1087
1088         * gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
1089         removing and implemented Havoc's GdkWindow state functions; 
1090         stick/unstick only as no-op, cause I don't know how to emulate 
1091         on win32 ...
1092
1093         * gtk/gtk.def : updated
1094
1095         * gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
1096
1097         * gtk/gtktypeutils.c : #include <string.h>
1098
1099         * gtk/gtkwindow.h : declare gtk_window_set_decorated ()
1100
1101 Fri Mar  9 09:31:55 2001  Tim Janik  <timj@gtk.org>
1102
1103         * gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with
1104         GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object,
1105         not a boxed.
1106
1107 2001-03-09  Alexander Larsson  <alexl@redhat.com>
1108
1109         * docs/Changes-2.0.txt:
1110         Document expose event->region change and that gtk_widget_event
1111         doesn't allow passing expose events.
1112
1113         * gdk/gdkevents.h:
1114         Add region to expose event.
1115         
1116         * gdk/gdkevents.c:
1117         Handle event->region in gdk_event_copy() and gdk_event_free().
1118
1119         * gdk/gdkwindow.c (gdk_window_process_updates_internal):
1120         Generate expose_event->region when creating expose events.
1121
1122         * gdk/x11/gdkevents-x11.c:
1123         Generate expose events with regions when translating X events.
1124
1125         * gtk/gtkcontainer.[ch]:
1126         Default expose handler that propagates expose events to NO_WINDOW
1127         children. New function gtk_container_propagate_expose()
1128
1129         * gtk/gtkwidget.[ch]:
1130         Moved gtk_widget_event implementation to gtk_widget_event_internal.
1131         gtk_widget_event calls gtk_widget_event_internal but doesn't allow
1132         expose events. New function gtk_widget_send_expose() to send expose
1133         events. New function gtk_widget_region_intersect() to calculate
1134         window/region intersections.
1135         
1136         * gtk/gtkmain.c (gtk_main_do_event):
1137         Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
1138         Use gtk_widget_send_expose() to send expose events.
1139         
1140         * gtk/gtkbin.c:
1141         * gtk/gtkbox.c:
1142         * gtk/gtkfixed.c:
1143         * gtk/gtkimagemenuitem.c:
1144         * gtk/gtklist.c:
1145         * gtk/gtkpacker.c:
1146         * gtk/gtktable.c:
1147         * gtk/gtktree.c:
1148         Remove expose handler, using the default container implementation
1149         instead.
1150         
1151         * gtk/gtkbutton.c:
1152         * gtk/gtkcheckbutton.c:
1153         * gtk/gtkeventbox.c:
1154         * gtk/gtkfixed.c:
1155         * gtk/gtkhandlebox.c:
1156         * gtk/gtklayout.c:
1157         * gtk/gtklistitem.c:
1158         * gtk/gtkmenu.c:
1159         * gtk/gtkmenubar.c:
1160         * gtk/gtkmenuitem.c:
1161         * gtk/gtknotebook.c:
1162         * gtk/gtkoptionmenu.c:
1163         * gtk/gtkpaned.c:
1164         * gtk/gtkscrolledwindow.c:
1165         * gtk/gtktogglebutton.c:
1166         * gtk/gtktoolbar.c:
1167         * gtk/gtktreeitem.c:
1168         * gtk/gtkviewport.c:
1169         Chain expose handler to parent class handler. Use
1170         gtk_container_propagate_expose() to propagate exposes.
1171
1172         * gtk/gtkclist.c (check_exposures):
1173         * gtk/gtktext.c (process_exposes):
1174         Use gtk_widget_send_expose instead of gtk_widget_event.
1175
1176 Thu Mar  8 19:40:28 2001  Jonathan Blandford  <jrb@redhat.com>
1177
1178         * gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function.
1179
1180 Thu Mar  8 19:18:27 2001  Jonathan Blandford  <jrb@redhat.com>
1181
1182         * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually
1183         unref the nodes.   Fixes bug #50058.
1184
1185         * gtk/gtktreemodel.c (gtk_tree_model_ref_node): change
1186         "::ref_iter" to "::ref_node".
1187         (gtk_tree_model_unref_node): change "::unref_iter" to
1188         "::unref_node". Fixes bug #50064.
1189
1190 Thu Mar  8 17:40:09 2001  Jonathan Blandford  <jrb@redhat.com>
1191
1192         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add
1193         support for invisible cells.
1194          (gtk_tree_view_bin_expose): ditto
1195
1196 Thu Mar  8 16:36:00 2001  Jonathan Blandford  <jrb@redhat.com>
1197
1198         * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
1199         on gobjects.
1200
1201         * tests/testtreefocus.c (main): New test file.
1202
1203         * tests/testtreeview.c: update to latest glib changes.
1204
1205         * tests/testtreecolumns.c: update to latest glib changes.
1206
1207 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
1208
1209         * gtk/testgtk.c: re-enabled event watcher emission hooks.
1210
1211 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
1212
1213         * *.c: added accumulator data argument to g_signal_newc()
1214         functions.
1215
1216         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
1217         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
1218         * gtk/treestoretest.c (make_window):
1219         s/g_signal_connect/g_signal_connectc/.
1220
1221         * gtk/gtktextbuffer.c: completed signal arg fixups,
1222         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
1223
1224 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
1225
1226         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
1227         G_CONST_RETURN.
1228
1229         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
1230         ::hierarchy-changed signal when a widget changes
1231         from anchored to unanchored or vice versa.
1232         (anchored means 
1233          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
1234         Use a private flag to keep track of this efficiently.
1235
1236 2001-03-07  Havoc Pennington  <hp@redhat.com>
1237
1238         * gtk/testgtk.c (create_spins): uglify so that size request gets
1239         tested.
1240
1241         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
1242         request on values for upper/lower, completes #6152
1243
1244 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
1245
1246         * Makefile.am: Remove gtk-config-2.0 again.
1247         (Grrrr, pkg-config. And stops make loops.)
1248
1249 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
1250
1251         * gtk/gtksignal.[hc]: removed old emission hook API.
1252         
1253         * docs/Changes-2.0.txt: fixed sections.
1254         
1255         * gtk/gtktextbuffer.c: signal arg fixups.
1256
1257 2001-03-07  Havoc Pennington  <hp@redhat.com>
1258
1259         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
1260
1261         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
1262         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
1263         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
1264         validation and the redraw which is higher priority than the
1265         validation.
1266
1267 2001-03-07  Havoc Pennington  <hp@redhat.com>
1268
1269         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
1270         (gtk_entry_set_property): remove trailer
1271
1272         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
1273         (gtk_entry_get_width_chars): new functions, to set size request to 
1274         a given number of characters
1275
1276         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
1277
1278         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
1279         (gtk_dialog_get_has_separator): new function
1280         (run_delete_handler): fix to not emit "response" signal
1281         because we already did in the delete event handler installed
1282         at dialog creation time.
1283         
1284         * gtk/gtkdialog.h: add a has_separator property,
1285         add GTK_DIALOG_NO_SEPARATOR flag
1286
1287 2001-03-07  Havoc Pennington  <hp@redhat.com>
1288
1289         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
1290         off decorations for a window.
1291
1292         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
1293         changes
1294
1295         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
1296         to get location of PangoLayout inside the label, closes #51198
1297
1298         * gtk/testgtk.c (create_bbox): fix up button box usage
1299
1300         * gtk/testcalendar.c (create_calendar): fix up button box usage
1301
1302         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
1303
1304         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
1305
1306         * gtk/gtkhbbox.h: deprecations
1307
1308         * gtk/gtkvbbox.h: deprecations
1309
1310         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
1311         emulate deprecated gtk_button_box_get_spacing
1312
1313         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
1314         the "set global default" functions
1315         (struct _GtkButtonBox): remove "spacing" field, use the one from 
1316         GtkBox base class
1317
1318         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
1319
1320         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
1321         render the icon, return the missing image icon.
1322
1323         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
1324         image icon if the load fails.   
1325
1326         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
1327         when no image is found; should be the Netscape "missing image"
1328         icon eventually but for now is a random image
1329
1330         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
1331         role for the session manager
1332
1333         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
1334
1335         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
1336         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
1337
1338         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
1339
1340 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
1341
1342         * gtk/*.c: marshaller fixes.
1343         
1344         * gtk/gtkmarshal.list: extreme cleanup.
1345
1346         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
1347         param spec for now.
1348
1349         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
1350         where appliable.
1351
1352         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
1353         special cased autogenerated boxed types from gtktypebuiltins_ids.c
1354         which are not reference counted:
1355         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
1356         PangoFontDescription, GtkTreeIter and GtkTreePath.
1357
1358 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
1359
1360         * gtk/gtktreeselection.h: 
1361         * gtk/gtktreemodel.c:
1362         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
1363         file should be included directly, and gobject/gmarshal.h
1364         as well as gtk/gtkmarshal.h even can't be included directly.
1365
1366         * Makefile.am: grr, install gtk-config-2.0.
1367
1368         * gtk/testgtk.c:
1369         * gtk/simple.c:
1370         * gtk/gtkmenu.c:
1371         * gtk/gtkitemfactory.c: use g_object_connect() instead of
1372         passing "*signal*::*" args to gtk_widget_set().
1373         
1374         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
1375         
1376         * gtk/*.c: removed trailer arg from property setters and getters.
1377         macro fixups.
1378
1379 2001-03-07  Alexander Larsson  <alexl@redhat.com>
1380
1381         * gtk/gtklabel.c (set_markup): Removed warning
1382
1383 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
1384
1385         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
1386         field to allow you to hide cell renderers.
1387
1388         * gtk/gtkcellrenderer.c: Add support for invisible cells.
1389
1390         * gtk/gtktreeview.c: Add support for invisible cells.
1391
1392 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
1393
1394         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
1395         Add "clicked" signal back to columns.
1396
1397         * ChangeLog: remove conflict markers.
1398
1399 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
1400
1401         * gtk/gtkbutton.c: Add animation of activation by, on 
1402         activate, pressing the button, and adding a timeout that 
1403         releases the button after 250ms or on key release and
1404         emits ::clicked. (#51501)
1405
1406         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
1407         action area, we connect to ::clicked instead of ::activate
1408         so the dialog stays up through the animation.
1409
1410 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
1411
1412         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
1413         check the ignore_enter flag for the menu shell that
1414         the item is actually a child of, not for attached
1415         submenus. (#51536)
1416
1417 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
1418
1419         * gtk/gtkmain.c (gtk_propagate_event): Only do special
1420         special key-press grab handling for widgets within
1421         GtkWindows. Otherwise, fall through to normal case.
1422
1423         This prevents key events being sent twice to GtkInvisible
1424         widgets, which can cause all sorts of mischief.
1425
1426 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
1427
1428         * gtk/gtkmain.c (gtk_propagate_event): When a grab
1429         widget is in effect, give the grab widget a first
1430         crack at KEY_PRESS/RELEASE events. (#424)
1431
1432 2001-03-06  James Henstridge  <james@daa.com.au>
1433
1434         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
1435         offset for the window_state_event to point at window_state_event
1436         rather than no_expose_event.
1437
1438 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
1439
1440         * gtk/gtkimmodule.h: fix busted /* comment */
1441
1442 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
1443
1444         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
1445         object properties.
1446
1447 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
1448
1449         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
1450         add object properties.
1451
1452         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
1453         to add object properties.
1454
1455         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
1456         object properties.
1457
1458         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
1459         add object properties.
1460
1461         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
1462         object properties.
1463
1464 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
1465
1466         * gtk/gtktreemodel.c: renamed "child_toggled" to
1467         "has_child_toggled".
1468
1469         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
1470         handle new signal name.
1471
1472         * gtk/gtktreestore.c: Updated to handle new signal name.
1473         * gtk/gtklisttore.c: Updated to handle new signal name.
1474         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
1475
1476 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1477
1478         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
1479         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
1480
1481 2001-03-05  Michael Natterer  <mitch@gimp.org>
1482
1483         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
1484         pixbuf-engine coincidentially also failed to make one of it's
1485         parent_class pointers static, causing overwriting of GtkLabel's
1486         parent_class pointer in pixbuf_style_class_init().
1487         (Will commit the fix to the pixbuf-engine too).
1488
1489 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1490
1491         * gdk/gdkwindow.h:
1492         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
1493         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
1494         gdk_window_set_icon_list for net wmspec functionality.
1495
1496         * gdk/x11/gdkwindow-x11.c:
1497         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
1498         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
1499         gdk_window_set_icon_list.
1500         Added gdk_wmspec_change_state helper function and used it in the code.
1501         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
1502
1503         * gtk/gtkdialog.c (gtk_dialog_init):
1504         Set GDK_WINDOW_TYPE_HINT_DIALOG.
1505
1506         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
1507         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
1508
1509         * gtk/gtkwindow.c:
1510         new function gtk_window_set_type_hint.
1511         On realize, set type hint and modal hint.
1512
1513         * gtk/gtkwindow.h:
1514         Added type_hint field and gtk_window_set_type_hint.
1515
1516 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1517
1518         * gtk/gtklabel.[ch]:
1519         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
1520         New function gtk_label_get_accel_keyval () to get the underline accelerator
1521         of the label. Setting the label pattern overrides other attributes.
1522
1523 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
1524
1525         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
1526         Added missing initializers to gtk_rc_style_init().
1527
1528 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
1529
1530         * gtk/gtktextview.c: fixed bug #51097 about setting 
1531         gtk_text_view_set_border_window_size() if the widget is 
1532         already realized.
1533
1534 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
1535
1536         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
1537
1538         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
1539         comment. Won't do to have duplicated doc comments between
1540         the platform subdirs.
1541
1542 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
1543
1544         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
1545           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
1546
1547         Detectable auto-repeat - make a repeating key generate
1548         press/press/press/release instead of press/release pairs.
1549
1550         If we have Xkb and XkbSetDectableAutoRepeat supports
1551         that, we do it that way. Otherwise, when we get
1552         a release event, we check ahead with XPending to see
1553         if the next key is a KeyPress with the same keycode
1554         and timestamp. (Not 100% reliable, but pretty close.)
1555           
1556 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
1557         
1558         * gtk/gtkmain.c (gtk_propagate_event): Only do special
1559         special key-press grab handling for widgets within
1560         GtkWindows. Otherwise, fall through to normal case.
1561  
1562         This prevents key events being sent twice to GtkInvisible
1563         widgets, which can cause all sorts of mischief.
1564  
1565 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
1566  
1567         * gtk/gtkmain.c (gtk_propagate_event): When a grab
1568         widget is in effect, give the grab widget a first
1569         crack at KEY_PRESS/RELEASE events. (#424)
1570  
1571 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
1572
1573         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
1574         to extend the selection. (Roughly based on patch
1575         from Jay Cox, #50939)
1576
1577         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
1578         to properly handle previous GDK_BUTTON_PRESS. 
1579         (Patch from Jay Cox, #50938)
1580
1581         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
1582         '\0' back along with the deleted text. (#51148)
1583
1584 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
1585
1586         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
1587         the group when extracting it from the X keyboard event.
1588
1589         * modules/input/Makefile.am modules/input/imipa.c: 
1590         Simple module for entering IPA. (Do we need a 
1591         gtk-stupid-input-tricks CVS module?)
1592
1593 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
1594
1595         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
1596         const.
1597
1598         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
1599
1600         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
1601         is no focus widget for the dialog currently, grab the focus as well
1602         as the default.
1603
1604         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
1605         the action area's children to iterate through, not the
1606         dialog's children.
1607
1608 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
1609
1610         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
1611         Add plug-socket tests. (Won't work worth a darn until I commit
1612         the rest of the plug-socket changes, but no reason these
1613         can't go into CVS now.)
1614
1615 2001-03-02  Havoc Pennington  <hp@redhat.com>
1616
1617         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
1618         _gdk_region_get_xrectangles()
1619
1620         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
1621
1622         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
1623
1624         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
1625         function, contributed by Ron Steinke    
1626
1627         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
1628         gdk_net_wm_supports
1629
1630         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
1631         New function, contributed by Ron Steinke
1632
1633         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
1634         used to line up the text in the entry when using the entry for
1635         editable sheet cell hacks
1636
1637         * gtk/testgtk.c (create_entry): test the activate_default setting
1638         on GtkEntry
1639
1640         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
1641         cause the entry to activate the default button for a dialog when 
1642         activated
1643         (gtk_entry_get_activates_default): new function
1644
1645 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
1646
1647         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
1648         Hwang to move call to sync_selection() up a few lines
1649         to before the row list is modified, to fix crash when
1650         removing rows in the undo_selection list.
1651
1652         (Test case provided by Daniel Elstner:
1653
1654         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
1655
1656 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
1657
1658         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
1659         of tree->root_tree in parent_set rather than _map(), 
1660         fixing #50892 in a bit better manner.
1661
1662 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
1663
1664         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
1665
1666 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
1667
1668         * gtk/gtkstyle.c : Remove duplicate fwd decl for
1669         gtk_default_draw_shadow.
1670
1671 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
1672
1673         * gdk/gdkimage.c (gdk_image_new): Remove excess 
1674         warning, make warnings more verbose, treat a error
1675         in shmat as permanent, and don't try again.
1676         (#51163, Ed Randall.)
1677
1678 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
1679
1680         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
1681         delay for the first click before starting to scroll.
1682         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
1683
1684         * gtk/gtktext.c: GtkText should have I-beam cursor. 
1685         (based on gtk-enf-990513-1.patch, Eric Fisher.)
1686
1687 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
1688
1689         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
1690         cleanup to remove some references to unused
1691         ->xoffset, ->yoffset.
1692
1693 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
1694
1695         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
1696         mask. (#51039, fix from Martin Maierhofer)
1697
1698 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
1699
1700         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
1701         for unshifted + and shifted = for non-us keyboards.
1702         Make <Control>+ and <Control>- work as well as 
1703         <Control>KP_Plus, <Control>KP_Minus for recursive
1704         open/close.  (#2682, René Seindal)
1705
1706 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
1707
1708         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
1709         the active menu item before deactivating the menu,
1710         so gtk_menu_popdown doesn't change the history. (#50964)
1711         
1712 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
1713
1714         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
1715         draw lines with text_gc rather than black_gc.
1716         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
1717
1718 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
1719
1720         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
1721         Move handling of buttons fully in gtktreeviewcolumn.  This code is
1722         less interrelated then it was, but it still requires the
1723         GtkTreeView to map it.
1724
1725         * test/testtreecolumn.c: Now I can add a column to one view,
1726         remove it, add it to the another view, remove it, then re-add it
1727         to the first.  Nifty.
1728
1729 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
1730
1731         * docs/tutorial/gtk-tut.sgml: Minor corrections
1732
1733 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
1734
1735         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
1736         GtkRowReference.
1737
1738 2001-02-28  Havoc Pennington  <hp@redhat.com>
1739
1740         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
1741         draw_default
1742         (gtk_widget_draw_focus): remove this function; we could instead
1743         make it just gtk_widget_draw(), but in most cases I think the
1744         result would be broken user code, so think it's better to have
1745         that code not compile and get fixed
1746         (gtk_widget_draw_default): ditto
1747
1748         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
1749         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
1750         
1751         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
1752         widgets lose/get the default, instead of calling draw_default
1753         
1754         * docs/Changes-2.0.txt: note about all this
1755
1756         Then fixed every widget in GTK, I won't list all the filenames.
1757
1758 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
1759
1760         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
1761         _gtk_tree_row_reference_deleted.
1762         (inserted_callback): Proxy out to
1763         _gtk_tree_row_reference_inserted.
1764         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
1765         get around signal emission ordering problem.
1766
1767         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
1768         fix to work with SINGLE 
1769         (_gtk_tree_selection_internal_select_node): Major sanitization on
1770         selections.  SINGLE now seems to work.
1771
1772         * tests/Makefile.am: add testtreecolumn.c:
1773
1774         * tests/testtreecolumn.c: New test.  Mostly points out selection
1775         bugs currently, but will test columns later.
1776
1777         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
1778         selection bug.  I hate touching this code -- it's scary.
1779
1780 2001-02-26  Havoc Pennington  <hp@redhat.com>
1781
1782         * gtk/testgtk.c: test the window state stuff
1783
1784         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
1785         window come to the user's attention as if it were just created
1786         (gtk_window_iconify): new function
1787         (gtk_window_deiconify): new function
1788         (gtk_window_stick): new function
1789         (gtk_window_unstick): new function
1790         (gtk_window_maximize): new function
1791         (gtk_window_unmaximize): new function
1792
1793         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
1794
1795         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
1796
1797         * gdk/x11/gdkevents-x11.c: create window state events when
1798         appropriate
1799         (gdk_wmspec_supported): new function
1800
1801         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
1802         iconification before showing the window
1803         (gdk_window_deiconify): new function
1804         (gdk_window_stick): new function
1805         (gdk_window_unstick): new function
1806         (gdk_window_maximize): new function
1807         (gdk_window_unmaximize): new function
1808
1809         * gdk/gdkwindow.c: store the window state in the window; 
1810         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
1811         window->mapped.
1812         (gdk_window_get_state): return the current window state
1813
1814         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
1815         (gdk_event_get_state): handle GDK_WINDOW_STATE
1816         (gdk_synthesize_window_state): function to create the window state
1817         events
1818
1819         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
1820         event, for changes to "window state" such as maximized, sticky, 
1821         etc.
1822         
1823         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
1824         focuses a window
1825
1826         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
1827         finds out if we support a given WM spec hint
1828
1829 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
1830
1831         * docs/faq/gtk-faq.sgml: New question re memory leaks.
1832
1833 2001-02-25  Hans Breuer  <hans@breuer.org>
1834
1835         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
1836         cause we want to loose those prototypes only in the latter case
1837
1838         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
1839         GdkPixmapImplWin32 because it itsn't derived from it. Use the
1840         impl member variable instead
1841
1842         * gtk/gtk.def : updated
1843
1844         * gtk/gtklist.c : 
1845         * gtk/gtkmenus.c : include <string.h> for memset ()
1846
1847         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
1848         for everthing built here, but for gtk-x.x.dll only. This solves
1849         problem of indifferent gtk type definitions
1850
1851 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@redhat.com>
1852
1853         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
1854
1855 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
1856
1857         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
1858         column that is exposed.
1859
1860         (_gtk_tree_view_update_size): Changed name from set_size, and
1861         changed function to do more work, and not force people calling it
1862         to figure out the size.  Simplifies a lot of code elsewhere.
1863
1864 2001-02-23  Alexander Larsson  <alexl@redhat.com>
1865
1866         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
1867         return solid masks for xpms that have no transparent color.
1868         This makes the ..._create_from_xpm... API backwards
1869         compatible.
1870
1871 2001-02-23  Tor Lillqvist  <tml@iki.fi>
1872
1873         * README.win32: Update. Mention the gtk-1-3-win32-production
1874         branch.
1875
1876         * gdk/win32/bdfcursor.c: New file. A program that generates
1877         xcursors.h. Thanks to Stefan Ondrejicka.
1878
1879         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
1880         compact format.
1881
1882         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
1883
1884         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
1885         function, uses xcursors.h.
1886         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
1887         cursor from inline data instead of using LoadCursor() to generate
1888         it from a resource.
1889
1890         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
1891         event, must check the Windows message for mouse button state, as
1892         the GDK event state might not have been built if it is
1893         undelivered. Remove one goto.
1894
1895         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
1896         SetCursor() if the current cursor as returned by GetCursor() is
1897         the window's previous cursor. The ChildWindowFromPoint() test
1898         apparently didn't work correctly.
1899
1900         * gdk/win32/rc/*.cur: Remove.
1901
1902         * gdk/win32/rc/gdk.rc.in: Remove cursors.
1903
1904         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
1905
1906         * gtk/makefile.{mingw,msc}.in: Updates.
1907
1908 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
1909
1910         * gtk/gtktreemodel.h: add functions for signal emission.
1911
1912         * gtk/gtktreestore.c: move to use above functions instead of
1913         g_signal_emit.
1914
1915         * gtk/gtkliststore.c: ditto
1916
1917 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
1918
1919         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
1920         GObject instead of GtkObject.
1921
1922         * gtk/gtkliststore.c: ditto.
1923
1924         * gtk/gtktreemodelsort.c: ditto.
1925
1926         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
1927         GtkTreeModelIface, instead of in each model.
1928
1929 2001-02-21  Havoc Pennington  <hp@redhat.com>
1930
1931         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
1932         unbreak this function
1933
1934         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
1935         properties
1936
1937         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
1938         properties
1939
1940         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
1941         properties
1942
1943         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
1944         mean unset the max length
1945
1946 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
1947
1948         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
1949         Changed name to be set_cell_data_func to make it clear what
1950         the functino does.  Close bug #51069.
1951
1952 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
1953
1954         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
1955         have memory actually freed.  Keeps box running longer.
1956
1957 2001-02-21  Alexander Larsson  <alexl@redhat.com>
1958         
1959         * gtk/gtkseparatormenuitem.[ch]:
1960         Added new menu separator item. The drawing and size handling
1961         is still done in GtkMenuItem, but the API is a bit more sane.
1962         
1963         * gtk/Makefile.am:
1964         Add gtkseparatormenuitem.[ch].
1965
1966         * gtk/gtk.h:
1967         Add gtkseparatormenuitem.h.
1968         
1969         * gtk/gtkentry.c:
1970         * gtk/gtkmenufactory.c:
1971         * gtk/gtktextview.c:
1972         Use the new API for menu separators.
1973         
1974         * demos/gtk-demo/menus.c (create_menu):
1975         Add some GtkSeparatorMenuItem demo code.
1976
1977 2001-02-20  Havoc Pennington  <hp@redhat.com>
1978
1979         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
1980         Lee Mallabone
1981
1982         * gtk/gtkarrow.c: Convert to new property API, patch from 
1983         Lee Mallabone
1984
1985 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
1986
1987         * tests/testtreeview.c (toggled_callback): fix to reflect change
1988         in GtkTreeModelStore.
1989
1990 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
1991
1992         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
1993         function to create an icon set from a pixbuf.
1994
1995 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1996
1997         * gtk/gtkcellrenderertext.[ch]:
1998         Add a "markup" property.
1999
2000         * gtk/treestoretest.c:
2001         Use the markup property, remove some leftover stuff from
2002         GtkTreeModelMapping.
2003
2004 2001-02-20  Alexander Larsson  <alexl@redhat.com>
2005
2006         * gtk/gtklabel.c (gtk_label_set_selectable):
2007         Queue a redraw if the selectable setting was changed.
2008
2009 2001-02-20  Alexander Larsson  <alexl@redhat.com>
2010
2011         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
2012         Actually copy the whole gc, not just the public parts.
2013         
2014         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
2015         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
2016         labels.
2017
2018 2001-02-19  Havoc Pennington  <hp@pobox.com>
2019
2020         * gdk/gdkwindow.c: docs
2021
2022         * gdk/gdkrgb.c: docs
2023
2024         * gdk/gdkregion-generic.c: docs
2025
2026         * gdk/gdkgc.c (gdk_gc_set_values): docs
2027
2028         * gdk/gdkdraw.c: docs
2029
2030         * gdk/gdkdrawable.h: deprecate drawable get/set data
2031
2032 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
2033
2034         * demos/gtk-demo/dialog.c: Add simple new demo.
2035
2036 2001-02-19  Havoc Pennington  <hp@redhat.com>
2037
2038         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
2039         insert_child_anchor signal, bug #50245
2040
2041         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
2042         from create_child_anchor, so the anchor is passed in
2043
2044         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
2045         (_gtk_widget_segment_new): have the child anchor object passed in, 
2046         instead of creating it.
2047
2048         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
2049         to gtk_text_buffer_get_modified
2050
2051 2001-02-19  Havoc Pennington  <hp@redhat.com>
2052
2053         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
2054         changed GLib without fixing GTK
2055
2056         * gtk/gtkrange.h: Rename all the stupid implementation detail 
2057         functions to have an underscore in front. Most of them should 
2058         probably just go away, but for starters don't export them.
2059         Bug #50482
2060
2061 2001-02-19  Havoc Pennington  <hp@redhat.com>
2062
2063         * gdk/gdkcolor.h: test was backward, so deprecated functions were
2064         excluded by default
2065
2066         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
2067         clean up the old code a bit
2068
2069         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
2070         inconsistent state
2071
2072         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
2073         draw inconsistent state
2074
2075         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
2076         (create_menu): add inconsistent test
2077
2078         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
2079         new function
2080         (gtk_check_menu_item_get_inconsistent): new function
2081         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
2082         state (using etched in for now)
2083
2084         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
2085         draw inconsistent state
2086
2087         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
2088         function, used when the user has selected a range of stuff in
2089         different states
2090         (gtk_toggle_button_get_inconsistent): accessor for that
2091         (gtk_toggle_button_paint): draw inconsistent state (etched in?
2092         don't know what else to do)
2093
2094 2001-02-19  Hans Breuer <hans@breuer.org>
2095
2096         * gtk/gtk.def : updated exported symbols
2097
2098         * gtk/makefile.msc.in : updated
2099
2100         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
2101         a colormap, when invoked from testgtk::entry. I'm not sure where
2102         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
2103         avoids immediate crashing ...
2104
2105         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
2106         any objections ?
2107
2108         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
2109         0 parameter. At least msvc doesn't like macros with var args. 
2110         I simply removed the extra 0, was it a feature or a typo ?
2111
2112         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
2113         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
2114         because the value assignment to the internal struct wasn't working.
2115         I'm not absolutely sure. The problem could have been resolved by
2116         changing the "func" declartion in the struct, but was the pointer
2117         to the function pointer intended ?
2118
2119         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
2120
2121         * gdk/gdk.def : updated exported symbols
2122
2123         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
2124         only use SetDIBitsToDevice if there is a palette at the drawable
2125         and the image is GDK_VISUAL_PSEUDO_COLOR
2126
2127         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
2128
2129         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
2130
2131         * gdk/*/makefile.msc : updated
2132
2133 2001-02-19  Havoc Pennington  <hp@redhat.com>
2134
2135         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
2136         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
2137
2138         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
2139         (gdk_key_repeat_restore): nuke
2140
2141         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
2142         (gdk_init_check): no atexit func
2143
2144         * gdk/gdkrgb.h: mark some stuff deprecated
2145
2146         * gdk/gdkcolor.h: mark some stuff deprecated
2147         
2148         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
2149
2150         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
2151
2152 2001-02-16  Havoc Pennington  <hp@redhat.com>
2153
2154         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
2155         scroll steps.
2156
2157         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
2158         steps, and add Ctrl-arrow shortcuts for paging visually as with
2159         HScale, since Page Up and Page Down move logically.
2160
2161         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
2162         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
2163         
2164         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
2165         steps
2166         (gtk_range_scroll): handle the visual steps
2167
2168         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
2169         scroll steps
2170
2171         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
2172         steps, not the logical ones.
2173
2174         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
2175         (scroll_vertical): handle up/down steps
2176
2177 2001-02-19 Alexander Larsson  <alexl@redhat.com>
2178
2179         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
2180         Copy data and free data with free().
2181
2182         * gdk-pixbuf/gdk-pixbuf.c:
2183         * gdk-pixbuf/io-jpeg.c:
2184         * gdk-pixbuf/io-png.c:
2185         Use g_try_malloc/g_free instead malloc/free.
2186         
2187         * gdk-pixbuf/test-gdk-pixbuf.c:
2188         Must... initialize... gobject...
2189         
2190         * gdk-pixbuf/pixops/timescale.c:
2191         * gtk/gtkcalendar.c:
2192         Use g_malloc instead of malloc.
2193         
2194 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
2195
2196         * gtk/testgtkrc:
2197         Comment out property assignments, these don't work yet.
2198
2199 2001-02-17  Havoc Pennington  <hp@pobox.com>
2200
2201         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
2202         bit.
2203
2204 2001-02-17  Havoc Pennington  <hp@pobox.com>
2205
2206         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
2207         shadowed variables that had broken size request in some cases,
2208         leading to bogus tooltips (#50996)
2209
2210 2001-02-06  Jon K Hellan  <hellan@acm.org>
2211
2212         Implement fast browsing of tooltips, bug #50619
2213         
2214         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
2215         and last_popdown
2216         
2217         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
2218         use_sticky_delay and last_popdown.
2219         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
2220         time of popdown.
2221         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
2222         is NULL.
2223         (gtk_tooltips_recently_shown): New static function.  Return true
2224         if < sticky_delay has elapsed since last popdown.
2225         (gtk_tooltips_event_handler): Display window after sticky_delay
2226         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
2227         since last popdown.
2228         
2229 2001-02-17  Havoc Pennington  <hp@pobox.com>
2230
2231         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
2232         instead of (). #6394
2233
2234         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
2235         G_CONST_RETURN, make it return by reference, #50473
2236         
2237 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
2238
2239         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
2240         generated ENTER_NOTIFY event with 0, otherwise not explicitely
2241         setup fields contain garbage (e.g. subwindow, breaking
2242         gdk_drawable_ref() upon event copy).
2243         (gtk_menu_stop_navigating_submenu_cb): same here.
2244
2245         * gtk/gtklist.c (gtk_list_vertical_timeout): 
2246         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
2247         * gtk/gtkclist.c (vertical_timeout): 
2248         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
2249         default-zero-intialization for unions to memset(,0,), as unions are
2250         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
2251         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
2252
2253         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
2254         g_closure_sink() warning.
2255
2256         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
2257         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
2258         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
2259         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
2260         
2261 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
2262
2263         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
2264         gtk_*_store_get, and moved to GtkTreeModel.
2265
2266         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
2267
2268         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
2269
2270         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
2271
2272         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
2273         set the func.
2274
2275         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
2276         freeze/thaw notify between setting all the properties for a cell.
2277
2278         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
2279
2280 2001-02-15  Havoc Pennington  <hp@redhat.com>
2281
2282         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
2283         the X coordinates so they're with respect to the line, rather than 
2284         with respect to the layout.
2285
2286         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
2287         Mallabone
2288
2289         * gtk/testgtk.c (create_range_controls): add vscale tests, 
2290         and inverted test
2291
2292         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
2293         #50806
2294
2295         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
2296
2297         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
2298         gtk_text_iter_is_end
2299
2300         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
2301         rename gtk_text_buffer_get_end_iter
2302
2303         * gtk/testgtk.c (create_labels): Add test for selectable
2304
2305         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
2306         the selection stuff. This code is kind of broken since it doesn't 
2307         use the theme engine.
2308
2309         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
2310         fix infinite loop and y offset problem
2311         (gdk_draw_layout_line_with_colors): fix foreground color handling
2312
2313         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
2314         that makes the label selectable.
2315         
2316         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
2317         layout when the style is set, since fonts etc. could have changed.      
2318
2319 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
2320
2321         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
2322
2323         * gtk/gtktreemodelsimple.[ch]: removed.
2324
2325 2001-02-16  Alexander Larsson  <alexl@redhat.com>
2326
2327         * gtk/gtktreemodelmapping.[ch]:
2328         New files. Implement GtkTreeModelMapping.
2329         
2330         * gtk/Makefile.am:
2331         Add gtktreemodelmapping.[ch].
2332         
2333         * gtk/gtk.h:
2334         Add gtktreemodelmapping.h
2335
2336         * gtk/treestoretest.c:
2337         Test the GtkTreeModelMapping
2338
2339 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
2340
2341         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
2342         have a demo, we might as well pass in real values.  Thanks to
2343         clahey for pointing this out.
2344
2345 2001-02-14  Havoc Pennington  <hp@pobox.com>
2346
2347         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
2348         "static" to a private function
2349         (gtk_image_menu_item_class_init): remove destroy handler,
2350         add "image" object property
2351
2352 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
2353
2354         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
2355         Add a shortcut if the window and the current clip_region doesn't
2356         overlap. This is needed when there are a lot of windows in a
2357         window. The layout test in testgtk is a good test.
2358
2359         * gdk/linux-fb/gdkwindow-fb.c:
2360         Whitespace fix.
2361
2362 2001-02-13  Sven Neumann  <sven@convergence.de>
2363
2364         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
2365
2366 2001-02-13  Alexander Larsson  <alexl@redhat.com>
2367
2368         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
2369         Don't reference last_cursor if it is null. Fixes crash when rotating
2370         the screen before having moved the mouse.
2371
2372         * gdk/linux-fb/gdkcc-fb.c: Zapp!
2373
2374         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
2375
2376         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
2377         when using 90 or 270 degrees rotation.
2378
2379 2001-02-12  Havoc Pennington  <hp@pobox.com>
2380
2381         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
2382         it always set the foreground, even if we were only using
2383         a stipple.
2384         (gdk_draw_layout_line_with_colors): new function, allow
2385         override colors
2386         (gdk_draw_layout_with_colors): new function, allow override
2387         colors
2388         (gdk_pango_layout_line_get_clip_region): function to get the clip
2389         region for a logical text range
2390         (gdk_pango_layout_get_clip_region): get the clip region for a
2391         logical text range
2392
2393         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
2394         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
2395         the right number of arguments.
2396
2397         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
2398         enhance the function to check that node data corresponds to a 
2399         view still belonging to the tree.
2400
2401         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
2402         GtkTreePath
2403         (gtk_tree_view_inserted): ditto
2404         (gtk_tree_view_child_toggled): ditto
2405
2406         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
2407         simplify this code.
2408
2409         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
2410         a PangoAttrList
2411
2412         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
2413
2414         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
2415
2416         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
2417         size in the size request 
2418         (gtk_menu_bar_size_allocate): consider toggle size here
2419
2420         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
2421         that displays a widget in the toggle slot
2422
2423         * gtk/testgtk.c: test GtkImageMenuItem
2424
2425         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
2426         
2427         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
2428         request and allocation
2429
2430         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
2431
2432         * gtk/gtkcheckmenuitem.c
2433         (gtk_check_menu_item_toggle_size_request): ditto
2434         
2435 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
2436
2437         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
2438         reference.
2439
2440         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
2441         and refuse to initialize GTK+ if they fail.
2442
2443 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
2444
2445         * configure.in: Add check for gtk-doc version.
2446
2447 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
2448
2449         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
2450         where the xpad/ypad was only being used on one side!
2451
2452 2001-02-11  Tor Lillqvist  <tml@iki.fi>
2453
2454         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
2455         function, copied from X11 version.
2456
2457         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
2458         DestroyCursor failures. The reason for the problem (despite the
2459         inconsistent messages from GetLastError()) was that
2460         DestroyCursor() cannot be called while a cursor is set in a
2461         window. Set the new cursor first and then destroy the old one.
2462         Thanks to jpe@archaeopteryx.com.
2463
2464         * gdk/win32/gdkcc-win32.c: Remove.
2465
2466         * gdk/win32/Makefile.am: Remove from here, too.
2467         
2468         * gdk/gdk.def
2469         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
2470
2471         * gtk/gtk.def
2472         * gtk/makefile.mingw.in: Updates.
2473
2474 2001-02-08  Havoc Pennington  <hp@redhat.com>
2475
2476         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
2477         add a widget to a bin that already has a child.
2478
2479         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
2480
2481         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
2482         
2483         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
2484
2485         * gdk/gdk.h: remove gdkcc.h
2486
2487         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
2488
2489         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
2490         GdkPixbuf, since the previous implementation was GdkColorContext
2491         dependent.
2492
2493         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
2494         
2495 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
2496
2497         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
2498         a sane value!
2499
2500 2001-02-08  Havoc Pennington  <hp@redhat.com>
2501
2502         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
2503         lighten them.
2504
2505 2001-02-08  Havoc Pennington  <hp@redhat.com>
2506
2507         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
2508         validation idle
2509
2510         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
2511         cell renderer
2512
2513         * demos/pixbuf-demo.c (timeout): remove deprecated
2514         gtk_widget_draw
2515
2516         * demos/testpixbuf-save.c (main): remove deprecated
2517         gtk_drawing_area_size
2518
2519         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
2520         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
2521         at the start of the allocation.
2522         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
2523         unsetup or NULL model.
2524
2525         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
2526         even/odd/sorted cells in the tree view.
2527
2528         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
2529         bugfixes
2530
2531         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
2532         backgrounds with draw_flat_box using different detail for even/odd
2533         rows.
2534
2535         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
2536         row, so we can draw the alternating colors thing
2537
2538         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
2539         property from a synonym property, notify for the synonym.
2540         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
2541         (gtk_text_tag_get_property): Always return the font, even if
2542         all its fields aren't set
2543
2544         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
2545         store the attr list; it leaves us with no way to change attributes
2546         in _render according to the render flags, and no way to implement
2547         get_property. Instead store all the specific text attributes. 
2548         Separate whether an attribute is enabled from its value. Sync all
2549         properties with GtkTextTag, make them all consistent, etc.
2550
2551         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
2552         renderers can highlight the sort row/column     
2553
2554         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
2555         accessor functions to get values; this has the side effect of
2556         showing up which accessor functions were missing. Added those.
2557
2558         * gtk/gtktreeviewcolumn.h: Replace set_justification with
2559         set_alignment, to be consistent with GtkLabel, GtkMisc
2560
2561         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
2562         arrow.
2563
2564         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
2565
2566         * gtk/gtktreesortable.h: updates in here
2567
2568 2001-02-07  Sven Neumann  <sven@convergence.de>
2569
2570         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
2571         pango dimensions after painting the background. We used to draw
2572         gigantic flat boxes here.
2573
2574 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
2575
2576         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
2577         error introduced with earlier commit) (pointed out by
2578         Ollie Lho)
2579
2580 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
2581
2582         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
2583         which are no longer necessary.
2584
2585 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
2586
2587         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
2588
2589 2001-02-04  Tor Lillqvist  <tml@iki.fi>
2590
2591         * gdk/gdk.def
2592         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
2593         Provide dummy implementations.
2594
2595 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
2596
2597         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
2598
2599         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
2600         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
2601         deprecated this function.
2602
2603         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
2604         argument.
2605
2606 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
2607
2608         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
2609
2610 2001-02-03  Havoc Pennington  <hp@pobox.com>
2611
2612         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
2613         Mikael Hermansson with patch from Mikael (if there was a toggle
2614         start one after the first character in the range, this function
2615         was broken). Bug #50380
2616
2617 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
2618
2619         * configure.in: Remove confusing comment about X11.
2620
2621 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
2622
2623         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
2624         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
2625         
2626 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
2627
2628         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
2629         it breaks things on BSD. If you want to compile GTK+ with
2630         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
2631         when configuring, since GTK+ simply can't be "pure ANSI" 
2632         in the header files it uses. (#8170, Greg Hudson)
2633
2634 2001-02-02  Havoc Pennington  <hp@redhat.com>
2635
2636         * gtk/gtkwindow.c: docs
2637
2638         * gtk/gtkwidget.c: docs
2639         (gtk_widget_set_colormap): add a reference to the colormap
2640         (gtk_widget_get_default_colormap): add a reference to the colormap
2641
2642         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
2643
2644         * gtk/gtktextiter.c: docs
2645
2646         * gtk/gtkmain.c (gtk_propagate_event): docs
2647
2648         * gtk/gtkpaned.c (gtk_paned_get_position): docs
2649         (gtk_paned_set_position): docs
2650
2651         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
2652         sort interface, no implementation yet.
2653
2654         * demos/testpixbuf.c (new_testrgb_window): replace
2655         gtk_drawing_area_size() with gtk_widget_set_usize()
2656
2657         * demos/testpixbuf-drawable.c (main): ditto
2658         
2659         * gtk/testgtk.c: remove use of GtkStatusbarMsg
2660
2661         * gtk/gtktextbuffer.c: docs
2662
2663         * gtk/gtkstock.c: docs
2664
2665         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
2666
2667         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
2668
2669         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
2670         
2671         * gtk/gtkimage.c: add some docs in here
2672         (gtk_image_size_request): change name of
2673         gtk_widget_render_stock_icon
2674         (gtk_image_get_icon_set): don't dup returned string
2675         (gtk_image_get_icon_set): don't dup returned string
2676
2677         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
2678         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
2679         and gtkiconfactory.h functions
2680
2681         * gtk/gtkiconfactory.c: add some docs in here
2682
2683         * gtk/gtkmain.c (gtk_get_default_language): document
2684         (gtk_get_current_event): document
2685         (gtk_get_current_event_state): document
2686         (gtk_get_event_widget): document
2687
2688         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
2689
2690         * gtk/gtkcontainer.c: Add some documentation
2691         (gtk_container_add): give a more explanatory warning on adding an
2692         already-parented widget, this is kind of a FAQ and also a common
2693         typo that's easier to debug with a nice warning 
2694
2695         * gtk/gtkcellrenderertoggle.c
2696         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
2697         adding this, it's useless
2698         (gtk_cell_renderer_toggle_set_active): remove
2699         (gtk_cell_renderer_toggle_get_radio): add
2700
2701         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
2702         the NULL cell renderer, that doesn't make any sense to me. 
2703
2704         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
2705         demo code should never use deprecated features.
2706
2707         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
2708         code should never use deprecated features.
2709
2710         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
2711         gtk_widget_queue_clear_area deprecated
2712
2713         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
2714         deprecated
2715
2716         * gtk/gtklabel.h: mark gtk_label_get() deprecated
2717
2718         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
2719         a GdkImage deprecated, replaced by new consistently-named
2720         functions       
2721
2722         * gtk/gtkmain.h: Mark gtk_exit() deprecated
2723
2724         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
2725
2726         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
2727         deprecated
2728
2729         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
2730         so it won't appear in docs and confuse people.
2731
2732         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
2733
2734         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
2735         macros deprecated. (can't mark the type itself deprecated, since
2736         GtkProgressBar is not deprecated and we need the type decl to use
2737         GtkProgressBar)
2738
2739         * gtk/gtkpixmap.h: Mark deprecated
2740
2741         * gtk/gtkoldeditable.h: Mark deprecated
2742
2743         * gtk/gtklist.h: Mark deprecated
2744
2745         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
2746         for anything anymore.
2747
2748         * gtk/gtkctree.h: Mark deprecated
2749
2750         * gtk/gtkclist.h: Mark deprecated
2751
2752         * gtk/gtkpreview.h: Mark deprecated
2753
2754         * gtk/gtkpacker.h: Mark deprecated
2755
2756         * gtk/gtktipsquery.h: Mark deprecated
2757
2758         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
2759
2760         * gtk/gtkvruler.h: Add comment that it will move out of GTK
2761
2762         * gtk/gtkhruler.h: Add comment that it will move out of GTK
2763
2764         * gtk/gtkruler.h: Add comment that it will move out of GTK
2765
2766         * gtk/gtkgamma.h: Add comment that it will move out of GTK
2767
2768         * gtk/gtkcurve.h: Add comment that it will move out of GTK
2769
2770 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
2771
2772         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
2773         gdk_colormap_sync private since it was never exported
2774         in a header file.
2775
2776         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
2777         colormap->colors[] for StaticGray, StaticColor colormaps.
2778
2779         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
2780         was being used as if it was image->bits_per_pixel.
2781
2782         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
2783         for the image in the GdkImage structure since it isn't
2784         reconstructable, and we need it to handle packed types
2785
2786         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
2787         the assumption that on Win32 image->bits_per_pixel == image->depth,
2788         always.
2789
2790         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
2791
2792         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
2793         warning message if no converter can be found. 
2794
2795 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
2796
2797         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
2798         chars to isupper() / tolower(). (#567)
2799
2800         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
2801         to clear up 64-bit warnings. (#567)
2802
2803 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
2804
2805         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
2806         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
2807
2808         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
2809         since some people set $(libdir) separately. (#1290, David Kaelbling)
2810
2811 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
2812
2813         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
2814         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
2815         MAXPATHLEN, but the code here depends on a fixed value.)
2816         (#4524)
2817
2818 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
2819
2820         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
2821         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
2822
2823 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
2824
2825         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
2826         viewable there is no way that moving the node will cause the 
2827         focus row to become not viewable, so omit check on the visibility
2828         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
2829
2830 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
2831
2832         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
2833         selection before inserting new text.
2834
2835 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
2836
2837         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
2838         Make the sensitivity of the reparented child track that of
2839         the original parent menu item. (#34218, David Hodson)
2840
2841         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
2842         the case where the current item is destroyed properly.
2843
2844         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
2845         some edge cases with child-less menuitems.
2846         
2847 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
2848
2849         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
2850         key pop down window. (#12074, Jon K Hellan)
2851
2852 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
2853
2854         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
2855         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
2856         The solution here isn't perfect - you get an extraneous
2857         emission of "toggle", which could conceivably confuse an app,
2858         but better than the current situation. LXR search seems to
2859         indicate that no apps in GNOME CVS connect to "toggle".
2860
2861 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
2862
2863         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
2864         gtk_public_h_sources to directly here to avoid warning when
2865         building srcdir != builddir. (#9656)
2866
2867 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
2868
2869         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
2870         handlers in gtkrange.c return the proper values (TRUE == handled)
2871         (#10316).
2872
2873         This is just the tip of the iceberg, but gtkrange.c is the
2874         most common place where the propagation is problematical,
2875         and also a place where it is almost certainly safe to change
2876         this in the stable branch.
2877
2878         (You don't want right click popups on a range control or anything...)
2879
2880 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
2881
2882         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
2883         area on focus out, even if a background pixmap isn't set.
2884         (#13941)
2885         
2886 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
2887
2888         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
2889         to deal with setting the shape properly when scrolling arrows are
2890         turned on, but not visible because there is sufficient space.
2891         (#13432)
2892
2893 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
2894
2895         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
2896         items with submenus, destroy the item along with the submenu.
2897         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
2898         properly.
2899
2900         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
2901         later.
2902
2903 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
2904
2905         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
2906         the focus widget sometimes wasn't drawn with the default if there
2907         was no default widget.
2908
2909         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
2910         unreference pixmaps. 
2911
2912         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
2913         for some extra safety.
2914
2915 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
2916
2917         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
2918         the text of a cell to the old pointer value better, by
2919         copying the new text before freeing the old text. Some code
2920         cleanup. (#8079, Karl Nelson)
2921
2922 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
2923
2924         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
2925         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
2926
2927 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
2928
2929         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
2930         item from a menu, check to see if it matches 
2931         menu->old_active_menu_item, and if so, unref and clear
2932         old_active_menu_item (Patch from Pavel Cisler)
2933
2934         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
2935         menu_shell->active_menu_item, if it is the child being
2936         removed. (Patch based on that of Gene Ragan, #50337)
2937
2938 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
2939
2940         * gdk/linux-fb/gdkselection-fb.c: 
2941         * gdk/linux-fb/gdkcolor-fb.c: 
2942         * gdk/linux-fb/gdkdrawable-fb2.c: 
2943         * gdk/linux-fb/gdkfont-fb.c: 
2944         * gdk/linux-fb/gdkim-fb.c: 
2945         * gdk/linux-fb/gdkinput.c: 
2946         * gdk/linux-fb/gdkkeyboard-fb.c: 
2947         * gdk/linux-fb/gdkmain-fb.c: 
2948         * gdk/linux-fb/gdkrender-fb.c: 
2949         A bunch of whitespace cleanup.
2950         
2951 2001-01-30  Havoc Pennington  <hp@pobox.com>
2952
2953         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
2954         #ifdef GTK_ENABLE_BROKEN.
2955
2956         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
2957         GTK_ENABLE_BROKEN just before including the broken headers.
2958         
2959         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
2960         deprecated types registered.
2961
2962         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
2963         we have to test the broken stuff.
2964
2965         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
2966         
2967 2001-01-30  Havoc Pennington  <hp@redhat.com>
2968
2969         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
2970         here where prev pointer was set to the wrong thing
2971
2972         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
2973         (gtk_tree_path_is_descendant): new function
2974
2975         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
2976         cached length
2977         (gtk_list_store_get_iter): don't modify iter if we can't get the
2978         path.
2979
2980         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
2981         
2982         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
2983         GtkTreeDragDest
2984
2985         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
2986         was causing segfault
2987
2988         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
2989         pointer to NULL
2990
2991         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
2992
2993         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
2994         on returning FALSE
2995         (gtk_list_store_iter_children): ditto
2996         (gtk_list_store_iter_nth_child): ditto
2997         (gtk_list_store_iter_nth_child): ditto
2998         (gtk_list_store_iter_parent): ditto
2999
3000         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
3001         on iter->user_data != NULL instead of silently accepting it.
3002         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
3003         we are returning TRUE.
3004         (gtk_tree_store_iter_children): ditto
3005         (gtk_tree_store_iter_nth_child): ditto
3006         (gtk_tree_store_iter_parent): ditto
3007         (gtk_tree_store_insert): remove handling of parent->user_data ==
3008         NULL, replace with parent == NULL       
3009
3010         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
3011         and a comment explaining things
3012
3013         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
3014         interface support to GtkTreeStore.
3015
3016         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
3017         FALSE if no prev, fix
3018
3019         * gtk/gtktreeview.c (set_source_row): use a row reference
3020         (set_dest_row): use a row reference
3021
3022 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
3023
3024         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
3025         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
3026         (gtk_tree_selection_select_iter): The same as above.
3027
3028 2001-01-26  Havoc Pennington  <hp@redhat.com>
3029
3030         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
3031         which holds a handle to a specific row (particular set of values
3032         in the model, i.e. pointer-identity row).
3033
3034         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
3035         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
3036         Still need to use it for the src/dest row saved on the drag context.
3037
3038 2001-01-26  Havoc Pennington  <hp@redhat.com>
3039
3040         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
3041
3042         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
3043         not offset by TREE_VIEW_HEADER_HEIGHT
3044         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
3045         TREE_VIEW_HEADER_HEIGHT
3046
3047         * configure.in (included_loaders): for me, --with-included-loaders
3048         generates the error "the specified loader yes does not exist",
3049         i.e. the arg defaults to "yes", so change test for value ""
3050         to test for value "yes", and include all loaders in that case.
3051
3052         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
3053
3054         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
3055         handle TREE_VIEW_VERTICAL_SEPARATOR
3056         (gtk_tree_view_bin_expose): fix to consider the row offset as
3057         pointing halfway into vertical separator.       
3058         (gtk_tree_view_draw_node_focus_rect): ditto
3059
3060         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
3061         --gtk-debug=updates, which causes gdk_window_set_debug_updates
3062         (TRUE) to be called.
3063
3064         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
3065         debug mode where the invalid region is colored in on invalidate,
3066         so you can see the flicker and know whether your redraw code is 
3067         doing a good job.
3068
3069         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
3070         tree window coordinates (clip rect is in tree window coords)
3071
3072         * gtk/Makefile.am: add gtktreednd.[hc]
3073
3074         * gtk/gtkliststore.c: implement gtktreednd interfaces.
3075
3076         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
3077         drag-and-drop data operations on a model (so we can set up tree
3078         drag-and-drop automatically)
3079
3080         * gtk/testgtk.c: Add a window to change sensitivity in the
3081         GtkLabel test; add a way to change the entry frame in GtkEntry
3082         test
3083
3084         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
3085         (gtk_entry_get_has_frame): new functions to remove the frame
3086         around an entry
3087         (gtk_entry_size_request): shrink requisition if no frame
3088         (gtk_entry_draw_focus): don't draw frame if no frame
3089
3090         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
3091         checks inside a cell renderer
3092         (gtk_default_draw_option): ditto for options
3093
3094         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
3095         children from the alignment, not the button
3096         (gtk_tree_view_column_init): ref/sink the column, to emulate
3097         GObject refcounting.
3098
3099         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
3100         
3101         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
3102         Use theme functions to draw the toggles 
3103
3104         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
3105
3106         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
3107         GdkPangoAttrEmbossed to use in rendering insensitive text
3108
3109         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
3110
3111         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
3112         using new GDK features
3113         
3114 2001-01-24  Alexander Larsson  <alexl@redhat.com>
3115
3116         * gtk/gtkimage.c:
3117         Splitted gtk_image_clear into gtk_image_clear() and
3118         gtk_image_reset(). Call gtk_image_clear() in ::destroy
3119         to avoid leaks.
3120
3121         * gtk/gtklabel.c (set_markup):
3122         Don't leak text.
3123
3124         * gtk/gtktextlayout.c:
3125         Always free display->shaped_objects.
3126
3127         * gtk/testgtk.c (create_clist):
3128         Don't leak custom style.
3129
3130 2001-01-23  Alexander Larsson  <alexl@redhat.com>
3131
3132         * gtk/gtkcolorsel.c (grab_color_at_mouse):
3133         Don't leak image. Simplify using gdk_colormap_query_color().
3134         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
3135
3136         * linux-fb/gdkcolor-fb.c:
3137         Implemented gdk_colormap_query_color.
3138
3139 2001-01-23  Alexander Larsson  <alexl@redhat.com>
3140
3141         * linux-fb/gdkcursor-fb.c:
3142         Don't leak built-in cursors.
3143
3144         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
3145         Don't leak tmp_points.
3146
3147         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
3148         Don't modify desc. Don't leak font if the PangoFont
3149         isn't found.
3150         
3151         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
3152         Free dash_list.
3153
3154         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
3155         Don't leak string.
3156         
3157 2001-01-20  Havoc Pennington  <hp@pobox.com>
3158
3159         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
3160         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
3161         me, matches Pango
3162
3163 2001-01-22  Havoc Pennington  <hp@redhat.com>
3164
3165         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
3166
3167         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
3168
3169         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
3170         Remove, move back to gdk-pixbuf
3171
3172         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
3173         to all the word functions
3174
3175         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
3176         before doing anything on NULL layout or if we don't have the focus
3177
3178         * gtk/testtext.c (fill_example_buffer): "justification"
3179
3180         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
3181         to be called "justification" not "justify"
3182
3183         * demos/gtk-demo/textview.c (create_tags): "justification"
3184         
3185         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
3186
3187 2001-01-22  Alexander Larsson  <alexl@redhat.com>
3188
3189         * gdk/gdkwindow.c (gdk_window_invalidate_region):
3190         Don't leak visible_region. Use visible_region instead of region.
3191         
3192         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
3193         Don't do extra gdk_drawable_ref(). This is not X.
3194         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
3195         gdk_fb_focused_window is ref:ed.
3196         (gdk_fb_window_send_crossing_events): Watch out for destroyed
3197         windows.
3198
3199 2001-01-22  Alexander Larsson  <alexl@redhat.com>
3200
3201         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
3202         Don't leak the PangoFontDescriptor.
3203
3204 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
3205
3206         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
3207         when not realized.
3208         (gtk_tree_view_scroll_to_cell): Make work when not realized.
3209         (gtk_tree_view_realize): add scroll_to support
3210         (gtk_tree_view_finalize): add a finalize method.  Populate.
3211         (gtk_tree_view_insert_column): ref and sink the column.
3212         (gtk_tree_view_append_column): ref and sink the column.
3213         (gtk_tree_view_queue_draw_node): New function to handle redrawing
3214         individual nodes.  Should make the code much more efficient, if
3215         actually used.
3216
3217 2001-01-19  Havoc Pennington  <hp@redhat.com>
3218
3219         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
3220         byte_offset variable was being used to mean both "offset into
3221         layout" and "offset into buffer line" which was no longer true
3222         with addition of preedit string; fix
3223
3224 2001-01-19  Havoc Pennington  <hp@redhat.com>
3225
3226         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
3227
3228         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
3229         function
3230
3231         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
3232         implement
3233
3234         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
3235         scroll_to_cell, matches TextView scroll functions better
3236         (gtk_tree_view_tree_to_widget_coords): new function
3237         (gtk_tree_view_widget_to_tree_coords): new function
3238         (gtk_tree_view_get_visible_rect): new function
3239         (gtk_tree_view_get_path_at_pos): accept negative coordinates
3240         (gtk_tree_view_draw_node_focus_rect): new function moved from
3241         draw_focus, also, use width of bin_window as width of the focus
3242         rect
3243         (gtk_tree_view_expand_row): fix bug where it didn't recognize
3244         already-expanded rows
3245         (gtk_tree_view_get_cell_rect): new function
3246         (gtk_tree_view_get_path_at_pos): return the click position
3247         relative to the passed-in cell
3248         (gtk_tree_view_set_expander_column): new function
3249
3250         * configure.in: remove gtk-config-2.0 chmod
3251
3252         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
3253         and properly handle drags with targets we don't understand
3254         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
3255         scrolling anyway
3256         (gtk_text_view_drag_drop): stop scrolling here though, and set the
3257         mark invisible
3258
3259         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
3260         function
3261         (gtk_drag_dest_get_target_list): new function
3262         (gtk_drag_dest_set_target_list): new function
3263         
3264         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
3265
3266         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
3267         related to drag-and-drop
3268
3269 2001-01-19  Alexander Larsson  <alexl@redhat.com>
3270
3271         * gdk/linux-fb/gdkprivate-fb.h:
3272         Define EMULATE_GDKFONT.
3273         Add extra pango_font stuff to GfkFontPrivate.
3274         
3275         * gdk/linux-fb/gdkdrawable-fb2.c:
3276         * gdk/linux-fb/gdkfont-fb.c:
3277         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
3278         emulation using PangoFont.
3279
3280 2001-01-17  Havoc Pennington  <hp@pobox.com>
3281
3282         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
3283         all the non-deprecated set_foo functions. Added missing object
3284         properties, and added g_object_notify() to setters. 
3285         Wrote docs.
3286         
3287 2001-01-18  Tor Lillqvist  <tml@iki.fi>
3288
3289         * gtk/gtkmain.c
3290         * gtk/gtkrc.c: (Win32) Use the new
3291         g_win32_get_package_installation_(sub)directory() functions.
3292
3293         * config.h.win32.in: New file.
3294         
3295         * config.h.win32: Removed.
3296
3297         * configure.in: Output config.h.win32.
3298
3299         * Makefile.am: Add it to EXTRA_DIST.
3300
3301         * gtk/gtk.def: Update.
3302
3303 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
3304
3305         * gtk/gtklabel.c (gtk_label_size_request): Set the
3306         attributes onto the PangoLayout even if they are newly
3307         created from label->pattern.
3308
3309 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
3310
3311         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
3312
3313         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
3314         structures in functions. Fixes bug where gtk_dataset_*
3315         was accidentally still being used in one place, causing
3316         every dest side event to be treated independently.
3317
3318         * gtk/gtkdnd.c: Remove last vestages of handling
3319         ::draw (fixes warning)
3320         
3321         * gtk/gtkentry.[ch]: Add drag and drop support.
3322
3323         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
3324         new function gtk_check_drag_threshhold() for checking
3325         to check if (dx,dy) has exceeded the threshhold for starting
3326         a drag and use it everywhere.
3327
3328 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
3329
3330         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
3331         add -I{includedir}/gtk-2.0.
3332
3333         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
3334         gdk/gdk-pixbuf.h: Doc fixups.
3335         
3336         * gtk/gtkobject.h: Remove trailing , from enum
3337
3338 2001-01-17 Alexander Larsson <alexl@redhat.com> 
3339
3340         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
3341         Doh! Mixed up x and y.
3342
3343         * gdk/linux-fb/gdkglobals-fb.c:
3344         Removed gdk_fb_pointer_grab_window_events,
3345         added _gdk_fb_pointer_grab_owner_events and
3346         _gdk_fb_keyboard_grab_owner_events.
3347
3348         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
3349         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
3350         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
3351         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
3352         Send crossing events after ungrab finished.
3353         (gdk_keyboard_grab): Set ..._owner_events
3354         (type_masks): Move out of function.
3355         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
3356         gdk_fb_keyboard_event_window): New functions, return the
3357         window an event should be targeted at. Handles grabs and
3358         event propagation. Can return NULL.
3359         (gdk_event_make): Remove event_mask checking. Now always
3360         returns an event.
3361                 
3362         * gdk/linux-fb/gdkkeyboard-fb.c:
3363         * gdk/linux-fb/gdkproperty-fb.c:
3364         * gdk/linux-fb/gdkselection-fb.c:
3365         Use new event_window/gdk_event_make() behaviour.
3366         
3367         * gdk/linux-fb/gdkmouse-fb.c:
3368         Use new event_window/gdk_event_make() behaviour.
3369         Only send motion events if in the same window.
3370         If grabbed, use cursor from window if sibling of grabbed
3371         window, and cursor from grabbed window otherwise.
3372
3373         * gdk/linux-fb/gdkprivate-fb.h:
3374         Update gdk_fb_window_send_crossing_events, gdk_event_make
3375         and grab varaible declarations. Add gdk_fb_*_event_window().
3376
3377         * gdk/linux-fb/gdkwindow-fb.c:
3378         Use new event_window/gdk_event_make() behaviour.
3379         Keep correct track of focus window.
3380         (gdk_window_set_events): Set all specific button motion masks
3381         if GDK_BUTTON_MOTION_MASK set.
3382
3383         * gtk/gtkdnd.c (gtk_drag_update):
3384         Free info->last_event if gdk_drag_motion returned FALSE.
3385
3386 2001-01-16  Tor Lillqvist  <tml@iki.fi>
3387
3388         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
3389         Eliminate redraws when input-only windows are shown or
3390         hidden. Thanks to jpe@archaeopteryx.com.
3391
3392 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
3393
3394         * docs/faq/gtk-faq.sgml: FAQ update:
3395           - Update to bugzilla
3396           - Add GTK+ and security/SUID/SGID
3397           - Add DnD question
3398
3399 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
3400
3401         * gdk/linux-fb/gdkdnd-fb.c:
3402         Some cleanups.
3403         
3404 2001-01-15  Havoc Pennington  <hp@pobox.com>
3405
3406         * tests/testtreeview.c: add test stuff for CellRendererToggle
3407
3408         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
3409         accessor
3410
3411         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
3412         only toggle on button press (would do release like GtkButton, but
3413         we'd need implicit grab code for treeview cells)
3414
3415 2001-01-16  Tor Lillqvist  <tml@iki.fi>
3416
3417         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
3418
3419         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
3420         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
3421
3422         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
3423         to g_{locale,filename}_{to,from}_utf8 to match current API.
3424
3425         * gtk/makefile.msc.in (gtk_OBJECTS)
3426         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
3427
3428         * gtk/gtk.def: Update.
3429
3430 2001-01-15  Tor Lillqvist  <tml@iki.fi>
3431
3432         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
3433         implementaion that more closely mimics the events that an X server
3434         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
3435         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
3436         with nested preview widgets, for instance, more responsive when
3437         you move the mouse quickly into them.
3438         (find_window_for_pointer_event): Make it actually compile.
3439         (gdk_event_translate): Set send_event to the value of
3440         InSendMessage (). This doesn't really mean the same as X11's
3441         send_event flag, but is close enough, says jpe@archaeopteryx.com
3442
3443 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3444
3445         * gdk/linux-fb/gdkdnd-fb.c:
3446         Implemented drag and drop.
3447         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
3448         when it tries to free and then copy the same event (info->last_event).
3449         I am not sure about why this happens, but will continue looking.
3450
3451 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3452
3453         * gdk/linux-fb/gdkwindow-fb.c:
3454         Use gdk_window_invalidate_rect instead of
3455         gdk_window_invalidate_rect_clear to minimise flashing.
3456         When hiding windows you need to clear the root window though.
3457
3458 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3459
3460         * gdk/linux-fb/gdkdrawable-fb2.c:
3461         For optization, add an full_shapes argument to gdk_fb_clip_region.
3462         If this is false, only the cliprects of the shapes are used.
3463
3464         * gdk/linux-fb/gdkprivate-fb.h:
3465         Export gdk_fb_window_peek_shape.
3466         Add full_shapes to gdk_fb_clip_region.
3467
3468         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
3469         When moving a window, don't clear everything under the it, just the
3470         root window. Makes stuff faster and flash less.
3471         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
3472         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
3473         offset of the shape.
3474         
3475
3476 2001-01-12  Havoc Pennington  <hp@redhat.com>
3477
3478         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
3479         current invalid region, fixes redraw bug while scrolling the 
3480         text widget
3481
3482         * gtk/gtktextview.c, gtk/gtktextview.h:
3483         Rearrange the scrolling/validation/etc. code in a major way, 
3484         so it seems to make sense to me. Probably isn't genuinely that
3485         much better, but...
3486
3487         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
3488         notifies
3489
3490         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
3491
3492 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
3493
3494         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
3495         Hide mouse pointer while rotation. Show it afterwards.
3496
3497 2001-01-12  Alexander Larsson  <alexl@redhat.com>
3498
3499         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
3500         windows in consideration when generating clip region.
3501
3502         * gdk/linux-fb/gdkfb.h:
3503         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
3504
3505         * gdk/linux-fb/gdkprivate-fb.h:
3506         Add shape to GdkWindowFBDatat.
3507         exported gdk_fb_window_get_abs_shape().
3508         removed gdk_fb_draw_lines declaration.
3509
3510         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
3511         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
3512         send focus changes when there is a grabbed window.
3513         (gdk_window_get_pointer): Handle shaped windows.
3514         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
3515         (gdk_fb_window_peek_shape): Returns the shape for a window,
3516         handles GDK_FB_USE_CHILD_SHAPE.
3517         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
3518         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
3519         (gdk_window_shape_combine_mask): Implement.
3520
3521         * gtk/gtkwindow-decorate.c:
3522         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
3523         setting the shape of a window makes the window transparent.
3524
3525 2001-01-11  Havoc Pennington  <hp@redhat.com>
3526
3527         * gtk/gtktreemodelsimple.h: Oops, broke some macros
3528
3529 2001-01-10  Havoc Pennington  <hp@redhat.com>
3530
3531         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
3532         add this function, bug 40251
3533
3534         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
3535         of type macro   
3536
3537 2001-01-11  Alexander Larsson  <alexl@redhat.com>
3538
3539         * acconfig.h:
3540         Added ENABLE_SHADOW_FB
3541
3542         * configure.in:
3543         Added --disable-shadowfb
3544
3545         * gdk/linux-fb/gdkcursor-fb.c:
3546         Update shadowfb when updating cursor
3547
3548         * gdk/linux-fb/gdkdrawable-fb2.c:
3549         Added wrappers for shadowfb that calls  the normal drawable
3550         methods, but calls gdk_shadow_fb_update(bounding box) when
3551         GdkWindows are drawed to.
3552         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
3553         which also returns the bounding box.
3554
3555         * gdk/linux-fb/gdkfb.h:
3556         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
3557
3558         * gdk/linux-fb/gdkgeometry-fb.c:
3559         Update shadowfb when scrolling window.
3560
3561         * gdk/linux-fb/gdkglobals-fb.c:
3562         Add _gdk_fb_screen_angle.
3563         
3564         * gdk/linux-fb/gdkkeyboard-fb.c:
3565         Test code for screen rotation. Shift-F2 in the xlate driver
3566         rotates the screen.
3567
3568         * gdk/linux-fb/gdkmain-fb.c:
3569         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
3570
3571         * gdk/linux-fb/gdkmouse-fb.c:
3572         Use fb_width/height instead of modeinfo.xres/yres.
3573
3574         * gdk/linux-fb/gdkprivate-fb.h:
3575         Added fb_men, fb_width, fb_height & fb_stride. When using
3576         shadow fb these can differ from the framebuffer stuff.
3577         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
3578         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
3579         _gdk_fb_screen_angle. Removed CM, RP.
3580
3581         * gdk/linux-fb/gdkrender-fb.c:
3582         Added code for shadowfb handling and screen rotation using
3583         shadowfb.
3584
3585         * gdk/linux-fb/gdkwindow-fb.c:
3586         Use fb_mem, fb_stride, fb_width, fb_height.
3587         Added recompute_rowstride to reset the rowstride of all windows.
3588         Added gdk_fb_recompute_all() which recomputes rootwindow size,
3589         window abs positions and window rowstrides. Usefull when the
3590         rotation has changed.
3591
3592 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
3593
3594         * docs/faq/gtk-faq.sgml: update to make web site updating easier
3595
3596 2001-01-10  Havoc Pennington  <hp@redhat.com>
3597
3598         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
3599         where sibling == iter
3600         (gtk_tree_store_insert_after): handle sibling == iter
3601         (gtk_tree_store_prepend): remove stamp checks
3602         (gtk_tree_store_insert_before): ditto
3603         (gtk_tree_store_append): ditto
3604         (gtk_tree_store_get_path): ditto
3605         (gtk_tree_store_get_value): ditto
3606         (gtk_tree_store_iter_has_child): ditto
3607         (gtk_tree_store_iter_n_children): ditto
3608         (gtk_tree_store_iter_nth_child): ditto
3609         (gtk_tree_store_insert_after): ditto
3610         (gtk_tree_store_is_ancestor): ditto
3611         (gtk_tree_store_iter_depth): ditto
3612         (gtk_tree_store_insert_before): assert that sibling's parent is
3613         the same as the passed-in parent
3614         (gtk_tree_store_insert_after): assert that sibling's parent is
3615         the same as the passed-in parent
3616
3617         
3618         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
3619         function to get the first iterator in a model
3620         
3621         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
3622         conventionally the "root" in this sense is just NULL afaict.
3623
3624         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
3625         where sibling == iter
3626         (gtk_list_store_insert_after): handle case where sibling == iter
3627
3628         * tests/testtreeview.c (run_automated_tests): fairly lame basic
3629         automated tests for ListStore, TreeStore
3630
3631         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
3632         (gtk_list_store_insert): update tail pointer, and fix it to work
3633         (gtk_list_store_insert_before): update tail pointer, and fix it to work
3634         (gtk_list_store_append): use tail to be faster
3635         (gtk_list_store_prepend): fix it, update tail pointer
3636         (gtk_list_store_insert_after): fix it, update tail pointer
3637
3638         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
3639         the list
3640
3641 2001-01-09  Havoc Pennington  <hp@redhat.com>
3642
3643         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
3644         is NULL due to a pending resize
3645
3646         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
3647         column width to values less than 1
3648
3649         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
3650         width to be between min/max width, and still set the width 
3651         even if autosize is turned on, so the tree view can use this 
3652         function in order to autosize.
3653         (gtk_tree_view_column_init): set initial width to 1 not 0
3654
3655         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
3656         setter function to modify column width, so we get notification
3657         (gtk_tree_view_insert_iter_height): ditto
3658         (gtk_tree_view_calc_size): ditto
3659         (gtk_tree_view_check_dirty): ditto
3660
3661         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
3662         properties to change all the interesting attributes of the tree
3663         view column.
3664         (gtk_tree_view_column_set_header_clickable): rename set_clickable
3665         (gtk_tree_view_column_get_clickable): add
3666         (gtk_tree_view_column_set_cell_renderer): don't unset the current
3667         attributes; assume a cell renderer with equivalent object
3668         properties has been swapped in. Do g_object_notify().
3669         (gtk_tree_view_column_set_visible): g_object_notify
3670         (gtk_tree_view_column_get_sizing): rename from get_col_type
3671         (gtk_tree_view_column_set_sizing): g_object_notify
3672         (gtk_tree_view_column_set_width): add g_object_notify
3673         (gtk_tree_view_column_set_min_width): ditto
3674         (gtk_tree_view_column_set_max_width): ditto
3675         (gtk_tree_view_column_set_title): ditto
3676         (gtk_tree_view_column_set_clickable): ditto
3677         (gtk_tree_view_column_set_widget): ditto
3678         (gtk_tree_view_column_set_justification): ditto
3679
3680 2001-01-09  Havoc Pennington  <hp@redhat.com>
3681
3682         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
3683         there are no rows in the model
3684
3685         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
3686         NULL, then return the start of the list
3687
3688         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
3689         if we can't get any rows from an empty model 
3690
3691         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
3692         extraneous * after function pointer typedef usage
3693
3694         * Makefile.am: don't specify full path to cp and rm
3695
3696         * gtk/gtkcellrenderertextpixbuf.c
3697         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
3698         NULL before dereferencing, fixes a segfault that happened from
3699         time to time
3700
3701         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
3702         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
3703         and reindent the function
3704         (gtk_cell_renderer_pixbuf_get_size): indentation
3705
3706         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
3707         we quit it
3708         (gtk_dialog_add_buttons_valist): add g_return_if_fail
3709         (gtk_dialog_set_default_response): New function, to set default
3710         button
3711         (gtk_dialog_set_response_sensitive): New function, to set 
3712         sensitivity of buttons
3713
3714         * gtk/gtkcellrendererpixbuf.c
3715         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
3716         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
3717
3718         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
3719         handle any G_TYPE_OBJECT subclass, not just the base class, and 
3720         also boxed types.
3721         (_gtk_tree_data_list_value_to_node): ditto
3722
3723         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
3724         --gtk-debug=tree
3725
3726         * gtk/gtkmain.c: add GTK_DEBUG_TREE
3727
3728         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
3729
3730 2001-01-09  Tor Lillqvist  <tml@iki.fi>
3731
3732         * gdk/win32/gdkevents-win32.c: Implement better mouse
3733         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
3734         (find_window_for_pointer_event): New function.
3735         (gdk_event_translate): Use it when handling mouse events.
3736
3737 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
3738
3739         * configure.in:
3740         Added --with-included-loaders option
3741
3742         * gdk-pixbuf/Makefile.am:
3743         * gdk-pixbuf/gdk-pixbuf-io.c:
3744         Add support for including selected gdk-pixbuf loaders only.
3745
3746         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
3747         gtk_window_set_has_frame):
3748         Added inline documentation.
3749
3750         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
3751         * docs/reference/gdk/tmpl/windows.sgml:
3752         Added inline documentation.
3753
3754 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
3755
3756         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
3757         realizing buttons that have already been realized.
3758
3759 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
3760
3761         * tests/testtreeview.c (main): Show menu items before adding to
3762         option menu.
3763
3764         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
3765         around if we kill them.
3766
3767         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
3768         Return if we pass in a NULL model.
3769
3770 2001-01-08  Havoc Pennington  <hp@redhat.com>
3771
3772         * tests/testtreeview.c: hack on this some
3773
3774         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
3775         gtk_tree_store_set_valist, v is for arrays, valist for varargs
3776         list
3777         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
3778
3779         * gtk/gtkliststore.h: Add varargs set() and get() convenience
3780         functions
3781
3782 2001-01-08  Alexander Larsson  <alexl@redhat.com>
3783
3784         * gtk/gtkwindow-decorate.[hc]:
3785         * gtk/Makefile.am:
3786         New files. Contains an implementation of a minimal WM for
3787         linux-fb.
3788
3789         * gtk/gtkwindow.h:
3790         Add the possibility for GtkWindows to specify a frame. This
3791         is used for the window decoration code, but could concievably
3792         be used for X programs too (xmms style windows).
3793         GtkWindow->frame is the toplevel window if the window is framed.
3794         The signal frame_event gets all events that are targeted to
3795         GtkWindow->frame.
3796         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
3797         
3798         * gtk/gtkwindow.c:
3799         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
3800         Call out to gtkwindow-decorate.c for WM support in linx-fb.
3801
3802 2001-01-08  Alexander Larsson  <alexl@redhat.com>
3803
3804         * docs/README.linux-fb:
3805         Correct filename ~/.pangoft2_aliases
3806
3807         * gdk/gdkwindow.h:
3808         Added new function gdk_window_get_decorations.
3809
3810         * gdk/linux-fb/gdkfb.h:
3811         Removed _gdk_window_get_decorations declaration.
3812         Renamed _gdk_window_set_child_handler to
3813         gdk_fb_window_set_child_handler.
3814
3815         * gdk/linux-fb/gdkwindow-fb.c:
3816         Renamed _gdk_window_set_child_handler to
3817         gdk_fb_window_set_child_handler.
3818
3819         * gdk/x11/gdkwindow-x11.c:
3820         New function gdk_window_get_mwm_hints().
3821         Implemented gdk_window_get_decorations.
3822
3823         * docs/reference/gdk/tmpl/windows.sgml:
3824         * docs/reference/gdk/gdk-sections.txt:
3825         Added gdk_window_get_decorations docs.
3826         
3827 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
3828
3829         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
3830         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
3831         gdk_fb_window_send_crossing_events):
3832         Possibly send focus events when the mouse moves from one
3833         window to another.
3834
3835 2001-01-07  Tor Lillqvist  <tml@iki.fi>
3836
3837         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
3838         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
3839         to match current API.
3840
3841         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
3842         environment variable is set, don't call g_error when on a
3843         palettized (PseudoColor) display. Some people want to use GTK+ 
3844         in 256-colour mode even though works only partially.
3845
3846         * gdk/gdk.def
3847         * gtk/gtk.def
3848         * gtk/makefile.mingw.in: Update.
3849
3850 2001-01-05  Havoc Pennington  <hp@redhat.com>
3851
3852         * tests/testtreeview.c: hack on this a bit
3853
3854         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
3855         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
3856
3857         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
3858         was spelled incorrectly
3859         (GTK_IS_TREE_MODEL_SIMPLE): ditto
3860
3861         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
3862         from gtk_tree_view_set_headers_active   
3863
3864         * gtk/gtktexttag.c:
3865         (gtk_text_tag_get_property): handle PROP_DIRECTION
3866         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
3867         properties, bug 40235
3868
3869         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
3870         forward_to_line_end
3871
3872 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
3873
3874         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
3875         modules/input/gtkimcontextxim.c: Adapt to new prototypes
3876         for unicode,locale,filename conversion functions.
3877
3878 2001-01-05  Havoc Pennington  <hp@redhat.com>
3879
3880         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
3881         broken if called on the first position in the buffer.
3882
3883         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
3884         forward_to_delimiters to be called only if we aren't already at
3885         the delimiters.
3886
3887 2001-01-05  Havoc Pennington  <hp@redhat.com>
3888
3889         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
3890
3891 2001-01-05  Alexander Larsson  <alexl@redhat.com>
3892
3893         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
3894         colormap in here. Sync from X port.
3895         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
3896         Sync from X port.
3897         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
3898         This happens now and then, and i don't think it is a bug.
3899         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
3900         != endpoint.
3901         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
3902         GDK_LINE_SOLID.
3903
3904         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
3905         some of the fields filled in at least.
3906
3907         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
3908         miLineArcD is no more, remove it from the function definition.
3909
3910 2001-01-04  Havoc Pennington  <hp@redhat.com>
3911
3912         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
3913         this
3914
3915         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
3916         user_data instead of tree_node
3917
3918         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
3919         TREE_VIEW_COLUMN_SIZE
3920
3921         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
3922         "size" field to "width" finishes bug 40061
3923
3924         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
3925         for bitfields, bug 40268
3926
3927 2001-01-04  Havoc Pennington  <hp@redhat.com>
3928
3929         Rename some stuff:
3930         
3931         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
3932
3933         s/GtkModelSimple/GtkTreeModelSimple/g;
3934         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
3935         s/gtk_model_simple/gtk_tree_model_simple/g;
3936         s/gtkmodelsimple/gtktreemodelsimple/g;
3937
3938         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
3939
3940         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
3941         s/column_set_col_type/column_set_sizing/g;
3942
3943         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
3944         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
3945
3946         s/GtkCellRendererType/GtkCellRendererState/g;
3947         
3948         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
3949         (gtk_cell_renderer_toggle_class_init): change "state" property to
3950         "active", to match GtkToggleButton
3951         (gtk_cell_renderer_toggle_get_active): new function, bug
3952         40269
3953         (gtk_cell_renderer_toggle_set_active): new function
3954         (gtk_cell_renderer_toggle_set_property): route changes to toggle
3955         state through gtk_cell_renderer_set_active
3956
3957 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
3958
3959         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
3960         temporarily until they work again.  Brought up to date with
3961         changes in the model.
3962         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
3963         model.
3964
3965 2001-01-04  Havoc Pennington  <hp@redhat.com>
3966
3967         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
3968         equal to the line length, then position iterator before paragraph 
3969         separators. Fixes crash reported by Mikael Hermansson when
3970         pressing left arrow from the start of a line.   
3971
3972         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
3973         about byte indexes off the end
3974         (iter_set_from_char_offset): add g_error about char offsets
3975         off the end
3976
3977 2001-01-03  Havoc Pennington  <hp@redhat.com>
3978
3979         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
3980
3981         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
3982         of private functions; remove inclusion of private headers.
3983
3984         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
3985         function, so we don't need private functions in gtktextdisplay.c
3986
3987         * gtk/gtktextiterprivate.h: underscore-ification
3988
3989         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
3990         to instead say "only useful to implement widgets"
3991
3992         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
3993         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
3994         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
3995
3996         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
3997         This function was completely broken
3998
3999         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
4000
4001         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
4002
4003         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
4004
4005         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
4006
4007         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
4008
4009         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
4010
4011         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
4012         gtk_paint_layout
4013
4014         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
4015         gtk_paint_layout
4016
4017         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
4018         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
4019         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
4020         which were not implemented.     
4021
4022         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
4023         insert_pixbuf signal. Rename delete_text to delete_range since it
4024         also deletes pixbufs and child anchors. This almost closes bug
4025         40245 (still need to deal with child anchors)
4026
4027         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
4028         insert_pixbuf, change signal names as appropriate, change types of
4029         signals taking marks/tags to have the specific type, not just
4030         G_TYPE_OBJECT
4031         
4032         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
4033         closes bug 40051
4034
4035         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
4036         unnecessary remove_contents() call
4037         (gtk_option_menu_class_init): add a "changed" signal, closes
4038         bug 40039
4039         (gtk_option_menu_update_contents): emit "changed" if the 
4040         active menu item changes
4041
4042         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
4043         cast to GtkObject, reported by Jonas Borgstrom
4044         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
4045         we can't do stuff with side effects in finalize. Instead, spew a
4046         warning if the loader isn't closed.
4047
4048         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
4049         colormap in here, non-X ports probably need to sync to this change
4050
4051         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
4052         assertion that colormap != NULL, you can set the colormap to NULL
4053         if you like.
4054         
4055         * Makefile.am: remove gtk-config-2.0
4056
4057         * configure.in: Use pkg-config to locate GLib. Remove
4058         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
4059         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
4060         Use pkg-config to locate Pango. Output correct Pango libs to
4061         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
4062
4063         * Makefile.am (pkgconfig_DATA): install only target-specific pc
4064         files
4065         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
4066         X11 pc files
4067
4068         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
4069         unref from here
4070
4071 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
4072
4073         * configure.in:
4074         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
4075
4076 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
4077
4078         * gtk/gtktextlayout.c
4079         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
4080         variable when moving back onto a single line.
4081
4082 2001-01-01  Havoc Pennington  <hp@redhat.com>
4083
4084         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
4085
4086         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
4087
4088         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
4089         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
4090
4091 2001-01-01  Havoc Pennington  <hp@redhat.com>
4092
4093         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
4094
4095         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
4096         GtkTextAttributes
4097
4098         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
4099         #40246
4100         (gtk_text_attributes_copy_values): rename from 
4101         gtk_text_attributes_copy
4102         (gtk_text_attributes_copy): a more standard GTK copy function, 
4103         which returns a new object
4104
4105 2001-01-01  Havoc Pennington  <hp@redhat.com>
4106
4107         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
4108         
4109         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
4110         don't fill in tree_view->priv->selection, kind of an unexpected
4111         side effect
4112
4113         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
4114         gtkintl.h
4115         
4116         * gtk/gtkcellrenderer.c: Remove definition of _ and include
4117         gtkintl.h
4118         (gtk_cell_renderer_get_property): remove calls to g_value_init
4119
4120         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
4121         gtkintl.h
4122
4123         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
4124         and include gtkintl.h
4125         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
4126         property names
4127
4128         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
4129         GtkTreeSelection
4130         (_gtk_tree_selection_new_from_with_view): rename, return
4131         GtkTreeSelection
4132         (_gtk_tree_selection_set_tree_view): rename with uscore
4133         (gtk_tree_selection_get_selected): fill in the "model" out param
4134         first, so it gets filled in even if we return at the top of the 
4135         function
4136         (gtk_tree_selection_real_select_all): add a comment and an else{}
4137         to clarify this a bit
4138         (gtk_tree_selection_real_unselect_all): add the same else{}
4139
4140         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
4141         set_tree_view to have underscore prefixes, move them to the
4142         private header, fix return type of new_with_tree_view
4143         (struct _GtkTreeSelection): mark struct
4144         fields private  
4145
4146         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
4147         GtkTreeModelFlags, not a guint
4148         (gtk_tree_path_prev): return gboolean not gint
4149         (gtk_tree_path_up): return gboolean not gint
4150
4151         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
4152         return GtkTreeModelFlags, not a guint
4153
4154         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
4155         that child model is non-null before unrefing it
4156         (g_value_int_compare_func): make this a qsort compare func, not 
4157         a boolean predicate
4158
4159         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
4160         (add -umn to the end), and mark it unimplemented
4161         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
4162         I don't see what it's for - doesn't the model always sort itself?
4163         (gtk_tree_model_sort_set_compare): this had the wrong signature
4164
4165         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
4166         Fix the docs to say that it destructively replaces existing
4167         attributes (previously said that it added attributes).
4168         (gtk_tree_view_column_set_visible): canonicalize bool before
4169         equality testing. Also, check for realization before
4170         hiding/showing the tree_column->window; if this window could exist
4171         before realization, then it's busted and needs fixing, we can't 
4172         create GDK resources pre-realization. Also, remove
4173         superfluous queue_resize(), since set_size() does that for us.
4174         (gtk_tree_view_column_set_col_type): check realization before 
4175         using tree_column->window
4176
4177         * gtk/gtktreedatalist.c: fix filename in copyright notice
4178
4179 2000-12-31  Havoc Pennington  <hp@pobox.com>
4180
4181         * gtk/gtktextview.c: Rearrange all the
4182         scroll-while-dragging-or-selecting code to be different, not
4183         necessarily better. ;-)
4184         (gtk_text_view_scroll_to_mark): Change this
4185         function to take within_margin as a fraction instead of a pixel
4186         value, and to take alignment arguments (indicating where to align 
4187         the mark inside the visible area)
4188         
4189         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
4190         to GtkObject
4191
4192         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
4193         behavior so that offsets past the end of the line are not 
4194         allowed, and an offset equal to the line length moves the iterator
4195         to the next line
4196         (gtk_text_iter_set_line_index): make parallel change
4197         (gtk_text_iter_get_bytes_in_line): add this function
4198         
4199         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
4200         of byte indexes off the end of the line; byte index at the end of
4201         the line now returns FALSE and doesn't fill in the requested
4202         values, byte index past the end of the line is an error.  Also,
4203         don't allow -1 offset anymore, since its meaning is unclear.
4204
4205         This change exposes some bug in visual cursor motion, where we
4206         end up with a huge invalid byte index; needs fixing. Symptom of 
4207         bug is a crash when you hit up arrow.
4208         
4209         (_gtk_text_line_char_locate): match the change to byte_locate
4210
4211         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
4212         from start of line properly. fixes bug reported by Mikael
4213         Hermansson where backspace would delete all text before the
4214         cursor.
4215
4216 2000-12-30  Tor Lillqvist  <tml@iki.fi>
4217
4218         * gdk/win32/gdkwindow-win32.c
4219         (gdk_window_impl_win32_get_visible_region): New function, as in
4220         the X11 backend.
4221         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
4222         instead of duplicating the same code here.
4223
4224         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
4225         GDK_COLORMAP macro.
4226
4227         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
4228         destroy function.
4229         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
4230         access that.
4231
4232         * gtk/gtk.def: Update.
4233
4234         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
4235
4236 2000-12-30  Havoc Pennington  <hp@pobox.com>
4237
4238         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
4239         colormap on input only windows, to avoid special cases all over
4240         the code for these windows.
4241
4242 2000-12-26  Tor Lillqvist  <tml@iki.fi>
4243
4244         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
4245         we are on a palettized display ("PseudoColor" in X11), as the code
4246         for that doesn't work anyway, and never has.
4247
4248 2000-12-22  Alexander Larsson  <alexl@redhat.com>
4249
4250         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
4251         Don't use isprint() for chars > 255.
4252
4253 2000-12-21  Havoc Pennington  <hp@redhat.com>
4254
4255         * tests/testtreeview.c: more work
4256
4257 2000-12-21  Alexander Larsson  <alexl@redhat.com>
4258
4259         * docs/README.linux-fb:
4260         Update the docs to the new pangoft2 way.
4261
4262 2000-12-21  Alexander Larsson  <alexl@redhat.com>
4263
4264         * configure.in:
4265         For linux-fb get the pangoft2 cflags and libs. This needs a recent
4266         pango version.
4267         Remove modules/linux-fb/Makefile.
4268
4269         * gdk/linux-fb/gdkdrawable-fb2.c:
4270         Render glyphs using freetype.
4271
4272         * gdk/linux-fb/gdkfb.h:
4273         Add new fb-specific functions needed for managing windows.
4274
4275         * gdk/linux-fb/gdkmain-fb.c:
4276         Remove gdk_font_init/fini() calls.
4277
4278         * gdk/linux-fb/gdkpango-fb.c:
4279         Remove old implementation. Use pangoft2 instead.
4280
4281         * gdk/linux-fb/gdkprivate-fb.h:
4282         Remove PangoFBFont and related stuff.
4283
4284         * gdk/linux-fb/gdkwindow-fb.c:
4285         Implement drawable->get_visible_region.
4286         Implement support for _gdk_window_set_child_handler () and
4287         _gdk_window_get_decorations().
4288
4289         * modules/Makefile.am:
4290         Remove linux-fb subdir.
4291
4292         * modules/linux-fb/*:
4293         Removed all.
4294         
4295 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
4296
4297         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
4298         calls, as they are no longer needed.
4299
4300         * gtk/gtktreemodelsort.c: Fix up the comparison code.
4301         
4302         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
4303         figure out how to emit a signal on an interface.
4304
4305 2000-12-20  Havoc Pennington  <hp@redhat.com>
4306
4307         * tests: new directory to contain tests, gtk/test* should move
4308         here sometime (with appropriate on-cvs-server hackery)
4309
4310         * tests/testtreeview.c, tests/Makefile.am: a test
4311         
4312         * configure.in (AC_OUTPUT): add tests/Makefile
4313
4314         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
4315         and "invisible_set" which were missing
4316
4317         * gtk/gtkrbtree.h: some cheesy indentation fix
4318         
4319 2000-12-20  Alexander Larsson  <alexl@redhat.com>
4320
4321         * gtk/gtkinvisible.c (gtk_invisible_realize):
4322         Attach the style to the window so that the style it is not
4323         leaked when unrealizing the window.
4324
4325 2000-12-18  Havoc Pennington  <hp@redhat.com>
4326
4327         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
4328         begin/end user action where appropriate
4329         (gtk_text_view_commit_handler): add begin/end user action
4330
4331         * gtk/gtktextbuffer.c: add begin/end user action signals, and
4332         bracket interactive operations with begin/end user action pair.
4333         
4334         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
4335         "interactive" arg from insert_text and delete_text signals.
4336         Add begin_user_action, end_user_action signals
4337         (gtk_text_buffer_begin_user_action): 
4338         (gtk_text_buffer_end_user_action): New functions to delimit 
4339         a user-visible action
4340
4341         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
4342         signals.
4343         
4344 2000-12-18  Havoc Pennington  <hp@redhat.com>
4345
4346         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
4347         was pretty non-working.
4348
4349         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
4350         by passing the length to g_utf8_validate().
4351
4352 2000-12-16  Havoc Pennington  <hp@pobox.com>
4353
4354         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
4355         Port to GObject, can go back in gdk-pixbuf after setting up 
4356         a gdk-pixbuf-marshal.h header over there.
4357
4358         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
4359         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
4360         args
4361         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
4362         set
4363         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
4364         here, do it when we create the buttons later
4365         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
4366         (gtk_tree_view_map): paranoia checks that column->button is shown 
4367         and unmapped
4368         (gtk_tree_view_size_request): only request visible children.
4369         Move header size calculation in here, for cleanliness, and 
4370         to maintain invariants for child widgets if we eventually 
4371         let users set different children inside the buttons
4372         (gtk_tree_view_map_buttons): factor out code to map buttons,
4373         since it was being called several times
4374         (gtk_tree_view_size_allocate_buttons): move_resize the drag
4375         windows instead of just moving them; their height may change 
4376         if we allow random widgets in there, or the theme changes.
4377         (gtk_tree_view_size_allocate): move button size allocation 
4378         above emitting the scroll signals, to ensure a sane state when we
4379         hit user code
4380         (gtk_tree_view_button_release): remove queue_resize after
4381         tree_view_set_size(), set_size() will handle any resize queuing
4382         that's needed
4383         (gtk_tree_view_focus_in): just queue a draw, don't fool with
4384         draw_focus goo
4385         (gtk_tree_view_focus): use gtk_get_current_event() and
4386         gdk_event_get_state()
4387         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
4388         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
4389         semicolon
4390         (gtk_tree_view_create_button): show the button here
4391         (gtk_tree_view_button_clicked): actually emit the clicked signal
4392         on the column
4393         (_gtk_tree_view_set_size): return right away if the size is
4394         unchanged, as a cheesy optimization
4395         (gtk_tree_view_setup_model): rename set_model_realized to 
4396         setup_model to match the flag that indicates whether we've 
4397         called it
4398         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
4399         exist, because set_scroll_adjustment does that and it shouldn't
4400         matter what order you call these in
4401         (gtk_tree_view_get_vadjustment): ditto
4402         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
4403         for paranoia
4404         (gtk_tree_view_set_headers_visible): call
4405         gtk_tree_view_map_buttons() instead of using cut-and-paste code
4406         (gtk_tree_view_append_column): clarify whether the return value
4407         is the count of columns before or after, and do the increment 
4408         separately from the return statement so you can tell from the code.
4409         (gtk_tree_view_remove_column): ditto
4410         (gtk_tree_view_insert_column): ditto
4411         (gtk_tree_view_get_column): remove g_return_if_fail for columns
4412         outside the existing range, the docs say that outside-range
4413         columns are allowed, so we handle them as documented. (Presumably
4414         this allows a nice loop with column != NULL as test.)
4415         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
4416         mean (left/right/center etc.).
4417         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
4418         (gtk_tree_view_expand_row): add docs
4419         (gtk_tree_view_collapse_row): add docs
4420
4421         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
4422         function to emit the clicked signal on a column
4423         
4424         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
4425         state of an event
4426         (gdk_event_get_time): don't treat GDK_SCROLL 
4427         as a button event, remove default case from switch so gcc 
4428         will whine if we don't explicitly handle all event types
4429
4430         * gtk/gtktreeselection.h: added some FIXME 
4431         
4432         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
4433         "columns" to "n_columns" and "column" to "columns" for clarity
4434
4435 2000-12-16  Havoc Pennington  <hp@pobox.com>
4436         
4437         * gtk/gtktextiter.c: General cleanup of the log attr iteration
4438         stuff. This should make e.g. the delete key work again in the
4439         text widget...
4440         (gtk_text_iter_forward_cursor_positions): handle negative count
4441         (gtk_text_iter_backward_cursor_positions): handle negative count
4442         (gtk_text_iter_forward_word_ends): handle negative count
4443         (gtk_text_iter_backward_word_starts): handle negative count
4444
4445         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
4446         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
4447         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
4448         GObject. No doubt will cause breakage.
4449
4450         * demos/gtk-demo/textview.c: remove hacks around
4451         non-GObject-ification of the text objects
4452
4453         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
4454         the text tag
4455         
4456 2000-12-14  Havoc Pennington  <hp@pobox.com>
4457
4458         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
4459         that we have Xrender
4460
4461 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
4462
4463         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
4464         Add two virtualized functions gdk_drawable_get_clip_region - to
4465         get the clip region when drawing.
4466         
4467         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
4468         use invalidate_region.
4469
4470         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
4471         region.
4472
4473         * acconfig.h configure.in: Check for Xft. For now, assume
4474         that if Xft is found, Pango was compiled with Xft support
4475         as well.
4476
4477         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
4478         gdk_colormap_query_color().
4479         
4480         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
4481         with Xft if appropriate.
4482
4483         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
4484         a pangoxft context if we have XFT and the environment
4485         variable GD_USE_XFT is set.
4486         
4487         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
4488         and also possibly an XftDraw structure.
4489
4490         * gtk/gtkfontsel.c: Handle the case where the font from the
4491         style doesn't match any of the fonts a bit better.
4492         
4493         * gtk/testgtk.c: Add tabs between directional segments for
4494         hebrew/arabic test. (Not really necessary, just a little
4495         prettier.)
4496
4497 2000-12-14  Havoc Pennington  <hp@redhat.com>
4498
4499         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
4500         reading a file
4501
4502 2000-12-14  Havoc Pennington  <hp@redhat.com>
4503
4504         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
4505         unused call to get_last_line()
4506
4507         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
4508         here until boxed is working (and maybe after that - we should
4509         really not gratuitously break old code)
4510
4511         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
4512         specific types for font_desc and tabs args, move them to
4513         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
4514         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
4515
4516         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
4517         use GTK_TYPE_POINTER for signal signatures as a hack-around
4518
4519         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
4520         PangoTabArray
4521
4522         * gtk/gtktextlayout.c (line_display_iter_to_index): 
4523         make static
4524         (line_display_index_to_iter): make static
4525
4526         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
4527         to marshal a string not a boxed
4528
4529         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
4530
4531         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
4532         since the UTF-8 isn't validated yet
4533
4534         * gtk/gtktextsegment.c (char_segment_check_func): don't require
4535         lines to end in '\n'
4536         
4537         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
4538         forward_to_delimiters, and grapheme boundaries
4539         (gtk_text_view_delete_from_cursor): properly handle non-newline
4540         delimiters, and grapheme boundaries
4541
4542         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
4543         to gtk_text_iter_forward_to_delimiters, and make it work properly
4544         if empty lines end with a character other than '\n'
4545
4546         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
4547         position
4548
4549 2000-12-15  Tor Lillqvist  <tml@iki.fi>
4550
4551         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
4552
4553         * gtk/gtk.def
4554         * gdk/gdk.def: Update.
4555
4556         * gdk/win32/gdkmain-win32.c
4557         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
4558         gdkmain-win32.c here.
4559
4560         * gdk/win32/makefile.mingw.in (all): No need to make
4561         gdk-win32res.o here, the makefile one step up will call us to make
4562         it.
4563
4564         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
4565         gdkkeys-win32.
4566
4567         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
4568
4569         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
4570         call to g_source_add().
4571
4572         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
4573         leak. Thanks to Andreas Kemnade.
4574
4575 2000-12-13  Havoc Pennington  <hp@pobox.com>
4576
4577         * gtk/gtktextbtree.h: Remove double _ in front of some functions
4578
4579         * gtk/gtktext*.[hc]: update accordingly
4580         
4581 2000-12-13  Havoc Pennington  <hp@pobox.com>
4582
4583         * gtk/gtktextbtree.h: Put _ in front of every function in this 
4584         header file
4585
4586         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
4587
4588 2000-12-13  Alex Larsson  <alexl@redhat.com>
4589
4590         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
4591         Add support for ps2 intellimouse.
4592
4593         * gdkkeyboard-fb.c:
4594         Move shift-F1 repaint handling to xlate handler only.
4595         
4596         * docs/README.linux-fb:
4597         Add imps2 to docs.
4598         Document the new refresh keys.
4599         
4600 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
4601
4602         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
4603
4604         * gtk/gtkbox.c: change property types from (u)long to (u)int for
4605         ::position and ::padding.
4606
4607         * gtk/gtkcontainer.c: make ::border_width an INT property.
4608
4609         * gtk/gtkpacker.c: make ::position an INT property.
4610
4611         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
4612         guard against NULL h/v scrollbars, since this is used at construction
4613         time.
4614
4615         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
4616         internal gtk_clist_constructor().
4617
4618         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
4619         gtk_ctree_constructor().
4620
4621         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
4622         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
4623
4624         * docs/reference/Makefile.am: fun stuff, disabled docs generation
4625         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
4626
4627         * gtk/gtkwidget.[hc]:
4628         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
4629         and gtk_widget_get().
4630         (gtk_widget_new): use g_object_new_valist().
4631         (gtk_widget_set): use g_object_set_valist().
4632
4633         * gtk/gtkobject.[hc]:
4634         removed gtk_object_arg_get_info(), gtk_object_getv(),
4635         gtk_object_query_args(), gtk_object_newv(),
4636         gtk_object_class_add_signals(),
4637         gtk_object_class_user_signal_new(),
4638         gtk_object_class_user_signal_newv(),
4639         gtk_object_arg_set(), gtk_object_arg_get(),
4640         gtk_object_args_collect(),
4641         gtk_object_default_construct(),
4642         gtk_object_constructed(),
4643         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
4644         removed nsignals, signals and n_args members from GtkObjectClass.
4645         (gtk_object_new): use g_object_new_valist().
4646         (gtk_object_set): use g_object_set_valist().
4647         (gtk_object_get): use g_object_get_valist().
4648         
4649         * gtk/gtkcompat.h: define gtk_object_default_construct().
4650         
4651         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
4652         g_object_new().
4653
4654         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
4655         fucntions, cleaned up method assignments (make sure your structures
4656         are setup properly before calling out). removed all GTK_CONSTRUCTED
4657         hacks ;)
4658
4659 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
4660
4661         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
4662         off-by-one error in checks. (Dave Lambert)
4663
4664 2000-12-12  Alexander Larsson  <alexl@redhat.com>
4665
4666         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
4667         Don't free gdk_fb_keyboard twice.
4668
4669 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
4670
4671         * gtk/testgtk.c:
4672         (create_tooltips): 
4673         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
4674         use GObject swapped_signal:: properties instead.
4675
4676         * gtk/gtkcellrenderertoggle.c: 
4677         * gtk/gtkcellrenderertextpixbuf.c: 
4678         * gtk/gtkcellrenderertext.c: 
4679         * gtk/gtkcellrendererpixbuf.c: 
4680         * gtk/gtkcellrenderer.c:
4681         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
4682         missing warnings for invalid property ids, install properties
4683         with g_object_class_install_property() now.
4684         
4685         * gtk/gtksignal.c:
4686         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
4687         
4688 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
4689         
4690         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
4691         to determine if a window is the focus widget within
4692         its toplevel.
4693
4694         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
4695         to be boolean.
4696
4697         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
4698         of the case where the container CAN_FOCUS to here instead
4699         of having it in each individual move-the-focus place.
4700
4701         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
4702         focusing to be geometric in a much more obvious sense. Arrowing
4703         around is still non-intuitive because it isn't perfect and
4704         because entries, etc, grab the arrow keys, but it at least
4705         usually will do what you expect now.
4706         
4707         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
4708         file.
4709
4710         * gtk/gtknotebook.c: Change tabs to be a single item in
4711         the focus chain. Make movement of focus on tabs with arrow
4712         keys wrap around.
4713         
4714         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
4715         CHECK_FIND_CHILD macro to give informative error messages
4716         instead of silent returns.
4717
4718         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
4719         flag since we handle GdkReturn on the tabs.
4720
4721         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
4722         windows rather than sending expose events directly.
4723
4724         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
4725         definition for GtkNotebookPage into .c file, since it is private.
4726
4727         * gtk/testgtk.c (create_notebook): Add option for 
4728         testing borderless notebook.
4729
4730         * gtk/testgtk.c (page_switch): Removed egregious poking
4731         around in GTK+ internals.
4732
4733         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
4734
4735         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
4736         properly through gtk_clist_focus. Make the title headers a
4737         single item in the tab-focus chain, and make left-right wrap
4738         around.
4739
4740         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
4741         focus method so that wrapping around works properly.
4742
4743         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
4744         that is handled for the widget now. 
4745
4746 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
4747
4748         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
4749         widgets as TOPLEVEL.
4750
4751         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
4752         TOPLEVEL widgets are containers.
4753
4754         * gtk/gtkinvisible.h: Remove useless include.
4755
4756 2000-12-11  Havoc Pennington  <hp@redhat.com>
4757
4758         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
4759         Handle chopping off \r\n and 0x2029 in addition to \n before
4760         passing to PangoLayout
4761
4762         * gtk/gtkimcontextsimple.c
4763         (gtk_im_context_simple_get_preedit_string): 
4764         return an empty string if no match is pending
4765
4766         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
4767         assertion that the returned preedit string was sane
4768
4769         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
4770         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
4771         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
4772
4773 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
4774
4775         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
4776         Fix up finalizer to chain to its parent.
4777
4778 2000-12-11  Alexander Larsson  <alexl@redhat.com>
4779
4780         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
4781         Clearified the difference between the keyboard types. Wrote a note
4782         about the magic sysrq key to get out of raw mode.
4783
4784 2000-12-09  James Henstridge  <james@daa.com.au>
4785
4786         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
4787         member to hold masks for detecting the start of a protocol packet.
4788         (mouse_devs): add packet start masks for ps2 and ms device types.
4789         Left the mask for fidmour blank, as I have no idea what it should
4790         be.
4791         (handle_mouse_io): skip bytes until we get to the start of a
4792         packet.  My Logitech mouse seems to be passing an extra NULL pad
4793         byte, and GPM does a similar thing here.
4794         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
4795         this is the ms mouse driver.
4796         (gdk_fb_mouse_ms_packet): fix up button handling, which was
4797         completely broken except for button1.  It was checking the wrong
4798         bit in the packet for the status of the right mouse button, and
4799         wrongly assuming right == button2 rather than 3.  I fixed that and
4800         also added support for middle button (button2).
4801
4802 2000-12-08  Havoc Pennington  <hp@redhat.com>
4803
4804         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
4805         that cause a segfault on text insertion
4806
4807         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
4808         warning
4809
4810         * gtk/gtktextiter.c (test_log_attrs): use
4811         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
4812
4813         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
4814         Get log attrs for a line, using a cache stored on the buffer
4815         
4816         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
4817         reported by Jeff Franks
4818
4819 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4820
4821         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
4822         /dev/ttyS0 -> /dev/mouse
4823
4824 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4825
4826         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
4827         Added dummy gdk_fontset_load.
4828
4829 2000-12-08  Alexander Larsson  <alexl@redhat.com>
4830
4831         * docs/README.linux-fb:
4832         * docs/Makefile.am:
4833         Initial GtkFB docs.
4834         
4835         * gdk/linux-fb/Makefile.am:
4836         Define GDK_DATA_PREFIX.
4837
4838         * gdk/linux-fb/gdkmain-fb.c:
4839         Fix typo.
4840         Change default display to /dev/fb0.
4841
4842         * gdk/linux-fb/gdkpango-fb.c:
4843         Add $(prefix)/share/fonts/ to font path.
4844         
4845 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4846
4847         * gdk/linux-fb/gdkkeyboard-fb.c:
4848         New file containing the abstracted keyboard driver. Most code
4849         taken from gdkinput-ps2.c
4850
4851         * gdk/linux-fb/gdkinput-ps2.c:
4852         Removed file.
4853         
4854         * gdk/linux-fb/Makefile.am:
4855         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
4856
4857         * gdk/linux-fb/gdkcolor-fb.c:
4858         display->fb was renamed to display->fb_fd.
4859
4860         * gdk/linux-fb/gdkcursor-fb.c:
4861         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4862
4863         * gdk/linux-fb/gdkinput.c:
4864         Moved gdk_input_init here from gdkinput-ps2.c
4865
4866         * gdk/linux-fb/gdkmain-fb.c:
4867         display->fb was renamed to display->fb_fd.
4868         Now the tty and the console is opened here instead
4869         of in the keyboard driver. Also check GDK_VT to see what
4870         tty to open.
4871         Move gdk_beep () here from gdkinput-ps2.c
4872         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4873
4874         * gdk/linux-fb/gdkmouse-fb.c:
4875         Add header.
4876         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4877         Return correct keyboard modifiers.
4878         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
4879
4880         * gdk/linux-fb/gdkprivate-fb.h:
4881         Add tty and vt info to display.
4882         Add orignal modeinfo storage to display
4883         Update global functions
4884
4885         * gdk/linux-fb/gdkwindow-fb.c:
4886         Added gdk_fb_window_find_focus().
4887         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4888
4889 2000-12-07  Havoc Pennington  <hp@pobox.com>
4890
4891         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
4892         function, noticed by Alex
4893
4894 2000-12-06  Elliot Lee  <sopwith@redhat.com>
4895
4896         * configure.in: Detect freetype properly
4897
4898         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
4899         above.
4900
4901 2000-12-06  Alexander Larsson  <alexl@redhat.com>
4902
4903         * gdk/linux-fb/Makefile.am:
4904         Add gdkmouse-fb.c
4905         
4906         * gdk/linux-fb/gdkmouse-fb.c:
4907         New file. Abstracted the mouse drivers a bit.
4908
4909         * gdk/linux-fb/gdkcursor-fb.c:
4910         The cursor hide/show functions was moved here from gdkinput-ps2.c.
4911
4912         * gdk/linux-fb/gdkinput-ps2.c:
4913         Removed old mouse handling code. Moved cursor handling code
4914         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
4915         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
4916         gdk_mouse_get_info.
4917
4918         * gdk/linux-fb/gdkmain-fb.c:
4919         Pass NULL pointers for x,y in gdk_mouse_get_info call.
4920
4921         * gdk/linux-fb/gdkprivate-fb.h:
4922         Removed public gdk_fb_find_common_ancestor, added and renamed
4923         functions for the new mouse handling code.
4924
4925         * gdk/linux-fb/gdkwindow-fb.c:
4926         Moved gdk_fb_window_send_crossing_events here. added global
4927         variable gdk_fb_window_containing_pointer. made
4928         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
4929         renamed to gdk_mouse_get_info.
4930
4931 2000-12-06  Alexander Larsson  <alexl@redhat.com>
4932
4933         * gdk/linux-fb/gdkevents-fb.c:
4934         Update to match latest gmain/gsource changes.
4935
4936         * gdk/linux-fb/gdkinput-ps2.c:
4937         Bogus gdk_keymap_get_entries_for_keycode implementation so that
4938         it links. Will be implemented later.
4939
4940 2000-12-03  Havoc Pennington  <hp@pobox.com>
4941
4942         * gdk/Makefile.am: add gdkkeys.[hc]
4943
4944         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
4945         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
4946
4947         * acconfig.h, configure.in: add checks and command line options
4948         for XKB
4949
4950         * gdk/x11/gdkkeys-x11.c: Implement the above functions
4951         
4952         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
4953         and group in the key event
4954
4955         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
4956         field with the low-level hardware key code, and a group
4957         field with the keyboard group
4958
4959         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
4960         and declare a couple globals used for keymap handling
4961         
4962         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
4963         hold down Shift-Control and type a hex number to get a Unicode 
4964         character corresponding to the hex number
4965         (gtk_im_context_simple_get_preedit_string): Fix cursor position
4966         (return bytes not chars)
4967
4968 2000-12-05  Elliot Lee  <sopwith@redhat.com>
4969
4970         * gdk/gdkcolor.h: Make GdkColor specify element sizes
4971         to avoid waste on 64-bit platforms.
4972
4973 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
4974
4975         * INSTALL: Fix link to PNG home, remove reference
4976         to fribidi.
4977
4978         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
4979         
4980         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
4981         tested.)
4982
4983         * gtk/gtkcheckmenuitem.c: Permanently turn on
4984         always_show_toggle.
4985
4986         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
4987         be NULL. (Vladimir Klebanov, #26545)
4988
4989         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
4990         some signed/unsigned comparison problems. (#6510,
4991         David Kaelbling)
4992
4993         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
4994         return type to boolean (Oskar Liljeblad, #18648)
4995
4996 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4997
4998         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
4999         Remove bogus colormap setting.
5000
5001 2000-12-05  Alexander Larsson  <alexl@redhat.com>
5002
5003         * gdk/linux-fb/gdkcolor-fb.c:
5004         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
5005
5006         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
5007         Must set colormap.
5008         
5009 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
5010
5011         * docs/tutorial/gtk-tut.sgml: DND updates
5012
5013 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
5014
5015         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
5016         Remove old debug g_warning().
5017         (gdk_fb_draw_drawable): The src argument can be either a wrapper
5018         or an implementation, just pass the implementation to draw_drawable_2.
5019         
5020         * gdk/linux-fb/gdkprivate-fb.h:
5021         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
5022
5023         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
5024         clear and invalidate area when window is destroyed.
5025         (send_map_events): Remove old commented out code.
5026
5027 2000-12-05  Alexander Larsson  <alexl@redhat.com>
5028
5029         * gdk/linux-fb/gdkpango-fb.c:
5030         Use italic instead of oblique in font aliases.
5031         
5032         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
5033         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
5034         other unsupported functions.
5035
5036 2000-12-04  Havoc Pennington  <hp@redhat.com>
5037
5038         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
5039
5040         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
5041
5042         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
5043
5044         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
5045         hack to avoid infinite loops (synthetic expose event) - 
5046         Owen has more appropriate fixes in a branch he'll check in later.
5047
5048         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
5049         separator, CR, and CRLF as line ends
5050
5051         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
5052         into lines using pango_find_paragraph_boundary(); other bits of
5053         the widget are still going to be broken if the boundary isn't '\n'
5054         though
5055
5056 2000-12-04  Alexander Larsson  <alexl@redhat.com>
5057
5058         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
5059         multiply.
5060
5061         * gdk/linux-fb/gdkpango-fb.c:
5062         Copied some 26.6 scaling macros from pango to clean up the rounding.
5063         (pango_fb_font_get_glyph_info): Correct sign on x value.
5064
5065         * gdk/linux-fb/gdkprivate-fb.h:
5066         Removed unreferenced external functions.
5067
5068         * modules/linux-fb/Makefile.am: Use ` instead of '.
5069
5070         * modules/linux-fb/basic.c:
5071         Remove dead code. In particular the dummy lang engine which broke all
5072         pango layouts in GtkFB. Don't include tables-big.i anymore.
5073
5074         * modules/linux-fb/tables-big.i:
5075         Upgrade to latest version from pango. Left for reference, basic_ranges
5076         moved to basic.c.
5077         
5078 2000-12-04  Havoc Pennington  <hp@redhat.com>
5079
5080         Fix bugs Alex found:
5081         
5082         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
5083         to "draw"
5084
5085         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
5086
5087         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
5088
5089         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
5090         implementation in here, apparently the expose() implementation was
5091         dead code.
5092
5093 2000-12-04  Alexander Larsson  <alexl@redhat.com>
5094
5095         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
5096         Return positive descent.
5097
5098 2000-12-02  Havoc Pennington  <hp@pobox.com>
5099
5100         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
5101         method and signal
5102         
5103         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
5104         calls gdk_window_process_updates() to push the exposes through
5105         (gtk_widget_class_init): No more draw signal, no
5106         gtk_widget_real_draw()  
5107         
5108         * gtk/gtkbin.c (gtk_bin_draw): remove
5109
5110         * gtk/gtkbox.c (gtk_box_draw): remove
5111
5112         * gtk/gtkbutton.c (gtk_button_draw): remove
5113
5114         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
5115
5116         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
5117
5118         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
5119
5120         * gtk/gtkclist.c (gtk_clist_draw): remove
5121
5122         * gtk/gtkentry.c (gtk_entry_draw): remove
5123
5124         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
5125
5126         * gtk/gtkfixed.c (gtk_fixed_draw): remove
5127
5128         * gtk/gtkframe.c (gtk_frame_draw): remove
5129
5130         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
5131
5132         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
5133
5134         * gtk/gtklayout.c (gtk_layout_draw): remove
5135
5136         * gtk/gtklist.c (gtk_list_draw): remove
5137
5138         * gtk/gtklistitem.c (gtk_list_item_draw): remove
5139
5140         * gtk/gtkmenu.c (gtk_menu_draw): remove
5141
5142         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
5143
5144         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
5145
5146         * gtk/gtknotebook.c (gtk_notebook_draw): remove
5147
5148         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
5149
5150         * gtk/gtkpacker.c (gtk_packer_draw): remove
5151
5152         * gtk/gtkrange.c (gtk_range_draw): remove
5153
5154         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
5155
5156         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
5157
5158         * gtk/gtktable.c (gtk_table_draw): remove
5159
5160         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
5161
5162         * gtk/gtktext.c (gtk_text_draw): remove
5163
5164         * gtk/gtktextview.c (gtk_text_view_draw): remove
5165
5166         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
5167
5168         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
5169
5170         * gtk/gtktree.c (gtk_tree_draw): remove
5171
5172         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
5173
5174         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
5175
5176         * gtk/gtkviewport.c (gtk_viewport_draw): remove
5177
5178         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
5179
5180         * gtk/gtkvscale.c (gtk_vscale_draw): remove
5181
5182         * gtk/gtkwindow.c (gtk_window_draw): remove
5183
5184 2000-20-01  Anders Carlsson  <andersca@gnu.org>
5185
5186         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
5187         a GtkToggleButton is both insensitive and active, it was being
5188         drawn by the GtkButton draw handler which doesn't check the
5189         state. Now it's calling gtk_toggle_button_paint instead.
5190         
5191 2000-12-01  Havoc Pennington  <hp@redhat.com>
5192
5193         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
5194         dangling pointers to the appearance attributes from the 
5195         line display
5196
5197         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
5198         width/height to mean "full width/height of drawable"
5199
5200         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
5201         click to select word/line
5202         
5203         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
5204         when getting log attrs. Get a slice, so that pixmaps and stuff
5205         are properly handled.
5206
5207         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
5208         paste into the selection (replaces selection now, previously
5209         crashed or added to selection). Reveals longstanding btree bug -
5210         select multiple lines, middle-click on the selection, boom. This
5211         isn't related to my changes though.
5212
5213         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
5214         PangoLogAttrs changes
5215         (gtk_entry_move_backward_word): ditto
5216
5217         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
5218         functions return bool whether the iter moved onto a
5219         dereferenceable position.
5220  
5221         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
5222         functions for motion in terms of display lines.
5223
5224         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
5225         get the buffer a mark is inside
5226         
5227 2000-12-01  Alexander Larsson  <alexl@redhat.com>
5228
5229         * gdk/linux-fb/Makefile.am:
5230         * modules/linux-fb/Makefile.am:
5231         Freetype 2 final uses freetype-config
5232
5233         * gdk/linux-fb/gdkpango-fb.c:
5234         Upgrade to use Freetype 2 final.
5235         More flexible support for font aliases, this also fixes a bug with
5236         GtkFontSelector, as the aliases must be visible in the font/family list,
5237         or GtkFontSelector reads uninitialized memory.
5238
5239 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
5240
5241         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
5242         XGetIMValues to properly terminate variable argument list, and do
5243         NULL return check for ic_values and xim_styles.
5244
5245         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
5246         Restore preedit state after XmbResetIC().
5247         
5248         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
5249         XvaCreateNestedList() should take XvaNestedList, but not
5250         XvaNestedList*.
5251
5252         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
5253         preedit_draw_callback, preedit_caret_callback): Match
5254         "preedit-changed" signal name to "preedit_changed" to be
5255         consistent to the spec.
5256
5257         * gtk/gtkimcontextsimple.c (check_table):
5258         Match "preedit-changed" to "preedit_changed" to be consistent
5259         to the spec.
5260
5261 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
5262
5263         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
5264         gc->clip_region == NULL>
5265
5266 2000-11-30  Tor Lillqvist  <tml@iki.fi>
5267
5268         Changes by Hans Breuer:
5269         
5270         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
5271         Dont't use negative width and height as max_hints. This fixes
5272         Owen's recent testgtk changes for win32.
5273
5274         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
5275         gdk_win32_hdc_release): These are exported and may be called with
5276         other drawable types than our GdkDrawableImplWin32 (?).
5277
5278         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
5279         so always #define USE_BACKING_STORE.
5280
5281         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
5282         of printf for debugging output.
5283
5284         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
5285         
5286         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
5287
5288         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
5289         declaration.
5290
5291         * gtk/gtktexttypes.h: Ditto.
5292
5293         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
5294         (GDK_VoidSymbol) also if in case of arg check failure.
5295
5296         * gtk/gtkimcontextsimple.c
5297         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
5298         position to the pointer, but to the variable it points to.
5299
5300         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
5301
5302         * gtk/gtk.def: Updates.
5303
5304 2000-11-29  Elliot Lee  <sopwith@redhat.com>
5305
5306         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
5307         GTK_TYPE_TREE_MODEL.
5308
5309 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5310
5311         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
5312         Set the size of the font from the description.
5313         (gdk_text_width): Gross hack that calculates the width
5314         of text by text_length * size/2. This is necessary because
5315         GtkLabel does some ugly gtk_string_width call to calculate
5316         an good size.
5317         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
5318
5319 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
5320
5321         * docs/tutorial/gtk-tut.sgml: DND updates
5322
5323 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5324
5325         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
5326         If you pass width or height == 0 to gdk_window_clear_area they
5327         should be calculated from the window size.
5328
5329 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5330
5331         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
5332         a grab, but no grab-cursor, use the cursor from the grabbed
5333         window. (gdk_fb_window_send_crossing_events): Send normal
5334         enter/leave notifications if grab and owner_events == TRUE.
5335
5336 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5337
5338         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
5339         Do implicit button grabs, even if the window doesn't
5340         want the event.
5341         (gdk_fb_window_send_crossing_events): If there is a
5342         grab, only the grabbed window gets normal enter/leave
5343         notifications. On ungrab go from grabbed window to current.
5344         Don't send any notification to b when propagating from c -> b.
5345         If setting a grab on window, don't set prev_window.
5346         (handle_mouse_input): Send enter/leave events to the window the
5347         mouse is over, not the grabbed one.
5348         
5349 2000-11-28  Elliot Lee  <sopwith@redhat.com>
5350
5351         * gdk/gdkregion-generic.c: Zap warning.
5352         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
5353         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
5354
5355 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
5356
5357         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
5358         The cursor should be hidden if it is part of either the
5359         source or destination region. Not only if it is in both.
5360         (gdk_window_set_transient_for): Silence warnings.
5361
5362 2000-11-28  Alexander Larsson  <alexl@redhat.com>
5363
5364         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
5365         The default mode in X is Pie Arcs, therefore that is
5366         what Gtk+ uses.
5367
5368 2000-11-28  Alexander Larsson  <alexl@redhat.com>
5369
5370         * gdk/linux-fb/gdkinput-ps2.c:
5371         Implement correct EnterNotify/LeaveNotify:
5372         (gdk_fb_window_send_crossing_events): New function that sends
5373         all GdkCrossingEvents from the last mouse-window to the specified
5374         destination.
5375         (gdk_fb_window_visibility_crossing): Removed function.
5376         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
5377         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
5378         instead of gdk_window_get_pointer() for better readability.
5379
5380         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
5381         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
5382
5383         * gdk/linux-fb/gdkprivate-fb.h:
5384         removed gdk_fb_window_visibility_crossing, added
5385         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
5386
5387         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
5388         New function that finds the least common ancestor of two windows.
5389         (gdk_window_show, gdk_window_hide):
5390         Use gdk_fb_window_send_crossing_events.
5391         (gdk_fb_window_move_resize): Send configure events to toplevel
5392         windows. Use gdk_fb_window_send_crossing_events.
5393
5394 2000-11-27  Havoc Pennington  <hp@redhat.com>
5395
5396         * gtk/gtkprivate.h (enum): Remove a trailing comma
5397
5398 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
5399
5400         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
5401         the "changed" callback of the adjustment.  We need to redraw the
5402         spin button's arrows when the adjustment's range changes.
5403         (adjustment_changed_cb): Draw the arrows.
5404         (gtk_spin_button_value_changed): Draw the arrows.
5405
5406 2000-11-23  Alexander Larsson  <alexl@redhat.com>
5407
5408         * gdk/linux-fb/gdkselection-fb.c:
5409         Initial selection implementation.
5410
5411         * gtk/gtkselection.c:
5412         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
5413         requestor in gtk_selection_request.
5414         
5415         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
5416         Added gdk_selection_property atom.
5417
5418         * gdk/linux-fb/gdkprivate-fb.h:
5419         Export _gdk_selection_window_destroyed.
5420         Removed mask_off_x/y from GdkCursorPrivateFB.
5421         Removed hbearing, added top, left to PangoFBGlyphInfo.
5422
5423         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
5424         Call _gdk_selection_window_destroyed
5425         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
5426         the root window has been created.
5427         (static_dx_hack, static_dy_hack, compare_draw_rects,
5428         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
5429         in region. They are already sorted. Instead just traverse them in
5430         reverse if draw_direction < 0.
5431         
5432         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
5433         Double-clicks must be sent after the normal button_press.
5434         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
5435         
5436         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
5437         Pass _gdk_fb_screen_gc instead of NULL.
5438
5439         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
5440         Initialize gdk_selection_property.
5441         (gdk_event_make): Remove unused code.
5442
5443         * gdk/linux-fb/gdkcursor-fb.c:
5444         Make the pixmap for the cursor the same size as the mask. Also remove
5445         the mask_off_x/y fields in GdkCursorPrivateFB and combine
5446         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
5447         Now the whole cursor is visible.
5448
5449         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
5450         Fix bug where xdest+height instead of ydest+height was used
5451         to calculate if the source and dest overlapped. This fixes the
5452         redraw bug when the main window in testgtk was scrolled when
5453         partially covered by a tall window.
5454         Copy rectangles in region in order depending on draw_direction.
5455         Also moved the draw_direction flipping of start_y and end_y into
5456         the gc functions, as this might not be what all of them want.
5457         (gdk_fb_draw_lines): Support dashed lines.
5458         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
5459         so that the text is positioned correctly (was 1 pixel high).
5460
5461         gdk/linux-fb/gdkgc-fb.c:
5462         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
5463         all lines were drawn a pixel to short. Also checked the default of
5464         the rest of the values, and they're the same as X now.
5465
5466         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
5467         Clean up pixel positioning of the glyphs. Just use bgy->top and
5468         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
5469         to all divisions to get correct rounding behaviour.
5470
5471         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
5472         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
5473         Moved start_y/end_y flip into draw_drawable implementations.
5474         Flip also x rendering when draw_direction < 0.
5475         Remove unneccesary multiply with draw_direction.
5476
5477 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
5478
5479         * docs/tutorial/gtk-tut.sgml:
5480           - get rid of gtk_toggle_button_toggled FUD
5481           - start DND section - needs work - based on:
5482                 http://wolfpack.twu.net/docs/gtkdnd/
5483
5484 2000-11-22  Alexander Larsson  <alexl@redhat.com>
5485
5486         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
5487         Correct calculation of font metrics. Now GtkEntrys have sane
5488         size.
5489
5490 2000-11-22  Alexander Larsson  <alexl@redhat.com>
5491
5492         * gdk/gdktypes.h:
5493         Add new type GdkSpan
5494         
5495         * docs/reference/gdk/gdk-sections.txt,
5496         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
5497         gdk/gdkregion.h:
5498         Implement and document gdk_region_spans_intersect_foreach.
5499
5500         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
5501         Add new file gdkrender-fb.c which contains all core
5502         rendering code.
5503         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
5504         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
5505         (optimized rectangle fillers).
5506
5507         * gdk/linux-fb/gdkdrawable-fb2.c:
5508         Move all rendering code to gdkrender-fb.c.
5509         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
5510         Use the new span intersection functions in gdk_fb_fill_spans.
5511         gdk_fb_draw_rectangle() clips filled rectangles and calls
5512         gc->fill_rectangle with the result.
5513         gdk_fb_fill_spans() gets extra argument "sorted".
5514
5515         * gdk/linux-fb/gdkevents-fb.c:
5516         Remove unused includes and defines.
5517         New function gdk_fb_get_time() to get correct time for events.
5518
5519         * gdk/linux-fb/gdkinput-ps2.c:
5520         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
5521         Make sure to set the time of all events.
5522
5523         * gdk/linux-fb/gdkmain-fb.c:
5524         Use gdk_fb_get_time ().
5525
5526         * gdk/linux-fb/gdkprivate-fb.h:
5527         New virtual GC calls: fill_span & fill_rectangle.
5528         Export gdk_fb_get_time().
5529         gdk_fb_fill_spans() gets extra argument "sorted".
5530
5531         * gdk/linux-fb/mi*.c:
5532         Use GdkSpan instead of GdkRectangle.
5533         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
5534         from XFree 4 source)
5535         
5536 2000-11-22    <jrb@redhat.com>
5537
5538         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
5539         reversing the order in an if statement will do.  Doing so managed
5540         to make the treemodelsort half work.  Other half will follow after
5541         I get the insert function fully fixed.
5542
5543 2000-11-21  Elliot Lee  <sopwith@redhat.com>
5544         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
5545         more than 2 bits. Besides, I need to implement an evil hack. :)
5546
5547 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
5548
5549         * docs/tutorial/gtk-tut.sgml: minor corrections
5550
5551 2000-11-20  Jonathan Blandford <jrb@redhat.com>
5552         * gtk/gtktreemodelsort.h: Add convertion functions to let you
5553           convert to and from relative path's and iters.
5554
5555         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
5556           testing sorting functions a bit better.  Currently broken -- will
5557           fix in morning.
5558
5559 2000-11-20  Havoc Pennington  <hp@redhat.com>
5560
5561         * gtk/gtkwidget.c: Documented a bunch of functions in here
5562         (gtk_widget_realize): Warn if you try to realize
5563         a widget with no parent that isn't a toplevel
5564         (gtk_widget_intersect): return a gboolean
5565
5566 2000-11-20  Havoc Pennington  <hp@redhat.com>
5567
5568         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
5569         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
5570         scrolling to be implemented in GDK to finish. Also, right now
5571         we just size_allocate all children on every layout change,
5572         which is pretty lame. Test commented out of testtext.c, 
5573         until it works better.
5574
5575 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
5576
5577         * gdk/linux-fb/gdkdrawable-fb2.c:
5578         Removed unused arguments from gdk_fb_drawable_get_pixel().
5579
5580         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
5581         Renamed fidur specific mouse packet data in MouseDevice to
5582         generic. Used it in ps2 mouse handling code to avoid blocking
5583         reads.
5584
5585 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
5586
5587         * demos/gtk-demo/main.c: Changed to have the list become
5588         non-italic when the demo window is destroyed through an external
5589         event (like a close button).  Doing so found three bugs in the
5590         widget.
5591
5592         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
5593
5594         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
5595         we actually set the cell.
5596
5597         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
5598
5599         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
5600         free a leaked path.  Thanks memprof.
5601
5602 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
5603
5604         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
5605         off-by-one error when destroying allocated segments
5606         on failure. (Elliot)
5607
5608 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
5609
5610         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
5611         memleaks found by Evan Martin.
5612
5613 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
5614
5615         * Released 1.3.2
5616         
5617         * NEWS: Updates for 1.3.2
5618
5619 2000-11-17  Tor Lillqvist  <tml@iki.fi>
5620
5621         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
5622         but in general for window system specific events.
5623
5624         * gtk/gtk.def
5625         * gtk/makefile.mingw.in
5626         * gtk/makefile.msc.in: Update.
5627         
5628         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
5629
5630 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
5631
5632         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
5633         distribute gtk.immodules.
5634
5635         * gtk/Makefile.am (install-data-local): Don't install the
5636         gtk.immodules file created for the uninstalled modules;
5637         instead run gtk-query-immodules after install
5638
5639 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
5640
5641         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
5642         -rpath to the right install location.
5643
5644         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
5645         -export-dynamic.
5646
5647         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
5648         properly.
5649
5650 2000-11-15  Havoc Pennington  <hp@pobox.com>
5651
5652         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
5653         patch from Mikael Hermansson to temporarily stop blinking while
5654         the user is using the keyboard to type or navigate. 
5655
5656         Also, when blinking, stay on for longer than we stay off. Also,
5657         return from start_cursor_blink if !cursor_visible, to save
5658         checking that flag all over the place before we call
5659         start_cursor_blink.
5660
5661 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
5662
5663         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
5664         only contain a "fontset" line, which is now ignored.
5665
5666         * gtk/gtkentry.c (gtk_entry_button_release): Make 
5667         double-click-to-select-word work.
5668         
5669 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
5670
5671         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
5672         Don't move back one char when we are actually at the end of the 
5673         paragraph.
5674
5675 2000-11-15  Robert Brady  <robert@suse.co.uk>
5676
5677         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
5678         'o' < 'p'.
5679         
5680         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
5681         bind_textdomain_codeset.
5682
5683         (gtk_init_check): Make the warning about translating default:LTR
5684         sterner.
5685         
5686 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
5687
5688         * **/Makefile.am : remove unecessary rules for win32-specific
5689         config-substituted targets. If you want these rules, use
5690         --enable-maintainer-mode (called automatically by autogen.sh).
5691         Stops a lot of unneccessary make-time warnings.
5692
5693         * gtk/gtktext{layout,display}.c: Factor in total width as
5694         well as screen when figuring alignment for word-wrap as well as
5695         no wrap; this is necessary to handle lines that cannot be wrapped
5696         at all.
5697
5698 2000-11-15  Havoc Pennington  <hp@redhat.com>
5699
5700         * gtk/testtext.c: Implement essential color cycling feature
5701
5702 2000-11-15  Havoc Pennington  <hp@redhat.com>
5703
5704         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
5705         when we invalidate the main window.
5706
5707         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
5708         GtkTextView will now invalidate the side windows for us when text
5709         changes.
5710
5711 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
5712
5713         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
5714         unconditionally, since we may need to update the horizontal
5715         scrollbars even if the height didn't change.
5716
5717         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
5718         the extra attrs, since some of them affect size.
5719
5720         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
5721         x_offset correctly.
5722
5723 2000-11-15  Havoc Pennington  <hp@redhat.com>
5724
5725         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
5726         don't move the first line out into the margin, instead move the
5727         whole paragraph in order to make space for the first line within 
5728         the margin
5729
5730 2000-11-15  Havoc Pennington  <hp@redhat.com>
5731
5732         * gtk/gtktextview.c (changed_handler): offset redraw rect by
5733         xoffset in addition to yoffset, so horizontal scrolling doesn't
5734         break redraws
5735
5736 2000-11-15  Havoc Pennington  <hp@redhat.com>
5737
5738         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
5739         from the cursor
5740         (render_layout_line): fix reversed test that caused weird
5741         underlines to get drawn
5742
5743 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
5744
5745         * gdk/linux-fb/gdkprivate-fb.h:
5746         Fix debug macros.
5747         
5748 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
5749
5750         * gdk/linux-fb/gdkprivate-fb.h:
5751         Added virtual functions set_pixel, get_color,
5752         fill_span and draw_drawable to the GC.
5753         Added global _gdk_fb_screen_gc to use instead of
5754         NULL when drawing to the screen.
5755         Added _gdk_fb_gc_calc_state() prototype.
5756
5757         * gdk/linux-fb/gdkgc-fb.c:
5758         Call _gdk_fb_gc_calc_state() on any gc state change.
5759
5760         * gdk/linux-fb/gdkglobals-fb.c:
5761         Add _gdk_fb_screen_gc
5762                 
5763         * gdk/linux-fb/gdkdrawable-fb2.c:
5764         _gdk_fb_gc_calc_state() calculates best functions
5765         for the GC state and depth.
5766         Moved bpp specialized code to separate functions.
5767         Added optimized 24 bpp AA draw_drawable.
5768
5769         * gdk/linux-fb/gdkevents-fb.c:
5770         Silence gcc warning.
5771
5772         * gdk/linux-fb/gdkimage-fb.c:
5773         Use _gdk_fb_screen_gc
5774
5775         * gdk/linux-fb/gdkwindow-fb.c:
5776         Init and use _gdk_fb_screen_gc
5777
5778         * gdk/linux-fb/mitypes.h:
5779         Remove unused types.
5780
5781 2000-11-14  Havoc Pennington  <hp@pobox.com>
5782
5783         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
5784         to pixels
5785
5786 2000-11-14  Havoc Pennington  <hp@pobox.com>
5787
5788         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
5789
5790         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
5791         unknown char, no real reason we were using a variable. 
5792         Remove gtk_text_unknown_char variable. Fix all the text widget
5793         files accordingly.
5794
5795         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
5796         since the Unicode spec seems to prefer that character for our
5797         purposes.
5798
5799 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
5800
5801         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
5802         value of g_getenv() isn't freeable, so g_strdup it.
5803
5804         * modules/input/inuktitut.c: Inuktitut input method.
5805
5806         * modules/input/Makefile.am: Build this.
5807         
5808 2000-11-14  Elliot Lee  <sopwith@redhat.com>
5809
5810         * gtk/Makefile.am: Install gtk.immodules, needed for operation
5811         of gtk programs.
5812
5813 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
5814
5815         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
5816         reversed > that was causing Home to go to end of previous line.
5817
5818         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
5819         modified-keypresses (leave for bindings.)
5820
5821         * modules/input/Makefile.am: Remove useless -export-dynamic
5822         from module LDFLAGS.
5823
5824 2000-11-14  Havoc Pennington  <hp@redhat.com>
5825
5826         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
5827         higher.
5828
5829         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
5830         account. Also, render rise, underline, background, etc. for
5831         pixbufs as well as text. Also, draw underlines one pixel higher.
5832
5833         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
5834         PangoAttribute for the rise, so it gets drawn properly. Also,
5835         add the GtkTextAppearance attribute for pixbuf/widget segments
5836         as well; we should go ahead and have rise, underline, background,
5837         stipple work for those
5838
5839         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
5840         Pango
5841
5842 2000-11-15  Tor Lillqvist  <tml@iki.fi>
5843
5844         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
5845
5846         * gtk/gtk.def: Update.
5847
5848         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
5849         included.
5850         (gtk_rc_get_im_module_file): Use run-time installation directory
5851         on Win32.
5852
5853         * gdk/win32/rc/gdk.rc: Remove.
5854         * gdk/win32/rc/gdk.rc.in: New file.
5855         * gdk/win32/rc/Makefile.am: New file
5856         * gdk/win32/Makefile.am: Corresponding changes.
5857
5858         * gtk/gtk.rc: Remove.
5859         * gtk/gtk-win32.rc.in: New file.
5860         * gtk/Makefile.am: Corresponding changes.
5861
5862         * configure.in: Corresponding changes.
5863
5864         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
5865         has a built gtkcompat.h. Developers using CVS code on Win32 can
5866         hand-edit it from gtkcompat.h.in.
5867
5868         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
5869         gtkcompat.h from gtkcompat.h.win32.
5870
5871 2000-11-14  Havoc Pennington  <hp@redhat.com>
5872
5873         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
5874         to default to GDK_ACTION_MOVE if the drag is within a single
5875         widget. Defaults to GDK_ACTION_COPY between widgets.
5876
5877 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
5878
5879         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
5880
5881         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
5882
5883         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
5884         srcdir != builddir
5885
5886         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
5887
5888         * configure.in (GTK_VERSION): Up to 1.3.2
5889
5890         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
5891         gtkimcontextxim.h
5892
5893         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
5894         missing doc comment.
5895
5896 2000-11-14  Alexander Larsson  <alexl@redhat.com>
5897
5898         * modules/linux-fb/basic.c:
5899         Use the glib iconv wrappers.
5900
5901 2000-11-13  Havoc Pennington  <hp@pobox.com>
5902
5903         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
5904         still more bugs.
5905
5906         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
5907         scroll the GdkWindows before realization.
5908
5909 2000-11-13  Havoc Pennington  <hp@redhat.com>
5910
5911         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
5912         where GC didn't always get updated properly
5913
5914         * demos/gtk-demo/textview.c (create_tags): Use subattributes
5915         of fonts instead of setting the entire font
5916
5917         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
5918         setting entire font
5919
5920         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
5921
5922         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
5923         a bunch of individually-settable font attributes. You can still 
5924         use the "font" and "font_desc" args, they just set all the font
5925         attributes at once.
5926
5927 2000-11-13 Elliot Lee <sopwith@redhat.com>
5928
5929         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
5930
5931 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
5932
5933         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
5934         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
5935
5936         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
5937         work better.
5938
5939 2000-11-13  Havoc Pennington  <hp@redhat.com>
5940
5941         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
5942         the module file.
5943
5944         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
5945         dest->language
5946
5947         * gtk/testtext.c: Test pixels above/below/inside paragraphs
5948         settings
5949
5950         * gtk/gtktextview.c: Implement object args and setters/getters for
5951         all the aspects of the GtkTextAttributes that are not set from
5952         GtkWidget attributes. This is spacing, justification, margins,
5953         etc.
5954
5955         (gtk_text_view_set_arg)
5956         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
5957         args
5958         (gtk_text_view_class_init): Add args for justify, left_margin,
5959         right_margin, indent, and tabs
5960         
5961
5962         * gtk/gtktextlayout.c (set_para_values): fix to display indent
5963         attribute properly
5964
5965         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
5966         replace with indent attribute
5967
5968         * gtk/gtktextlayout.c (set_para_values): multiply indent by
5969         PANGO_SCALE
5970
5971         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
5972         rearranging code to do that
5973         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
5974         i.e. don't subtract the top_margin first, just to keep
5975         all margin-futzing in one place.
5976
5977         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
5978
5979         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
5980         special case of last line, Pango now handles this itself.
5981         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
5982         Y coordinate
5983         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
5984         (find_display_line_above): wasn't moving the byte index as it
5985         iterated over lines, so always returned byte 0. Also, port to use
5986         PangoLayoutIter.
5987         (find_display_line_below): same problem as
5988         find_display_line_above. Also, port to use PangoLayoutIter.
5989
5990 2000-11-13  Alexander Larsson  <alexl@redhat.com>
5991
5992         * gdk/linux-fb/*.[ch]:
5993         Massive reindent to gtk+ standard. My hands hurt.
5994
5995         * gdk/linux-fb/gdkcolor-fb.c:
5996         Move GdkColorPrivateFB from inherited to windowing_data
5997
5998         * gdk/linux-fb/gdkcursor-fb.c:
5999         _gdk_cursor_new_from_pixmap made static
6000
6001         * gdk/linux-fb/gdkdnd-fb.c:
6002         GdkDragContextPrivate moved to windowing_data
6003
6004         * gdk/linux-fb/gdkdrawable-fb2.c:
6005         Removed endian.h, use glib endianness macros instead
6006         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
6007         and GDK_DRAWABLE_IMPL_FBDATA
6008
6009         * gdk/linux-fb/gdkfont-fb.c:
6010         Add empty gdk_font_load(). Needed for linking of Gtk+.
6011
6012         * gdk/linux-fb/gdkimage-fb.c:
6013         Removed endian.h, use glib endianness macros instead
6014         Moved GdkImagePrivateFB to windowing_data
6015         gdk_image_new_bitmap didn't always allocate enough
6016         memory.
6017
6018         * gdk/linux-fb/gdkinput-ps2.c:
6019         Added semi-working support for MS serial mice.
6020
6021         * gdk/linux-fb/gdkprivate-fb.h:
6022         s/GdkWindowPrivate/GdkWindowObject/
6023         Removed GdkWindowPrivate typedef
6024         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
6025         Removed GDK_DRAWABLE_P
6026         Move GdkColorPrivateFB from inherited to windowing_data
6027         Moved GdkImagePrivateFB to windowing_data
6028
6029         * gdk/linux-fb/gdkvisual-fb.c:
6030         Removed some unused debug code.
6031
6032         * gdk/linux-fb/gdkwindow-fb.c:
6033         Use stock cursors instead of including X headers.
6034         s/GdkWindowPrivate/GdkWindowObject/
6035
6036         * gdk/linux-fb/mitypes.h:
6037         Removed unused types.
6038
6039         * modules/linux-fb/basic.c:
6040         Use the pango fribidi wrappers.
6041
6042 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6043
6044         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
6045         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
6046         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
6047         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
6048         GEqualFunc where applicable.
6049         
6050         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
6051         pango_font_description_equal as changed in pango.
6052         
6053         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
6054
6055         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
6056
6057         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
6058
6059         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
6060
6061         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
6062
6063         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
6064
6065         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
6066         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
6067
6068         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
6069         gtk_rc_styles_compare -> gtk_rc_styles_equal.
6070
6071 2000-11-12  Havoc Pennington  <hp@pobox.com>
6072
6073         * demos/gtk-demo/Makefile.am (democodedir): change demo install
6074         dir to datadir/gtk+-2.0/demo
6075
6076         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
6077         sorts of text widget and Pango font bugs. Urgh.
6078
6079         * demos/gtk-demo/Makefile.am (demos): Add textview.c
6080
6081         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
6082         tree that you should double click to see the demo. Fix 
6083         types of variables to reflect changed return values from 
6084         GtkTreeStore and GtkTreeViewColumn constructors.
6085
6086         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
6087         newly-created buffer to prepare for GObject semantics
6088
6089         * gtk/testtext.c: don't leak the buffer with GObject semantics
6090
6091         * gtk/testtextbuffer.c: ditto
6092         
6093 2000-11-12  Havoc Pennington  <hp@pobox.com>
6094
6095         Rename this testgtk to gtk-demo to avoid confusion, and 
6096         install it so people can use it as a supplement to 
6097         the documentation.
6098         
6099         * demos/gtk-demo: Moved from demos/testgtk
6100
6101         * demos/testgtk: Removed
6102
6103         * configure.in: make Makefile in gtk-demo
6104         
6105         * demos/gtk-demo/Makefile.am: Install sample source to 
6106         datadir/gtk-demo (maybe there's a better place?), and 
6107         rename the binary to gtk-demo
6108         
6109         * demos/gtk-demo/main.c (load_file): Load installed sample
6110         source if source isn't found in pwd.
6111
6112 2000-11-09  Havoc Pennington  <hp@pobox.com>
6113
6114         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
6115         argument to set the char displayed when visibility == FALSE
6116         (gtk_entry_create_layout): If !entry->visible, replace 
6117         all chars with the "invisible char"
6118
6119         * gtk/testgtk.c: Test the invisible_char deal
6120         
6121 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
6122
6123         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
6124         can't get a native font in the right encoding.
6125
6126 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
6127
6128         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
6129         respectively.
6130
6131 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
6132
6133         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
6134         Fix warning when moving between paragraphs.
6135
6136         * gtk/gtkentry.[ch]: Change move => move_cursor, 
6137         delete => delete_from_cursor, insert => insert_at_cursor
6138
6139 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
6140
6141         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
6142
6143         * modules/input/imthai-broken.c: A Thai input method for use if
6144         Thai keys are really generating Latin1 keysyms.
6145
6146         * modules/input/Makefile.am: Build these.
6147
6148 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
6149
6150         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
6151         g_filename_{to,from}_utf8 now takes an extra parameter.
6152
6153         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
6154         strftime into UTF-8.
6155
6156         (column_from_x, gtk_calendar_paint_day_names): Support RTL
6157         calendars.
6158
6159         (gtk_calendar_paint_day_names): Draw day names in the right 
6160         place.
6161         
6162 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
6163
6164         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
6165         problem with using result of g_get_charset() backwards -
6166         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
6167
6168         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
6169         negative min_width/height and max_width/height to
6170         mean "requisition"; this allows setting a window
6171         to be user-resizable in only one direction easily.
6172
6173         * gtk/testgtk.c (create_main_window): Remove hard-coded
6174         usize - set a default size in the vertical direction.
6175
6176 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
6177
6178         * gtk/gtkrange.c: Add some missing casts. Support 
6179         2 and 3 button clicks on the arrows to mean 
6180         "move by pages" and "jump to end". (Like gtkspinbutton)
6181
6182 2000-11-12 Hans Breuer <Hans@Breuer.Org>
6183
6184         * gdk/win32/makefile.msc : reflect build module changes
6185
6186         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
6187         from GdkPixmap*, cast implementation member instead.
6188
6189         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
6190         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
6191         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
6192         more Gdi functions return value checking. 
6193         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
6194         GdkImagePrivateWin32 *.
6195
6196         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
6197         menus useable again. Add #pragma message to keep reminded on this issue.
6198         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
6199         windows. This allows to enable backing store on Win32!
6200
6201         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
6202         in drawable is of impl type. Correct specific type checks appropriate.
6203  
6204         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
6205         GDK_WINDOW_DESTROYED before allocating new resources.
6206
6207         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
6208
6209         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
6210         (gdk_window_foreign_new) initialize parent handle.
6211         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
6212
6213         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
6214         Let the GDI invalidate the window on MoveWindow call to fix scrolling
6215         problems (e.g. main buttons in testgtk). 
6216
6217 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
6218
6219         * gtk/gtkentry.c (gtk_entry_key_press): Call 
6220         gtk_widget_activate for GDK_Return.
6221
6222         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
6223         of preedit cursor position.
6224
6225 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
6226
6227         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
6228         static.
6229
6230 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
6231
6232         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
6233         out support for multiple locales; that simple doesn't
6234         work reliably with current Xlib
6235
6236         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
6237         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
6238         Add support for positioning the cursor within the preedit string.
6239
6240 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
6241
6242         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
6243         at XIM input method module.
6244
6245         * gtk/gtktextview.c: Check for bindings after passing
6246         events to im context filter.
6247
6248 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
6249
6250         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
6251         empty attribute lists properly.
6252
6253 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
6254
6255         * gtk/queryimmodules.c (main): Return non-zero exit
6256         status if errors were encountered querying any
6257         modules.
6258
6259         * modules/input/Makefile.am (moduledir): remove
6260         leftover bin program target.
6261
6262         * docs/make-todo: Fix typo in error message.
6263
6264 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
6265
6266         * configure.in: Add modules/input/Makefile
6267
6268 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
6269
6270         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
6271         don't include gtkthemes.h.
6272
6273         * gtk/testgtk.c gtk/testtext.c: Set environment variables
6274         to point
6275
6276         * gtk/Makefile.am: Add new .c and .h files, build 
6277         gtk-query-immodules and use it to create a gtk.immodules
6278         file for use of test programs.
6279
6280         * gtk/gtkpreview.c: remove extra blank line.
6281
6282 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
6283
6284         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
6285         Add the ability to add extra tables beyond the default
6286         one, and also the ability to have compose sequences 
6287         that are prefixes of other compose sequences. 
6288
6289         * gtk/gtkimcontextsimple.c: Export a preedit string which
6290         consists of possible candidates for keystrokes that have
6291         been entered but not yet committed.
6292
6293         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
6294         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
6295
6296         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
6297         Add a function to add input-method switching menu items
6298         to a menu.
6299
6300         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
6301         when switching input methods.
6302
6303         * gtk/gtkimcontextsimple.[ch]: Change the format of
6304         the compose table to allow compose tables of different
6305         lengths / sequence.
6306
6307 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
6308
6309         * gtk/gtkimmodule.[ch]: Support routines for loading
6310         GtkIMContext implementations dynamically at runtime.
6311
6312         * modules/input/imcyrillic-translit.c: A sample input
6313         method (based on GtkIMContextSimple with an extra table),
6314         which demonstrates preedit strings and the module
6315         system for input modules
6316
6317         * gtk/queryimmodules.c: Program to query the available
6318         input modules and write the results into a file.
6319          
6320         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
6321         extra config options "im_module_file" (cache file for
6322         input method modules), and "im_module_path" - path
6323         to look for modules when generating cache file.
6324
6325         This doesn't scale.
6326
6327 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
6328
6329         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
6330         generic code from gtkthemes into a new abstraction
6331         GtkModule which has the logic for implementing
6332         a loadable module which implements a number of 
6333         GObject types.
6334
6335 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
6336
6337         * gtk/gtkeditable.[ch]: Convert GtkEditable from
6338         a class into an interface  
6339         
6340         * gtk/gtkoldeditable.[ch]: Move the old editable
6341         implementation into here, so legacy widgets can
6342         still rely on the implemenation. GtkOldEditable
6343         exports GtkEditable. Make selection handling
6344         code use new text conversion functions (and
6345         handle UTF-8 as a side-effect). Use GtkClipboard
6346         for CLIPBOARD.
6347
6348         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
6349         Adopt to match above changes.
6350
6351         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
6352         avoid GtkOldEditable implementation. Restructure
6353         to reduce number of places that modify state directly.
6354         Move to GtkBindingSet. Display the preedit string.
6355         Queue recomputation of PangoLayout and scroll position
6356         to improve effiency of doing complex changes naively.
6357         Add a menu with cut/copy/paste and input method selection.
6358
6359 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
6360
6361         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
6362         to set preedit string and attributes; display preedit string by
6363         inserting string and attributes at cursor when creating the
6364         GtkTextLineDisplay.
6365
6366         * gtk/gtktextlayout.c: Move all conversions between byte
6367         positions in PangoLayout and GtkTextIter into new functions
6368         line_display_iter_to_index/index_to_iter that properly
6369         handle the preedit string.
6370
6371         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
6372         it to return const char * (eventually will end up
6373         as GCONST char *, most likely.)
6374
6375         * gtk/gtktextview.[ch]: Handle the preedit string, call
6376         gtk_im_context_reset() as necessary, add a menu to switch
6377         input methods.
6378         
6379         * gtk/gtktextlayout.[ch]: Remove useless
6380         gtk_text_layout_get_log_attrs() function.
6381
6382 2000-11-11  Tor Lillqvist  <tml@iki.fi>
6383
6384         * gdk/gdk.def
6385         * gtk/gtk.def: Update.
6386
6387         * gdk/win32/*.c: Add last argument to g_type_register_static()
6388         calls.
6389
6390         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
6391
6392         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
6393         generated by older wheel mouse drivers. Get the correct y
6394         coordinate from WM_MOUSEWHEEL messages.
6395
6396         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
6397         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
6398         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
6399         Debugging functions.
6400
6401         * gdk/win32/gdkprivate-win32.h: Declare them.
6402
6403         * gdk/win32/gdkinput-win32.h: Add declaration for
6404         gdk_input_window_destroy().
6405
6406         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
6407
6408 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
6409
6410         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
6411         function to help handle keeping things in sync.
6412
6413 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
6414
6415         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
6416         BOXED marshallers.
6417
6418         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
6419         (gtk_list_store_class_init): use the new BOXED marshallers.
6420
6421         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
6422         new_with_values to new_with_types.
6423         (gtk_tree_store_get_column_type): add this.
6424         (gtk_tree_store_class_init): use the new BOXED marshallers.
6425
6426         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
6427         mirror some POINTER marshallers.
6428
6429 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
6430
6431         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
6432         allow more interesting iterators.  Also, made the lifecycle of
6433         iterators more explicit.
6434
6435         * gtk/gtktreemodelsort.[ch]: New model for sorting.
6436
6437         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
6438         types.
6439
6440 2000-11-09  Alexander Larsson  <alexl@redhat.com>
6441
6442         * demos/testgtk/menus.c:
6443         Changes to make the new testgtk compile after
6444         gtk_menu_append was removed.
6445
6446         * gdk/linux-fb/gdkdrawable-fb2.c
6447         (gdk_fb_get_depth, gdk_fb_get_visual,
6448         gdk_drawable_impl_fb_class_init): Implement
6449         these drawable functions. Now GtkImages work again.
6450
6451         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
6452
6453         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
6454         
6455         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
6456         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
6457         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
6458         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
6459
6460 2000-11-08  Havoc Pennington  <hp@pobox.com>
6461
6462         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
6463         visible_set args, don't know where these had gone, I thought they
6464         used to be there
6465
6466         * gtk/testtext.c: Add a menu item to apply invisibility tag;
6467         now we can test the feature and see that it's totally broken.
6468
6469 2000-11-08  Havoc Pennington  <hp@pobox.com>
6470
6471         Make DND copy pixbufs and tags when source and target share a 
6472         tag table.
6473         
6474         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
6475         in-process GTK_TEXT_BUFFER_CONTENTS target
6476         (gtk_text_view_drag_data_received): Paste from
6477         GTK_TEXT_BUFFER_CONTENTS if we receive it.
6478
6479 2000-11-08  Alexander Larsson  <alexl@redhat.com>
6480
6481         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
6482         API changes.
6483
6484         * gtk/gtkmenu.c: Add support for scrolling menus.
6485         Remove gtk_menu_append/prepend/insert, these have been moved to
6486         gtkcompat.h as #defines.
6487
6488         * gtk/gtkcompat.h.in:
6489         Add compatibility #defines for gtk_menu_append/prepend/insert
6490
6491         * gtk/gtkmenu.h: Add data needed for scrolling menus.
6492         GtkMenuPositionFunc gets an extra argument push_in.
6493         gtk_menu_append/prepend/insert removed.
6494         
6495         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
6496         positioning behaviour to fit to scrolling menus.
6497
6498         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
6499         into menuitem->submeny. That is wrong, and broke torn
6500         off submenus of torn off menus, since they were unrealized
6501         when the first menu was unrealized.
6502
6503         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
6504         gtk_menu_shell_select_item() since these need to be overridden in
6505         GtkMenu.
6506
6507         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
6508         positioning behaviour to fit to scrolling menus.
6509         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
6510         the current item so that it is prelighted when the menu pops up.
6511         This is a workaround to the fact that the menu doesn't get the
6512         initial enter event (due to grabs).
6513
6514         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
6515         s/gtk_menu_append/gtk_menu_shell_append/
6516
6517         * gtk/gtknotebook.c:
6518         s/gtk_menu_insert/gtk_menu_shell_insert/
6519
6520         * gtk/testgtk.c (create_menu, create_menus):
6521         Create the first menu with 50 items so that menu scrolling
6522         can be tested.
6523         
6524         
6525         Patch from Jonathan Blandford  <jrb@redhat.com>
6526
6527         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
6528         system to handle size requests.  First, we ask what the size of
6529         the toggle is.  Then, when allocating the size, we allocate the
6530         toggle_size first.  This way we can have multiple menu-item
6531         classes w/o needing a seperate class for each.
6532
6533         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
6534         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
6535
6536         * gtk/gtkcheckmenuitem.c
6537         (gtk_check_menu_item_toggle_size_request): New function to handle
6538         the toggle size-request.
6539
6540 2000-11-07  Havoc Pennington  <hp@redhat.com>
6541
6542         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
6543         Half-ass somewhat fix this function, so that scrolling to the
6544         insertion point works. Pango hacking is in the future to really
6545         fix it.
6546
6547         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
6548         length of data, no longer used.
6549
6550         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
6551         method contents in here, get rid of destroy method
6552         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
6553         that were backward. Remove debug spew.
6554         (cut_or_copy): Make the clipboard work with insert_range to
6555         preserve tags and pixbufs, not just the primary selection.
6556
6557 2000-11-07  Havoc Pennington  <hp@redhat.com>
6558
6559         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
6560         to gtk_text_mark_get_visible
6561
6562         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
6563         bug that was generating an invalid iterator
6564
6565         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
6566         ensure_char_offsets() in front of code placing the iter in an
6567         invalid state.
6568
6569         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
6570         make override_location arg const
6571         (paste): Replace the selection if we paste into the 
6572         current selection
6573
6574         * gtk/gtkselection.h: Remove "GtkSelectioData"
6575         (struct _GtkSelectionData): move the definition here.
6576
6577         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
6578         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
6579
6580         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
6581
6582         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
6583         (gtk_text_buffer_insert_range_interactive): implement
6584         (gtk_text_buffer_get_tags): Remove, replaced by
6585         gtk_text_iter_get_tags()
6586
6587         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
6588         limit parameter, to avoid infinite linear scan.
6589         (gtk_text_iter_backward_search): Add search limit
6590         (gtk_text_iter_forward_find_char): Add search limit
6591         (gtk_text_iter_backward_find_char): Add search limit
6592
6593 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
6594
6595         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
6596         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
6597         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
6598         gdk/linux-fb/gdkwindow-fb.c:
6599         use g_object_new() instead of g_type_create_instance() which
6600         is a private function for fundamental type implementations.
6601
6602         * gdk/linux-fb/gdkinput-ps2.c:
6603         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
6604         instead just store the current modifier state. Add a (somewhat broken)
6605         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
6606         Rename exported function gdk_input_ps2_get_mouseinfo to
6607         gdk_input_get_mouseinfo.
6608
6609         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
6610         gdk/linux-fb/gdkwindow-fb.c:
6611         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
6612         
6613
6614 2000-11-02  Havoc Pennington  <hp@redhat.com>
6615
6616         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
6617         use stock buttons. Should be 100% source compatible, appropriate
6618         filesel fields now point to dialog->vbox and dialog->action_area.
6619         On the bizarre side, dialog->action_area and filesel->action_area
6620         are not the same widget.
6621         (gtk_file_selection_init): Put some padding around the selection
6622         entry, so it isn't touching the GtkDialog separator.    
6623
6624         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
6625         use stock buttons, etc. Should also be source compatible.
6626         Set the dialog default title in _init not _new().
6627         
6628         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
6629         Use stock buttons; don't put a button box inside the existing
6630         dialog button box. Don't bother with push/pop colormap anymore.
6631
6632         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
6633         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
6634         for message dialog, and necessary for the font selection and color
6635         selection with help and apply buttons.
6636         
6637         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
6638         to the created button widget. Set GTK_CAN_DEFAULT on the button.
6639         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
6640         between buttons, put less padding around the action area.
6641         (gtk_dialog_run): Exit on unmap rather than on destroy. 
6642         This will also exit the loop if the widget is hidden.
6643         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
6644         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
6645         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
6646         special-case delete event.
6647
6648         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
6649         formatting
6650         
6651 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
6652
6653         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
6654         button to temporarily disable position recording in the
6655         "saved position" test.
6656
6657 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
6658
6659         * gtk/gtkthemes.c: added compat code that temporarily implements
6660         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
6661         going to be revamped by owen's upcoming GtkModule patches, but
6662         untill then people want gtk to build, right? ;)
6663
6664 2000-11-04  Havoc Pennington  <hp@pobox.com>
6665
6666         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
6667         list
6668
6669         * docs/Changes-2.0.txt: Add note about
6670         gtk_container_get_toplevels()
6671
6672         * gtk/gtktextview.h: formatting
6673         
6674         * gtk/gtktextview.c: don't start descriptions with "Returns",
6675         confuses gtk-doc
6676
6677 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
6678
6679         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
6680         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
6681
6682 2000-11-03  Havoc Pennington  <hp@redhat.com>
6683
6684         * gtk/gtktexttagtable.c: Docs
6685         (gtk_text_tag_table_size): return a signed int
6686
6687         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
6688         (gtk_text_tag_event): make the event_object a GObject
6689
6690         * gtk/gtktextview.c: Write API docs for all functions.
6691
6692         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
6693         for gtk_text_view_get_window_type() called on one of the private
6694         windows.
6695
6696         * gtk/gtktextview.c: Instead of accessing text_view->buffer
6697         directly, call get_buffer() which demand-creates a default
6698         buffer. So gtk_text_view_new() can be used to create a view with a
6699         default buffer in it, if you just want an empty text box users can
6700         put data in. Useful for GUI builders also.
6701
6702 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
6703
6704         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
6705         the charset encodign portion MUST be in lowercase.
6706         * gtk/gtkrc.az: added file for Azeri language
6707
6708 2000-11-03  Havoc Pennington  <hp@redhat.com>
6709
6710         Get widgets working on the btree/buffer side. Display of them 
6711         still doesn't work.
6712         
6713         * gtk/gtktextview.c: start implementing child widget stuff
6714
6715         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
6716
6717         * gtk/gtktextlayout.c: handle embedded widgets
6718
6719         * gtk/gtktextdisplay.c: handle embedded widgets
6720
6721         * gtk/gtktextchild.c: Implement all the child anchor goo
6722
6723         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
6724         function
6725
6726         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
6727         (insert_pixbuf_or_widget_segment): abstract out common portions of 
6728         creating a child anchor or a pixbuf segment.
6729         (gtk_text_btree_create_child_anchor): new function
6730         (gtk_text_btree_unregister_child_anchor): new function
6731
6732         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
6733         allocate_child signal on GtkTextLayout
6734
6735         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
6736         values
6737         (gtk_text_iter_get_child_anchor): new function
6738
6739         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
6740         default handler for the changed signal, which calls
6741         gtk_text_buffer_set_modified(), instead of just always emitting
6742         changed then calling set_modified() manually. I guess this is
6743         maybe more flexible. It seems logical.
6744
6745 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
6746
6747         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
6748         now.
6749
6750         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
6751
6752 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
6753
6754         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
6755         been marked static.
6756
6757 2000-11-02  Havoc Pennington  <hp@redhat.com>
6758
6759         * gtk/testgtk.c (create_labels): had a test backward
6760
6761         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
6762         fields, so the dest GC ends up with the correct clip origin, 
6763         etc. Fixes a bug where colored labels didn't redraw 
6764         properly.
6765
6766 2000-11-02  Alexander Larsson  <alexl@redhat.com>
6767
6768         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
6769         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
6770         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
6771         Add last argument to t_type_register_static call.
6772         
6773         * gdk/linux-fb/gdkdrawable-fb2.c:
6774         Add last argument to t_type_register_static call.
6775         export the get_image drawable virtual function.
6776
6777         * gdk/linux-fb/gdkimage-fb.c:
6778         Add last argument to t_type_register_static call.
6779         rename gtk_image_get to _gdk_fb_get_image and
6780         export it for use by gdkdrawable-fb2.
6781
6782         * gdk/linux-fb/gdkprivate-fb.h:
6783         export _gdk_fb_get_image.
6784
6785         * gdk/linux-fb/gdkselection-fb.c:
6786         Add new api call stubs.
6787
6788         * gtk/Makefile.am:
6789         Missing ( in linux-fb part.
6790
6791         * modules/linux-fb/Makefile.am:
6792         Must link with gdk_pixbuf or get unresolved symbol.
6793
6794 2000-11-01  Havoc Pennington  <hp@pobox.com>
6795
6796         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
6797         GTK_TYPE_TEXT_ITER and BOXED marshallers
6798
6799         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
6800
6801         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
6802         
6803         * gtk/gtk-boxed.defs: add GtkTextIter
6804
6805         * gtk/gtkmarshal.list: Add marshallers for text widget that 
6806         properly use OBJECT and BOXED
6807
6808 2000-11-01  Havoc Pennington  <hp@redhat.com>
6809
6810         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
6811
6812         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
6813         before returning it. 
6814         
6815 2000-11-01  Havoc Pennington  <hp@redhat.com>
6816
6817         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
6818         Clip the rectangle to be rendered to the drawable, since
6819         get_from_drawable() requires a region within the drawable
6820
6821 2000-11-01  Havoc Pennington  <hp@redhat.com>
6822
6823         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
6824         from coordinates.
6825
6826 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
6827
6828         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
6829         it isn't NULL.
6830
6831 2000-11-01  Havoc Pennington  <hp@pobox.com>
6832
6833         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
6834         on a label
6835         (gtk_label_finalize): unref the attr list if any.
6836
6837         * gtk/testgtk.c (create_get_image): close test on second click
6838         (make_message_dialog): close dialog if it exists
6839
6840         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
6841
6842         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
6843         gdk-pixbuf
6844
6845         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
6846         from Pango markup format
6847         (gtk_label_set_markup_with_accel): ditto but with accelerator
6848         parsing
6849
6850         * gtk/gtkimage.c (gtk_image_expose): reformatting.
6851
6852         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
6853         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
6854         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
6855         call gdk_window_get_origin().
6856
6857         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
6858         implement GDK_PIXBUF_ALPHA_FULL
6859         
6860 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
6861
6862         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
6863         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
6864         g_signal_handlers_disconnect_matched to block/unblock and disconnect
6865         multiple handlers respectively, instead of only treating the
6866         first handler found (bug reported by owen).
6867
6868 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
6869
6870         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
6871
6872         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
6873
6874         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
6875         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
6876         gtk/gtktreeviewcolumn.h: Fixed inline docs.
6877
6878         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
6879         widget.  Needs writing someday.
6880
6881         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
6882         the docs.
6883
6884 2000-10-30  Havoc Pennington  <hp@redhat.com>
6885
6886         * gtk/gtktextview.h, gtk/gtktextview.c:
6887         Rename delete_at_cursor delete_from_cursor, and 
6888         move to move_cursor.
6889
6890 2000-10-30  Havoc Pennington  <hp@redhat.com>
6891
6892         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
6893         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
6894         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
6895         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
6896         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
6897         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
6898         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
6899         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
6900         gtktexttypes.h, gtktextview.c, gtktextview.h:
6901
6902         Massive reindentation and reformatting. Arg alignment and comments
6903         still need fixing in various places.
6904
6905 2000-10-30  Havoc Pennington  <hp@redhat.com>
6906
6907         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
6908         to be named insert_at_cursor and delete_at_cursor so C++ can
6909         handle them.
6910
6911 2000-10-28  Tor Lillqvist  <tml@iki.fi>
6912
6913         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
6914         to get a double directory separator in case the home directory
6915         ends with one. This would cause trouble especially on Windows,
6916         where the path will be confused with the syntax for an an UNC
6917         (network share) path \\server\share\path.
6918         (gtk_rc_add_initial_default_files): Ditto.
6919
6920 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
6921
6922         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
6923
6924         * gtk/gtktextview.c: Use correct marshallers.
6925
6926 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
6927
6928         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
6929         use new iter stuff, and added all the appropriate signals et al.
6930
6931         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
6932         code is internal to gtk only.
6933
6934 2000-10-28  Tor Lillqvist  <tml@iki.fi>
6935
6936         * gtk/gtk.def
6937         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
6938         glib-genmarshal etc.
6939
6940 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
6941
6942         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
6943         parallel builds.
6944
6945 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
6946
6947         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
6948
6949 2000-10-27  Robert Brady  <robert@suse.co.uk>
6950
6951         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
6952         en_GB (British), ia (Interlingua).
6953
6954 2000-10-26  Havoc Pennington  <hp@redhat.com>
6955
6956         * gtk/gtktextiter.c (my_strrstr): fix constness warning
6957
6958         Fixed output of:
6959         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
6960         
6961         * gtk/gtktextsegment.c (char_segment_new): rename
6962         (_char_segment_new_from_two_strings): rename
6963         (_toggle_segment_new): rename
6964         
6965         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
6966         (make_clipboard_widget): make it static
6967         (text_get_func): static
6968         (text_clear_func): static
6969
6970         * gtk/gtkcolorsel.c (adjustment_changed): make this function
6971         static
6972         (hex_changed): make it static
6973         (hsv_changed): make it static
6974         (opacity_entry_changed): make it static
6975
6976         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
6977         (toggle_segment_check_func): rename with _gtk
6978
6979         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
6980         (_widget_segment_new): rename
6981         (_widget_segment_add): rename
6982         (_widget_segment_remove): rename
6983         (_widget_segment_ref): rename
6984         (_widget_segment_unref): rename
6985
6986         * gtk/gtktextmark.c (_mark_segment_new): Rename
6987         _gtk_mark_segment_new   
6988
6989 2000-10-26  Havoc Pennington  <hp@redhat.com>
6990
6991         * gtk/gtkmarshal.list: add new marshallers used by the text widget
6992         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
6993         types
6994
6995         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
6996         marshaller types
6997
6998         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
6999         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
7000         license on these files.
7001
7002         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
7003         work.
7004
7005         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
7006         runtime random number different for each tree, instead of 
7007         a constant I made up.
7008
7009 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
7010
7011         * gtk/Makefile.am: buncha cleanups, kludged build sources
7012         dependencies with a Makefile: oldest-source-stamp dependancy
7013         for the moment. automake is really fighting us here, with
7014         intentionally not allowing user-defined rules or dependancies
7015         prior to it's -include $(DEP_FILES) statement. sucks rocks!
7016
7017         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
7018         to public headers. tehy have a comment stating that they are
7019         "semi-public" aren't included by gtk.h and if enums popup there,
7020         they can be /*< skip >*/-ed.
7021
7022         * gtk/gtktextlayout.h: 
7023         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
7024         added LGPL... <SIGH>
7025
7026 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
7027
7028         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
7029         GtkTreeIter.  Added iterators everywhere.
7030
7031         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
7032
7033         * gtk/gtktreeviewselection.c: Changed to use the iterators.
7034
7035         * gtk/gtktreestore.c: Changed to use the iterators.
7036
7037         * gtk/gtkliststore.c: Commented out the code.  Will convert to
7038         iterators tomorrow.
7039
7040         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
7041         iterators tomorrow.
7042
7043         * gtk/treestoretest.c: Changed to use iterators.
7044
7045         * demos/testgtk/main.c: Moved to use the new iterator system.
7046
7047 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
7048
7049         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
7050         localization misbehaviour.
7051
7052         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
7053         a useless type without copy/free.
7054
7055         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
7056         of GTK_TYPE_CTREE_NODE.
7057
7058 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
7059
7060         * gtk/gtksignal.c:
7061         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
7062         applicable.
7063
7064         * gtk/gtk-boxed.defs (GtkSelectionData): specify
7065         gtk_selection_data_copy and gtk_selection_data_free
7066         do GtkSelectionData work as params in signals.
7067
7068 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
7069
7070         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
7071         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
7072         couldn't they at least give it a non-standard name?
7073         
7074         * gtk/gtktextlayout.c: arg! yet another implementation of
7075         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
7076
7077         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
7078         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
7079         home. now i know this _is_ a conspiracy.
7080
7081         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
7082         ::state-changed.
7083
7084         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
7085         (gtk_accel_group_create_add): marshaller signature fixups.
7086
7087         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
7088         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
7089
7090         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
7091         anymore.
7092
7093 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
7094
7095         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
7096         due to the signal system changes, it wouldn't build currently. to
7097         be fixed soon.
7098
7099         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
7100
7101         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
7102         so it needs gtk_marshal_VOID__ENUM() instead of
7103         gtk_marshal_NONE__UINT().
7104
7105         * gdk/gdk*.c: adapted type registration functions.
7106
7107         * gtk/gtkbindings.c:
7108         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
7109         gone.
7110
7111         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
7112
7113         * gtk/gtkobject.c:
7114         (gtk_object_destroy):
7115         (gtk_object_shutdown): fixed recursion guards. basically we have to
7116         catch the case where any of GObject.shutdown() or gtk_object_destroy()
7117         is called during ::destroy, and avoid recursion there.
7118
7119         * gtk/gtktypeutils.c:
7120         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
7121         boxed_copy/boxed_free. this needs a more general solution based on a
7122         publically installed code-generator utility.
7123
7124         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
7125         glib's gobject has support for that now.
7126         define GtkSignalMarshaller in terms of GSignalCMarshaller.
7127
7128 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
7129
7130         * gtk/gtksignal.[hc]:
7131         * gtk/gtkmarshal.[hc]:
7132         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
7133         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
7134         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
7135         care of that.
7136
7137         * *.c: marshaller name fixups.
7138
7139         * gtk/gtkmarshal.list: added a comment briefing the format.
7140
7141 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
7142
7143         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
7144         compatibility macros here now. more specifically, most of
7145         the API is preserved (yes, _most_, nonwithstanding the
7146         following exceptions listed, the API is stil lHUGE ;)
7147         things that got removed completely:
7148         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
7149         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
7150         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
7151         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
7152         gtk_signal_remove_emission_hook().
7153         non-functional functions variants:
7154         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
7155         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
7156         not supported anymore.
7157         (gtk_signal_compat_matched): new internal function to aid
7158         implementation of the compatibility macros, it  provides
7159         functionality to block/unblock/disconnect handlers based
7160         on func/data.
7161
7162         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
7163
7164         * *.c: adaptions to new type registration API signatures.
7165
7166 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
7167
7168         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
7169
7170 2000-10-25  Robert Brady  <robert@suse.co.uk>
7171
7172         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
7173         gdk_property_delete): If window == NULL, assume the root window.
7174         (restoring the behaviour that was in 1.2).
7175         
7176         * gtk/testtext.c (save_buffer): Allow creation of new files when
7177         saving.
7178
7179         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
7180         calls to read().
7181
7182 2000-10-25  Tor Lillqvist  <tml@iki.fi>
7183
7184         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
7185
7186         * gdk/win32/gdkdrawable-win32.c
7187         * gdk/win32/gdkimage-win32.c
7188         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
7189         X11 backend.
7190
7191         * gdk/win32/gdkcc-win32.c
7192         * gdk/win32/gdkcolor-win32.c
7193         * gdk/win32/gdkfont-win32.c
7194         * gdk/win32/gdkinput-win32.c
7195         * gdk/win32/gdkmain-win32.c
7196         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
7197
7198 2000-10-24  Havoc Pennington  <hp@redhat.com>
7199
7200         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
7201         it a static function
7202
7203         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
7204         redraw text when a tag is applied to it.
7205
7206         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
7207         (gtk_text_tag_affects_nonsize_appearance): private functions to
7208         see if a tag requires various kinds of redraw/layout to be queued
7209         up.
7210
7211         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
7212
7213         * gtk/testtext.c (fill_example_buffer): Put the cursor 
7214         at the start of the buffer, so search works by default
7215
7216         * gtk/gtktextiter.c (lines_match): init match_start always
7217
7218         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
7219         function, get iter at a line + a byte index
7220
7221         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
7222         to set byte position within a line
7223         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
7224
7225 2000-10-23  Havoc Pennington  <hp@redhat.com>
7226
7227         * gtk/testtext.c: Re-enable the "find" dialog
7228
7229         * gtk/testgtk.c: Add test for gdk_drawable_get_image
7230         
7231         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
7232         the arguments to gdk_draw_drawable were in the wrong order
7233         (gdk_window_paint_init_bg): This function was ignoring the
7234         init_region, instead of clipping to it, so the entire backing
7235         pixmap was cleared on every begin_paint()
7236         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
7237         was in here again, the loop kept using the same GtkWindowPaint
7238         over and over.
7239         (gdk_window_begin_paint_region): Fix a bug where we had two
7240         x_offset instead of x_offset and y_offset
7241
7242         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
7243         before we get the image.
7244         (gdk_draw_drawable): get the composite before we draw the drawable.
7245         (gdk_drawable_real_get_composite_drawable): default
7246         get_composite_drawable implementation that returns the drawable 
7247         itself
7248
7249         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
7250         get_composite_drawable virtual function
7251
7252         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
7253         list-walking bug
7254
7255         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
7256         make this work if the source drawable is a GdkDrawableImplX11
7257         instead of a public drawable type. This is really broken; the
7258         problem is that GdkDrawable needs a virtual method get_xid(), but
7259         of course that doesn't work in practice. Enter RTTI.
7260
7261         Also, improve mismatched depth message.
7262
7263         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
7264         GdkPixmap
7265
7266         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
7267         install _gdk_x11_get_image as our implementation of get_image
7268         
7269         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
7270         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
7271
7272         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
7273         gdk_drawable_get_image
7274
7275         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
7276
7277         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
7278         get_image
7279
7280         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
7281         trailing semicolon after for loop
7282
7283 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
7284
7285         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
7286         where font_desc for widget's context lagged widget's font_desc by
7287         one step.
7288
7289 2000-10-22  Tor Lillqvist  <tml@iki.fi>
7290
7291         * gdk/win32/gdkgc-win32.c
7292         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
7293
7294         * gtk/makefile.mingw.in
7295         * gtk/gtk.def: Updates.
7296
7297         * gtk/testgtk.c: sleep() is called _sleep in MS's C
7298         library.
7299
7300         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
7301
7302         * gtk/makefile.msc: Remove
7303
7304         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
7305
7306         * gtk/Makefile.am: Add it.
7307
7308         * configure.in: Generate it.
7309
7310         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
7311         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
7312         something even if not implemented, to satisfy picky MSVC.
7313
7314         Patches by Hans Breuer:
7315         
7316         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
7317         SetBkMode() and SetTextAlign() before calling
7318         pango_win32_render().
7319
7320         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
7321         Set hcliprgn to NULL after destroying it.
7322         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
7323
7324         * gdk/win32/gdkgeometry-win32.c
7325         (_gdk_windowing_window_queue_antiexpose): More effective
7326         implementation.
7327
7328         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
7329         depth as default, not the visual's.
7330
7331         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
7332         against empty title.
7333
7334         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
7335         IMAGE_PRIVATE_DATA.
7336
7337         * gdk/win32/gdkimage-win32.c: Use it.
7338
7339 2000-10-22  Robert Brady  <robert@suse.co.uk>
7340
7341         * configure.in: Check for bind_textdomain_codeset
7342
7343         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
7344         present, make use of it.
7345
7346         Add a translatable string "default:LTR" which, if translated
7347         to "default:RTL", will cause the default direction to be
7348         Right-to-Left.
7349
7350         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
7351         direction if marked as flippable.
7352
7353         * gtk/gtkhscale.c: Mark widget as flippable.
7354         
7355 2000-10-04  Havoc Pennington  <hp@redhat.com>
7356
7357         * gtk/testgtk.c (create_buttons): create some stock buttons
7358         with the default accel group
7359         (create_image): test some new GtkImage features
7360         (make_message_dialog): test GtkMessageDialog
7361         (create_modal_window): fix someone's bizzarro indentation
7362
7363         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
7364         GTK_WIN_POS_CENTER_ON_PARENT. 
7365         Add "destroy with parent" setting, which means the window goes
7366         away with its transient parent.
7367         (gtk_window_get_default_accel_group): get the default accel group
7368         for the window.
7369         (gtk_window_set_destroy_with_parent): set/unset destroy with
7370         parent flag
7371         (gtk_window_read_rcfiles): invalidate icon set caches
7372         after reloading rcfiles 
7373
7374         * gtk/gtkenums.h (GtkWindowPosition): add
7375         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
7376         on its parent window when the dialog is mapped for the first time.
7377
7378         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
7379         a simple message dialog class
7380         
7381         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
7382         handler to emit response signal, and maybe later it would
7383         honor a hide_on_delete flag - though that isn't there yet.
7384         Set border width on the vbox to 2, so we get some padding.      
7385         Use a button box for the action area.
7386         (gtk_dialog_key_press): synthesize a delete event if Esc
7387         is pressed and the GtkWidget key press handler didn't 
7388         handle the escape key.
7389         (gtk_dialog_new_with_buttons): new function creates a dialog
7390         with some default buttons in it.
7391         (gtk_dialog_add_action_widget): add an activatable widget
7392         as a button in the dialog - you can also add a non-activatable
7393         widget by accessing the action area directly.
7394         (gtk_dialog_add_button): add a simple button - stock ID or 
7395         label - to the action area
7396         (gtk_dialog_response): emit response signal
7397         (gtk_dialog_run): block waiting for the dialog, return 
7398         the response. Override normal delete_event behavior, so that 
7399         delete_event does nothing inside gtk_dialog_run().
7400
7401         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
7402         emitted when an action widget is clicked or the dialog gets
7403         delete_event
7404
7405         * gtk/gtk.h: add gtkmessagedialog.h
7406
7407         * gtk/Makefile.am: add gtkmessagedialog.[hc]
7408
7409 2000-10-18  Havoc Pennington  <hp@redhat.com>
7410
7411         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
7412         where any number of empty lines would get skipped
7413
7414         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
7415         edge.
7416
7417         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
7418         warning about invalid iterators (explain more thoroughly)
7419         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
7420
7421         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
7422         big
7423
7424         * demos/*.c: Add error handling
7425
7426         * gtk/gtktextbuffer.c: don't modify const iterators
7427
7428         * gtk/gdk-pixbuf-loader.c: Add full error handling here
7429
7430         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
7431         on file load
7432
7433         * gtk/gtkiconfactory.c: Update to reflect addition of error
7434         handling to gdk-pixbuf loaders
7435
7436 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
7437
7438         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
7439         move to new modularized testgtk.
7440
7441 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
7442
7443         * gtk/gtktreeview.c: Draw the arrows correctly.
7444
7445         * gtk/gtktreemodel.c: Added user docs.
7446
7447         * gtk/gtk.h: remove gtktreedatalist.h.
7448
7449         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
7450         parent when generating my type.
7451
7452         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
7453         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
7454
7455 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
7456
7457         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
7458         GtkTreeModel from object to interface.
7459
7460 2000-10-16  Havoc Pennington  <hp@redhat.com>
7461
7462         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
7463         compilation
7464
7465 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
7466
7467         * gtk/gtktreeselection.c: Add API documentation to all public
7468         functions.
7469
7470         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
7471         functions.
7472
7473 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
7474
7475         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
7476         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
7477         docs to all public functions.
7478
7479         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
7480         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
7481         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
7482         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
7483         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
7484         issue.
7485
7486 2000-10-14  Robert Brady  <robert@suse.co.uk>
7487
7488         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
7489
7490 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
7491
7492         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
7493         values other then G_TYPE_STRING.
7494         * gtk/gtktreeselection.c: Minor commenting updates.
7495         * gtk/gtktreeview.c: Format updates.
7496
7497 2000-10-09  Tor Lillqvist  <tml@iki.fi>
7498
7499         * README.win32: Update.
7500
7501         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
7502         lines that had been deleted by mistake (?).
7503
7504         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
7505         also the case fg==white and bg==black (but still not randomly
7506         coloured cursors). Thanks to Wolfgang Sourdeau.
7507
7508         * gdk/win32/*.c: Silence gcc -Wall.
7509
7510         * gtk/gtk.def: Add missing entry points.
7511
7512         Fixes by Hans Breuer:
7513
7514         * gdk/makefile.msc
7515         * gdk/win32/makefile.msc: Update.
7516
7517         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
7518         some MSVC thing, presumably), cause breakpoint on failures. Add
7519         GDK_NOR case. Call g_log_set_always_fatal.
7520
7521         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
7522         should be pased by reference.
7523         
7524         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
7525         
7526         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
7527
7528         * gdk/win32/gdkevents-win32.c
7529         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
7530
7531         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
7532         implementation object.
7533
7534         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
7535         not just windows.
7536         
7537         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
7538         Use the wrapper object.
7539         
7540 2000-10-06  Havoc Pennington  <hp@redhat.com>
7541
7542         * Makefile.am (SRC_SUBDIRS): contrib subdir
7543
7544         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
7545         so it can be used in Xlib version
7546
7547         * demos/testpixbuf.c (update_timeout): error checking from 1.0
7548         tree
7549
7550         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
7551         change from 1.0 tree that returns first frame of animation
7552         if the loaded file is an animation.
7553
7554         * contrib: add new directory to hold stuff that comes with GTK+
7555         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
7556         
7557         * configure.in: add contrib/*
7558
7559 2000-10-05  Havoc Pennington  <hp@redhat.com>
7560
7561         * demos/testpixbuf-save.c: add pixbuf save test
7562
7563         * demos/Makefile.am: add testpixbuf-save.c
7564
7565 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
7566
7567         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
7568         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
7569         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
7570         * gtk/gtktreeselection.[ch]: Replaced
7571         "node_selected"/"node_unselected" signal with "selection_changed"
7572         signal.
7573
7574 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
7575
7576         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
7577         tree widget.
7578
7579 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
7580
7581         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
7582         drawing.
7583
7584 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
7585
7586         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
7587         Move list pointer forwards before removing item from
7588         list. (Crash reported by Salmaso Raffaele)
7589
7590         * gdk/gdkwindow.h: Remove spurious trailing ,
7591
7592         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
7593         dependencies on uninstalled libraries, sorry folks.
7594
7595 2000-10-04  Havoc Pennington  <hp@redhat.com>
7596
7597         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
7598         gtk/gtkiconfactory.c: Fix copyrights    
7599
7600         * demos/testpixbuf.c: add inline pixbuf test
7601         
7602 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
7603
7604         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
7605         Add gdk_window_iconify.
7606
7607         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
7608         (gdk_window_set_geometry_hints): Add win_gravity
7609         to geometry structure.
7610
7611         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
7612         Implement _NET_WM_PING.
7613
7614         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
7615         Set _NET_WM_PID on the client leader.
7616
7617         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
7618         Handle UTF-8 better.
7619
7620         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
7621         UTF-8 better, set _NET_WM_NAME as well. Only set
7622         icon name if it hasn't previously been explicitely 
7623         set.
7624
7625 2000-10-03  Havoc Pennington  <hp@redhat.com>
7626
7627         * gtk/testtextbuffer.c: clean up trailing whitespace,
7628         add extensive tests for tag toggle iteration.
7629         
7630         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
7631         distance
7632
7633         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
7634         optimize case where the tag root is on level 1
7635         (gtk_text_line_previous_could_contain_tag): attempt to implement
7636         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
7637         functionality
7638
7639         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
7640         Implement this, though not very efficiently.
7641
7642         * gtk/gtktextiterprivate.h: reformat
7643
7644         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
7645         iterator
7646
7647         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
7648         this to properly revalidate the iterators.
7649
7650         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
7651         properly at the end of the line (and therefore on empty lines)
7652
7653         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
7654         maybe we should return a value...
7655
7656 2000-10-03  Tor Lillqvist  <tml@iki.fi>
7657
7658         * config.h.win32: Guard definition of alloca(). glib.h now handles
7659         that.
7660
7661         * gdk/gdk.def
7662         * gtk/gtk.def: Add new entry points.
7663
7664         Changes just to make GTK+ build without errors on Win32. No hope
7665         of it working in its current state, though...:
7666         
7667         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
7668         some functions from the X11 backend, just to make GTK+ build.
7669
7670         * gdk/makefile.mingw.in
7671         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
7672         number. Add new object files.
7673
7674         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
7675         GetMessageTime to get timestamp (where on X11 uses
7676         gdk_x11_get_server_time()).
7677
7678 2000-10-02  Havoc Pennington  <hp@pobox.com>
7679
7680         * gtk/gtktextview.c: text_window_* weren't static and should have
7681         been.
7682         Start work on child widgets; not yet complete, syncing to 
7683         office computer.
7684
7685         * gtk/gtktextchild.h: change this to contain a public interface,
7686         starting work on child interfaces.
7687         * gtk/gtktextchildprivate.h: move private interfaces here
7688
7689         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
7690
7691         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
7692         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
7693         gtk/gtktextmark.c: copyright notices
7694
7695         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
7696         internal functions      
7697
7698         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
7699         internal function
7700
7701         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
7702         Reformatting    
7703
7704 2000-09-30  Havoc Pennington  <hp@pobox.com>
7705
7706         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
7707         NULL start/end pointers
7708
7709         * gtk/gtktextbuffer.c: Write some docs
7710         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
7711         NULL, so you can just check whether there's a selection.        
7712
7713         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
7714         cleanup_line or segments_changed ourselves, it gets done 
7715         in unlink_segment
7716
7717         * gtk/gtktextmark.h:
7718         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
7719         
7720         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
7721
7722         * gtk/gtktextmark.c: delete some more old Tk cruft
7723
7724         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
7725         mark before removing it, so we can emit MARK_DELETED with a valid
7726         pointer.
7727         (gtk_text_buffer_mark_set): hold ref across signal emission
7728
7729         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
7730         whining about attempts to delete special marks
7731
7732         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
7733         underscore, since it's internal.
7734
7735         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
7736         now implemented in terms of iterators in gtktextiter.h
7737
7738         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
7739         New function, destructively sets contents of buffer. Also 
7740         a convenient way to clear the buffer by setting text to ""
7741
7742         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
7743         multiline string literal
7744
7745         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
7746         text changes.
7747
7748         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
7749         is not dereferenceable
7750         (gtk_text_iter_forward_lines): fix return value
7751
7752 2000-09-29  Havoc Pennington  <hp@redhat.com>
7753
7754         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
7755
7756         * gtk/gtktextview.c: Implement drag thresholding; change functions 
7757         that set border window size to have nicer name
7758         (gtk_text_view_mark_set_handler):  Fix this to have the 
7759         right signature.
7760
7761         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
7762
7763         * gtk/testtext.c: Update with API changes, put line numbers on 
7764         both sides.
7765         
7766         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
7767         with this
7768
7769         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
7770         pixbuf; delete a big block of #if 0 Tk code
7771
7772         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
7773         insert_pixmap with insert_pixbuf
7774
7775 2000-09-29  Martin Baulig  <baulig@suse.de>
7776
7777         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
7778         confusion with the GdkPixbuf of the GNOME 1.x platform.
7779
7780 2000-09-29  Havoc Pennington  <hp@pobox.com>
7781
7782         * gtk/gtktextview.c: Implement the side windows.
7783
7784         * gtk/testtext.c: Implement simple line numbering in the 
7785         left side window; seems to make scrolling sloooow. Oops.
7786         Also, cursor blink is for some reason causing redraws
7787         of the line numbers. Should investigate...
7788
7789 2000-09-28  Havoc Pennington  <hp@redhat.com>
7790
7791         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
7792         scrolling child windows, and draw focus rectangle properly.
7793         
7794         (gtk_text_view_buffer_to_window_coords):
7795         Coordinate transformation to deal with all these freaking windows
7796         and offsets
7797         (gtk_text_view_window_to_buffer_coords): transform the other way
7798
7799         * gtk/testtext.c (create_buffer): Update to match Pango API change
7800
7801         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
7802         anonymous tags
7803         (foreach_unref): don't emit remove signal from finalize, just
7804         set tag's parent to NULL
7805
7806 2000-09-26  Havoc Pennington  <hp@redhat.com>
7807
7808         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
7809         Fix some warnings       
7810
7811 2000-09-26  Havoc Pennington  <hp@redhat.com>
7812
7813         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
7814         headers into the private header list
7815
7816         * Makefile.am (pkgconfig_DATA): install pkg-config files
7817
7818         * configure.in: add pkg-config files
7819
7820         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
7821
7822         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
7823         outstanding icon caches on theme change.
7824
7825         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
7826         important types:
7827
7828         (GtkIconSource): Specification for creating a pixbuf 
7829         appropriate for a direction/state/size triplet from 
7830         a source pixbuf or filename
7831
7832         (GtkIconSet): List of GtkIconSource objects that are used to
7833         create the "same" icon (e.g. an OK button icon), and cache for
7834         rendered icons
7835
7836         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
7837         up the icon set for a given stock ID.  GTK maintains a stack of
7838         GtkIconFactory to search, and applications or libraries can add
7839         additional icon factories on top of the stack
7840         
7841         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
7842         the set of GtkIconSource specified for a given stock ID into 
7843         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
7844         RcStyle, under the specified stock ID.
7845
7846         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
7847         render_icon used to derive a GdkPixbuf from a GtkIconSource.
7848         This allows people to theme how prelight, insensitive, etc. are
7849         done.
7850
7851         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
7852         icon factories for a style, and return the resulting 
7853         icon set if any.
7854
7855         (gtk_style_render_icon): Render an icon using the render_icon 
7856         method in the GtkStyleClass.
7857
7858         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
7859         Use the style for a given widget to look up a stock ID, get the
7860         icon set, and render an icon using the render_icon method 
7861         of the style
7862
7863         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
7864         (contains information about a stock item), the built-in stock item
7865         IDs, and functions to add/lookup stock items.
7866
7867         * gtk/stock-icons/*: Stock icons that come with GTK
7868
7869         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
7870         a button based on a GtkStockItem
7871         (gtk_button_new_accel): Takes a uline string and accel group, and
7872         installs the accelerator.
7873
7874         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
7875         image-display widget.
7876
7877 2000-09-25  Havoc Pennington  <hp@redhat.com>
7878
7879         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
7880
7881         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
7882         Fix a bug when removing node data, we didn't properly 
7883         re-splice the linked list after removing the data.
7884
7885         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
7886         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
7887
7888         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
7889
7890         * gtk/gtktextlayout.c (set_para_values): Set tab array 
7891         for the layout from the GtkTextTag.
7892
7893         * gtk/gtktexttypes.h: delete tab and search cruft, 
7894         remove g_convert() in favor of GLib version
7895
7896         * gtk/gtktexttypes.c: remove tab implementation from here,
7897         move to Pango
7898
7899         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
7900         tab stuff using new PangoTabArray from Pango
7901
7902         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
7903         unused border_width stuff
7904
7905 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
7906
7907         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
7908         glib) and now useless utf_to_latin1() latin1_to_utf()
7909
7910         * gtk/gtktextview.[ch]: Change ::move_insert and
7911         ::delete_text action signals to ::move and ::delete;
7912         create the signals with the right enumeration type,
7913         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
7914         C-v bindings, change Home, End to move to beginning/end
7915         of line, Add C-Home C-End to move to beginning/end
7916         of buffer. Change ::cut_text to ::cut_clipboard, etc;
7917         combine ::scroll_text into ::move; use new GtkSelectionData
7918         functions to simplify DND text handling.
7919         
7920         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
7921         deletion enumerations here, rename enumeration values to 
7922         be consistently plural.
7923
7924         * gtk/gtktextbuffer.c: Use new clipboard interfaces
7925         for cut/copy/paste and primary selection.
7926
7927         * gtk/gtktextbuffer.[ch]: Remove excess time and
7928         'interactive' arguments from cut/copy/paste;
7929         rename cut to cut_clipboard, etc; remove
7930         gtk_text_buffer_get_clipboard_contents().
7931
7932         * gtk/gtktextlayout.[ch]: Add 
7933         gtk_text_layout_move_iter_to_line_end() to move the iter to 
7934         line ends.
7935
7936         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
7937         Functions to set or get a UTF-8 string on the selection
7938         data.
7939
7940         * gtk/gtkclipboard.[ch]: New, simplified selection handling
7941         interfaces.
7942
7943         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
7944         created widgets - one of these is useless if we don't.
7945
7946         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
7947         a public function clear all targets registered for the
7948         widget.
7949
7950         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
7951         Never call gtk_widget_realize() - that was just asking
7952         for bizarre side-effects.
7953
7954         * gtk/gtkselection.c (gtk_selection_owner_set): Call
7955         gdk_selection_owner_set even if the widget is the
7956         same so that we reliably update the timestamp on
7957         the server.
7958
7959         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
7960         gdk_x11_get_server_time() function.
7961         
7962         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
7963         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
7964         Add some tricky filtering on serial numbers for
7965         selection clear events to fix up long-standard
7966         race condition FIXME's in gtkselection.c.
7967
7968         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
7969         routines to convert from utf8 to compound text or
7970         STRING and from a text property to UTF-8.
7971
7972         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
7973         a convenience function gdk_get_current_event_time().
7974
7975         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
7976         and free selection_data->data properly
7977
7978 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
7979
7980         * gtk/gtkthemes.c: Remove some unecessary includes.
7981
7982 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
7983
7984         * gtk/gtktextdisplay.c
7985         * gtk/gtktextlayout.c
7986         * gtk/gtktexttag.c
7987         * gtk/gtktexttag.h
7988         * gtk/testtext.c: Change the overstrike property to strikethrough,
7989         to closer match pango.
7990
7991 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
7992
7993         * gtk/gtktextview.c: Fix up visibility so that focus,
7994         cursor_visible and blink interact properly.  Reenable cursor blink
7995         which had been roughly disabled. Make blink and focus
7996         properly per-view.
7997
7998         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
7999         Add a flag for whether to display insertion cursor and
8000         a function to set the flag.
8001
8002         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
8003         get_line_y() to get_line_yrange(), to be a bit more generally
8004         useful.
8005
8006 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
8007
8008         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
8009           do stop_navigating_submenu, to clear last timeout properly.
8010           Also in gtk_menu_motion_notify move ignore_enter above
8011           the conditional to make it always happen as suggested by Owen
8012
8013 2000-09-07  Tor Lillqvist  <tml@iki.fi>
8014
8015         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
8016
8017         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
8018         w32api headers.
8019
8020         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
8021         declarations.
8022
8023         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
8024         (gdk_win32_get_colormap): A line had been deleted by mistake.
8025
8026         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
8027         (gdk_event_translate): Handle more virtual keycodes to be able to
8028         generate GDK events for Control-comma, Control-period, etc.
8029
8030         * gtk/gtk.def: Add some missing entry points.
8031
8032 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
8033
8034         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
8035         Doc comment fixing. (Mostly non-matching parameter names.)
8036
8037         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
8038         comments a little to avoid looking like a doc comment.
8039
8040         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
8041         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
8042         conversions be changed to GError?)
8043
8044         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
8045         Move private #defines into .c file.
8046
8047         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
8048         order of argument addition, remove duplicates.
8049
8050         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
8051         parent class is FrameClass, not BinClass.
8052
8053         * gtk/gtk.h: Add gtkinvisible, which was missing.
8054         (It's occasionalyl useful for client apps, if seldom.)
8055
8056         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
8057         #define.
8058
8059 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
8060
8061         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
8062         coordinates when creating window, instead of GDK-space
8063         coordinates. (Avoid BadValue on too large windows.)
8064
8065 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
8066
8067         * configure.in (use_mmx_asm): Remove conftest* after use along the
8068         lines of AC_TRY_COMPILE.        
8069         
8070         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
8071         of g_dirname, which is deprecated.
8072         (gtk_rc_parse_any): Removed calls to
8073         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
8074
8075         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
8076         Removed calls to g_hash_table_{freeze,thaw}, as they are
8077         deprecated now.
8078
8079         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
8080         instead of g_basename.
8081         
8082 2000-09-04 Elliot Lee <sopwith@redhat.com>
8083         
8084         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
8085         ANSI warning.
8086
8087 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
8088
8089         * gtk/gtkwidget.h:  Add some documenting comments about 
8090           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
8091           just as owen said on irc.
8092
8093         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
8094           set HAS_DEFAULT.  Only set it if there isn't another window
8095           holding it (a focus window which RECEIVES_DEFAULT) and only unset
8096           it if the widget is not the focused window with RECEIVES_DEFAULT.
8097           This fixes weird double default bugs in dialogs which has things
8098           call gtk_window_set_default at times.
8099
8100 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
8101
8102         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
8103         Nils Barth and David Santiago to improve submenu
8104         navigation. The patch does this by creating a triangular
8105         region from the point where the pointer leaves the
8106         menu to the submenu.  While the pointer is in
8107         that region and a timeout has not expired, events 
8108         that would cause the active submenu to change are
8109         ignored.
8110
8111 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
8112
8113         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
8114         moving a toplevel window immediately after sizing it would
8115         result in it being sized back to the old size since 
8116         impl->width, impl->height aren't updated until we hear
8117         back from the server. There is still a (longstanding) bug
8118         here that gdk_window_get_size() will give the wrong size
8119         until we do hear back.
8120
8121 2000-08-31  Havoc Pennington  <hp@redhat.com>
8122
8123         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
8124         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
8125         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
8126         Rename GtkTextStyleValues to GtkTextAttributes
8127
8128 2000-08-31  Havoc Pennington  <hp@pobox.com>
8129
8130         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
8131         for rapid testing whether an iterator is the end iterator
8132         (gtk_text_btree_new): init end line cache
8133         (gtk_text_line_is_last): use fast cached line to 
8134         see if we're the last line.
8135         (get_last_line): use cached line here too, should 
8136         speed up some random unrelated code.
8137         
8138 2000-08-30  Havoc Pennington  <hp@pobox.com>
8139
8140         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
8141         signals.
8142
8143         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
8144         delete_text signals. This allows the signals to be used for
8145         implementing undo.
8146
8147         * gtk/gtktextbuffer.c: Change signal handler signatures; 
8148         provide "interactive" argument when emitting insert_text or
8149         delete_text signal.
8150         
8151 2000-08-30  Havoc Pennington  <hp@pobox.com>
8152
8153         * gtk/gtktextbuffer.c: Docs
8154
8155 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
8156
8157         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
8158         from switch statements, since Tor removed the enumeration
8159         value.
8160         
8161         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
8162         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
8163
8164 2000-08-29 Elliot Lee <sopwith@redhat.com>
8165         * */*.h: Use G_GNUC_CONST.
8166
8167 2000-08-27  Havoc Pennington  <hp@pobox.com>
8168
8169         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
8170         minor indentation fixes, inserted some FIXME about stuff I
8171         realized was broken while documenting it.
8172         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
8173         GTK convention  
8174
8175 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
8176
8177         * gtk/testgtk.c (create_styles): Fix double free of
8178         font desc.
8179
8180 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
8181
8182         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
8183         
8184         * gtk/testgtk.c (create_styles): Add a test for modifying
8185         the style through gtk_widget_modify_*.
8186
8187         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
8188         a function to get the current modifier style.
8189
8190         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
8191         of the passed in GtkRcStyle instead of ref'ing it.
8192
8193         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
8194
8195 2000-08-20  Tor Lillqvist  <tml@iki.fi>
8196
8197         * gdk/gdkimage.h
8198         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
8199         shared memory image+pixmap GdkImage type, or
8200         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
8201         I am dropping that.
8202
8203         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
8204         actually call gtk_init_abi_check(), passing also
8205         sizeof(GtkWindow). Ditto for gtk_init_check(). 
8206
8207         * gtk/gtk.def
8208         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
8209         New functions, used to check that the GTK+-using code has been
8210         compiled using the correct compiler and switches. In particular,
8211         with gcc one has to use the -fnative-struct switch as GTK+ is
8212         compiled with that.
8213
8214 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
8215
8216         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
8217         ->prev fields when merging lists. (Found simultaneously
8218         by Pawel Salek and Jakub Jelinek)
8219
8220 2000-08-12  Tor Lillqvist  <tml@iki.fi>
8221
8222         * gdk/gdk.def
8223         * gtk/gtk.def: Add missing entries.
8224
8225         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
8226         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
8227
8228         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
8229         function. Dummy implementation at this point.
8230
8231         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
8232         rules. Undefine GTK_COMPILATION when compiling the test programs.
8233         
8234         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
8235
8236 2000-08-11  Tor Lillqvist  <tml@iki.fi>
8237
8238         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
8239         to convert back and forth from UTF-8 and the "system" (or "current
8240         locale") charset when necessary. Indentation/spacing cleanup.
8241
8242 2000-08-10  Havoc Pennington  <hp@redhat.com>
8243
8244         * Makefile.am (snapshot): Change the format of the snapshot
8245         version to match glib
8246
8247         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
8248         from EXTRA_DIST since it doesn't seem to exist
8249
8250 2000-08-10  Tor Lillqvist  <tml@iki.fi>
8251
8252         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
8253         version of the directory name (not the UTF-8 one) when building
8254         the path name to stat().
8255
8256 2000-08-03  Elliot Lee  <sopwith@redhat.com>
8257
8258         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
8259         PANGO_ATTR_SHAPE set.
8260
8261 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
8262
8263         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
8264         Peter Osterlund to simplify the code while keeping the
8265         functionality the same.
8266
8267 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
8268
8269         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
8270         is_viewable() test further inside the function, since removing the 
8271         window from the redraw list without clearing ->update_area
8272         was also very broken.
8273
8274 2000-08-02  Tor Lillqvist  <tml@iki.fi>
8275
8276         * configure.in: Check for <unistd.h>.
8277
8278 2000-08-01  Martin Baulig  <baulig@suse.de>
8279
8280         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
8281         to display the message that this is a development version of GTK+.
8282
8283 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
8284
8285         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
8286         was depending on widget->allocation instead of the width of text_area,
8287         which was incorrect for subclasses like GtkSpinButton.
8288
8289         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
8290         with width == 1 tests that should be width == -1.
8291
8292 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
8293
8294         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
8295         (broken, Elliot, every single window blank on X) custom code with call
8296         to gdk_window_is_viewable() which a) prevents code duplicate and
8297         b) works. 
8298
8299 2000-07-31  Elliot Lee  <sopwith@redhat.com>
8300
8301         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
8302         to get the GDK_PARENT_ROOT() macro to work.
8303         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
8304         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
8305         of, windows that aren't shown.
8306         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
8307         pointer grab stuff.
8308
8309 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
8310
8311         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
8312           s/gtk_main_iteration/g_main_iteration/
8313
8314           Did this already in change:
8315                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
8316           don't know how it got reverted.
8317
8318 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
8319
8320         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
8321         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
8322
8323         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
8324         not gdk_pixbuf.
8325
8326 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
8327
8328         * configure.in,po/{sp,sr}.po: Added Serbian files
8329
8330 2000-07-30  Tor Lillqvist  <tml@iki.fi>
8331
8332         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
8333
8334         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
8335         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
8336         GIOChannel implementation.
8337
8338         * gdk/win32/gdkinput.c
8339         * gdk/win32/gdkpango-win32.c: Update license name here, too.
8340
8341         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
8342         definition to match prototype.
8343
8344         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
8345
8346 2000-07-27  Elliot Lee  <sopwith@redhat.com>
8347
8348         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
8349         function, to allow handling image formats that cannot be detected
8350         by looking at content alone.
8351
8352 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
8353
8354         * docs/tutorial/*.gif *.jpg *.eps
8355           Update these to the same look-n-feel.
8356           Why does including images in DocBook suck so badly?
8357
8358 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
8359
8360         * gtk/gtktable.c: applied patch from Phil Thompson
8361         <phil@river-bank.demon.co.uk> that enables space settings for
8362         the last row/columns as well.
8363
8364 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
8365
8366         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
8367         updates the license headers to the GNU Lesser General Public License,
8368         as well as updating the copyright year to 2000.
8369
8370 2000-07-26  Robert Brady  <rwb197@zepler.org>
8371
8372         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
8373           and po/Makefile, was installing and looking for them under gtk20
8374           and gtk2 respectively.
8375
8376 2000-07-25  Havoc Pennington  <hp@redhat.com>
8377
8378         * gtk/testtext.c: Comment out some stuff that depends on the rest
8379         of my patches.
8380
8381 2000-07-25  Havoc Pennington  <hp@redhat.com>
8382
8383         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
8384         buffer
8385
8386 2000-07-25  Havoc Pennington  <hp@redhat.com>
8387
8388         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
8389         widget changes.
8390
8391         * gtk/gtktextview.h: To be consistent with usage of "line"
8392         throughout the API to mean "newline-terminated thingy", change
8393         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
8394         to MOVEMENT_LINE.
8395
8396         (GtkTextView): Add flags for default editability, and whether to
8397         show the cursor. Add functions to get/set that. Add 
8398
8399         (gtk_text_view_get_iter_location): new function
8400
8401         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
8402         gtktextlayout.h
8403         (g_convert): Add g_convert temporarily, will go in glib in a bit
8404         
8405         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
8406         GtkTextTagTableForeach instead of brokenly using GHFunc.
8407         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
8408
8409         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
8410         moved to public header.
8411
8412         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
8413         "invisible", since "elide" was a bad name.
8414         (gtk_text_tag_get_priority): Added
8415
8416         (GtkTextStyleValues): put this in public header, along with
8417         functions to use it.
8418
8419         * gtk/gtktextmarkprivate.h: Include more headers, since we no
8420         longer include gtktextbtree.h.
8421
8422         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
8423         gtk_text_mark_deleted
8424
8425         * gtk/gtktextlayout.h: Don't include the "really private" headers,
8426         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
8427         to make this possible. Now we only need to install
8428         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
8429         (However the Makefile.am isn't changed yet because of the
8430         logistics of merging gtk-hp-patches piecemeal)
8431
8432         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
8433         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
8434         gtk_text_iter_get_line is now used in the public API for a
8435         different purpose.
8436
8437         * gtk/gtktextiter.h: Clean up function names to be more
8438         consistent. Always call char offset "offset" and byte index
8439         "index". A "line" is always a line number. 
8440
8441         (gtk_text_iter_is_last): new function, more efficient than 
8442         the existing way to check
8443         (gtk_text_iter_is_first): new function, also more efficient
8444
8445         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
8446
8447         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
8448         gtk_text_iter_forward_char, etc.
8449
8450         (gtk_text_iter_forward_to_tag_toggle): Renamed from
8451         forward_find_tag_toggle, since this isn't a linear search
8452
8453         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
8454
8455         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
8456         New functions, search for a buffer substring.
8457
8458         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
8459         interactive and default editable (since we need to store that info
8460         until we receive the selection data).
8461
8462         Remove all the _at_char and at_line etc. versions of functions;
8463         only have iterator versions.
8464
8465         Add _interactive() versions of functions, that consider the
8466         editability of text. (FIXME add interactive flag to the 
8467         insert/delete signals per Darin's suggestion)
8468
8469         (gtk_text_buffer_get_tag_table): new function, demand-creates the
8470         tag table if necessary
8471
8472         Remove declaration of gtk_text_buffer_get_iter_from_string
8473
8474         (_gtk_text_buffer_get_btree): private/internal function, added.
8475         
8476
8477         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
8478         (gtk_text_line_is_last): new function
8479
8480 2000-07-25  Havoc Pennington  <hp@redhat.com>
8481
8482         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
8483         using GtkProgressBar. See Changes-2.0.txt for details.
8484
8485         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
8486         "pulse_step" which are the equivalent of
8487         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
8488         Implement new API.
8489         
8490         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
8491         (use_text_format) to mark whether text set on the progress bar is
8492         a format string. Deprecate entire GtkProgress interface.
8493
8494         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
8495         (gtk_progress_build_string): make this a no-op if use_text_format
8496         is FALSE
8497
8498         * docs/Changes-2.0.txt: Describe progress bar changes.
8499
8500 2000-07-25  Tor Lillqvist  <tml@iki.fi>
8501
8502         * Makefile.am: Include the build directory.
8503
8504         * configure.in: Generate build/Makefile, build/win32/Makefile,
8505         gdk/, gdk/win32/, and gtk/makefile.mingw.
8506
8507         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
8508         Add GETTEXT_PACKAGE.
8509         
8510         * gdk/gdk.def
8511         * gtk/gtk.def: Updates.
8512
8513         * gdk/gdkfont.h
8514         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
8515         need them any longer.
8516
8517         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
8518
8519         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
8520         PANGOWIN32_LIBS and gdk_pixbuf.
8521
8522         * gdk/win32: Compiles, but no doubt doesn't work at all.
8523
8524         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
8525
8526         * gdk/win32/gdkinput.c: New file, temporarily.
8527         
8528         * gdk/win32/gdkinput-win32.h: New file
8529
8530         * gdk/win32/gdkinputprivate.h: Remove.
8531
8532         * gdk/win32/gdkpango-win32.c: New file.
8533
8534         * gtk/makefile.mingw.in: New file
8535
8536         * gtk/makefile.cygwin: Removed
8537         
8538         * gtk/Makefile.am: Update accordingly.
8539
8540         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
8541         made externally visible.
8542
8543         * gtk/gtkmain.c: Use it.
8544         
8545         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
8546         is enough.
8547
8548         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
8549
8550 2000-07-24 Elliot Lee <sopwith@redhat.com>
8551         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
8552         individual backends already.
8553         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
8554         again. Yes, there really is a good reason for this, if you are using the gdkregion
8555         internals, and if you're not, why do you care?
8556         * gdk/gdkwindow.c: Fix inverted condition
8557         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
8558         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
8559         * gtk/gtkrange.c: Redraw trough when moving.
8560         * gtk/gtktypeutils.c: Fix warning by adding const cast.
8561         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
8562
8563 2000-07-23  Tor Lillqvist  <tml@iki.fi>
8564
8565         * configure.in: Check for mkstemp and sigsetjmp. Output
8566         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
8567
8568         More work on GDK for Win32. Still in an intermediate state.
8569
8570         * gdk/makefile.cygwin
8571         * gdk/win32/makefile.cygwin: Removed.
8572         
8573         * gdk/makefile.mingw.in
8574         * gdk/win32/makefile.mingw.in: New files.
8575
8576         * gdk/Makefile.am
8577         * gdk/win32/Makefile.am: Generate and distribute them.
8578
8579         * gdk/win32/gdkwindow-win32.h
8580         * gdk/win32/gdkdrawable-win32.h
8581         * gdk/win32/gdkpixmap-win32.h: New files.
8582
8583         * gdk/win32/gdkcolor-win32.c
8584         * gdk/win32/gdkcursor-win32.c
8585         * gdk/win32/gdkdrawable-win32.c
8586         * gdk/win32/gdkgc-win32.c
8587         * gdk/win32/gdkimage-win32.c
8588         * gdk/win32/gdkprivate-win32.h
8589         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
8590         Rename fields and variables called xcursor, xid, etc (these names
8591         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
8592
8593 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
8594
8595         * gtk/gtkentry.[ch]: Fix some problems with vertical
8596         alignment.
8597
8598         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
8599         char/byte confusion.
8600
8601 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
8602
8603         * gtk/gtktextview.c (changed_handler): Fix bug where
8604         redraw wasn't being done properly when height of
8605         dirty region changed.
8606
8607         * demos/Makefile.am: Remove various references to
8608         -lgmodule
8609
8610 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
8611
8612         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
8613         PangoAttrShape to reserve space for pixmaps, add 
8614         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
8615         in the display functions.
8616         
8617         * gtk/testgtk.c (create_layout): Set some more exotic
8618         scrolled window options
8619
8620         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
8621         Add function to set the shadow type of a window, to allow
8622         putting a shadow around widgets such as GtkLayout or GnomeCanvas
8623         which don't draw their own frame.
8624
8625 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
8626
8627         * docs/tutorial/package-db-tutorial.sh: New file for
8628           packaging DocBook format tutorial
8629
8630 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
8631
8632         * docs/tutorial/gtk-tut.sgml: Minor updates
8633
8634         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
8635
8636 2000-07-19  Tor Lillqvist  <tml@iki.fi>
8637
8638         * gtk/gtksignal.c: Fix C++ comment.
8639
8640         * gtk/gtkimmulticontext.c
8641         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
8642         don't return value from void functions.
8643
8644         * gtk/gtk.def: Add gtk_rc_style_unref.
8645
8646 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
8647
8648         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
8649         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
8650         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
8651         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
8652         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
8653         gtk/gtktypeutils.h: Include files outside of the extern "C"
8654         block. Makes some C++ compiler happy. Reported by Denis Vakatov
8655         <vakatov@peony.nlm.nih.gov>.
8656
8657 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
8658
8659         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
8660           Completes first pass. Hurrah!
8661
8662 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
8663
8664         * docs/tutorial/gtk-tut.sgml: More clean ups.
8665
8666 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
8667
8668         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
8669         paint the background of the text area which was accidentally
8670         removed at some point.
8671
8672         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
8673           
8674          - Move most of the functionality from the theme vtable
8675            into GtkRcStyleClass and GtkStyleClass. The moved
8676            vtable functions were changed a bit in the move to
8677            work better in their new home.
8678
8679          - Get rid of the engine and engine_data fields from
8680            GtkRcStyle and GtkStyle; instead the theme
8681            engine derives theme-specific subclasses of GtkRcStyle
8682            and GtkStyle
8683
8684          - Add extra dlsym() found entry point to themes,
8685            theme_create_rc_style().
8686
8687         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
8688         in gtk_style_real_copy.
8689
8690         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
8691         to register a type associated with an engine. (The engine
8692         won't be unloaded as there is an instance of the type.)
8693
8694
8695 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
8696
8697         * docs/tutorial/gtk-tut.sgml: Clean ups.
8698
8699 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
8700
8701         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
8702           of cleaning up to do.
8703
8704 2000-07-15  Tor Lillqvist  <tml@iki.fi>
8705
8706         * gdk/testgdk.c: New file, quick hack to test backends for
8707         pixel-by-pixel correctness of the most simple graphic operations.
8708
8709 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
8710
8711         * Really release 1.3.1
8712         
8713         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
8714         include structure.
8715
8716 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
8717
8718         * Released 1.3.1
8719
8720 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
8721
8722         * gtk/gtktextlayout.c: use FALSE for size_only most
8723         of the time when calling gtk_text_layout_get_line_display()
8724         to avoid causing double reshapes when a redraw follows
8725         immediately after.
8726
8727 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
8728
8729         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
8730         appropriate region and gdk_window_process_updates() so trough
8731         updating doesn't lag behind the window being scrolled.
8732
8733         * gdk/gdkgc.c: Make parent_class pointer static.
8734          
8735 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
8736
8737         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
8738         include <string.h>.
8739          
8740         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
8741         cut-and-paste error in computing memory offset for 4 channels.
8742
8743 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
8744
8745         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
8746         gtk_rc_append_default_pixmap_path(), since it wasn't
8747         adding an interesting path and we don't have a meaningful
8748         default for this value.
8749
8750 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
8751
8752         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
8753         gtk-config to gtk-config-2.0 move gtk_.m4 to
8754         gtk-2.0.m4
8755
8756         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
8757         gdk/Makefile.am demos/Makefile.am: Change 
8758         library names to libgtk-1.3.la, etc, so that we
8759         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
8760
8761         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
8762         gdk/Makefile.am gdk/x11/Makfile.am
8763         Move include files into /usr/include/gtk-2.0, 
8764         /usr/lib/gtk-2.0/include/
8765          
8766         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
8767         gtk/gtkintl.h: Change package for gettext from 
8768         gtk+ to gtk20. Put hack in autogen.sh to modify
8769         po/Makefile.in.in after gettextize to make this
8770         possible.
8771
8772         * gtk+.spec: Some updates, not tested.
8773
8774         * gdk-pixbuf/Makefile.am: Move loaders into
8775         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
8776
8777         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
8778         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
8779         to THEMENAME/gtk-2.0/. Move engine directory  to
8780         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
8781         
8782 2000-07-12  Tor Lillqvist  <tml@iki.fi>
8783
8784         Win32 changes, still doesn't build though.
8785
8786         * gdk/makefile.cygwin
8787         * gdk/win32/makefile.cygwin
8788         * gtk/makefile.cygwin: Updates.
8789
8790         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
8791         default values for fg and bg pixel as X11 does (0 and 1), not
8792         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
8793         Use 0 for pen width by default (treated as 1 anyway later, but for
8794         apps that might check the value in the GdkGC).
8795         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
8796         interface to gdk_gc_predraw and _postdraw.
8797
8798         * gdk/win32/gdkwin32.h
8799         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
8800
8801         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
8802         extraneous semicolon.
8803
8804         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
8805
8806         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
8807         not the Win32 bitspixel value.
8808
8809         * gdk/win32/gdkcc-win32.c:
8810         * gdk/win32/gdkcolor-win32.c 
8811         * gdk/win32/gdkprivate-win32.h
8812         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
8813         GDK object structure.
8814
8815 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
8816
8817         * docs/tutorial/gtk_tut_12.es.sgml (name): 
8818         * docs/tutorial/gtk_tut_it.sgml (name): 
8819         * docs/tutorial/gtk_tut_fr.sgml (name): 
8820         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
8821         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
8822
8823 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
8824
8825         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
8826           small changes.
8827
8828 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
8829
8830         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
8831         a bug here, never been here and never fixed anything ;(
8832         (don't segfault if tree->root_tree is NULL, which happens prior
8833         to widget realization, but puke instead).
8834
8835 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
8836
8837         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
8838         add the necessary tokens.
8839
8840         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
8841         (gtk_rc_style_to_style): copy thicknesses.
8842         (gtk_rc_init_style): apply thicknesses.
8843         (gtk_rc_parse_style): parse xthickness and ythickness.
8844
8845         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
8846
8847         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
8848         (gdk_window_new): 
8849         (_gdk_windowing_window_init): 
8850         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
8851         (gdk_pixmap_create_from_data): 
8852         (gdk_bitmap_create_from_data): 
8853         (gdk_pixmap_new): 
8854         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
8855         (gdk_image_new): 
8856         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
8857         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
8858         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
8859         (gdk_colormap_get_system): 
8860         (gdk_colormap_new): 
8861         * gdk/gdkwindow.c (gdk_window_init): 
8862         * gtk/gtkstyle.c (gtk_style_new):
8863         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
8864         * gdk/gdkpixmap.c (gdk_pixmap_init): 
8865         * gtk/gtkrc.c (gtk_rc_style_new):
8866         use g_object_new() instead of g_type_create_instance() which
8867         is a private function for fundamental type implementations.
8868
8869 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
8870
8871         * configure.in: Add check for db2html
8872
8873 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
8874
8875         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
8876         hack to set glib_debug_objects based on gtk_debug_flags.
8877
8878 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
8879
8880         * INSTALL.in: Update the Prerequisites section.
8881
8882         * Makefile.am demos/Makefile.am docs/Makefile.am
8883         docs/tutorial/Makefile.am gdk/x11/Makefile.am
8884         gdk/linux-fb/Makefile.am: Dist fixes
8885
8886 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
8887
8888         * NEWS: 10,000 foot view of 1.3.1 changes.
8889
8890 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
8891
8892         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
8893         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
8894         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
8895         gdk/x11/gdkmain-x11.c: 
8896
8897         Patch from George Lebl to add a GdkGrabStatus enumeration to use
8898         as a return value of gdk_*_grab(). Previously, we just
8899         returned the X11 values directly.
8900
8901 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
8902
8903         * gdk/x11/Makefile.am: Patch from George Lebl to 
8904         install all the headers in the right place.
8905
8906 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
8907
8908         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
8909           initial conversion to DocBook.
8910
8911 2000-07-04  Tor Lillqvist  <tml@iki.fi>
8912
8913         * README.win32: Improve a bit.
8914
8915         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
8916         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
8917         Alt+0nnn on the numpad (used to enter characters by numeric code
8918         from current DOS or ANSI codepage) working correctly, as in other
8919         Windows apps.
8920
8921         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
8922         same argument validity tests as in X11 version.
8923         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
8924
8925         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
8926         definitions in case missing from headers.
8927
8928         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
8929         destroy the window-specific cursor.
8930         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
8931         calling GetModuleHandle(NULL).
8932         (gdk_window_set_cursor): Reworked to always copy the passed cursor
8933         with CopyCursor before setting it as the window-specific
8934         cursor. It is OK for the caller to destroy the GdkCursor (and thus
8935         also its Windows cursor) after calling this function. Destroy any
8936         previous window-specific cursor.
8937
8938 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
8939
8940         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
8941         font charset is iso8859-1, not iso-8859-1.
8942
8943 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
8944
8945         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
8946         Use g_get_charset() instead of g_get_codeset().
8947
8948         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
8949         Comment out some strdup'ing functions to keep timj
8950         happy until we finish fighting this out.
8951
8952 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
8953
8954         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
8955         <= width or height.
8956
8957         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
8958         from 1.2 for parent/child states.
8959
8960         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
8961         of typos.
8962
8963         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
8964         event structures, replace with a generic axes field. Replace 
8965         deviceid/sourec with GdkDevice *device.
8966
8967         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
8968         to extract particular axis use value from event. (Also
8969         can be used for normal X/Y.)
8970
8971         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
8972         allow for arbitrary number of axes, namespace everything
8973         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
8974         everywhere.
8975
8976         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
8977         Get rid of the gdk_input_vtable setup if favor of simply
8978         defining the functions in gdkinput-none/gxi/xfree.c in
8979         a similar fashion to the way that the port structure is 
8980         done.
8981
8982         * gtk/gtkdnd.c: Fix fields of synthesized button press event
8983         for new event structures. 
8984
8985         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
8986         new device interfaces.
8987
8988 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
8989
8990         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
8991         set the initial text.
8992
8993         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
8994         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
8995         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
8996         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
8997
8998         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
8999         pango_layout_set_font_description to simplify.
9000
9001 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
9002
9003         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
9004         pango_layout_set_font_description to simplify.
9005
9006 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
9007
9008         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
9009         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
9010         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
9011
9012         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
9013         PANGO_PIXELS() macro.
9014
9015 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
9016
9017         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
9018         that returns a PangoContext owned by the widget and updated to
9019         match future changes in the widget. Also, make 
9020         gtk_widget_create_pango_layout() use this context. If we ever
9021         add a ::changed signal to PangoContext, this will make things
9022         much more convenient. 
9023
9024         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
9025         in the appropriate places instead of destroying the layouts and
9026         creating new ones.
9027
9028         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
9029         in a few strategic places.
9030
9031 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
9032
9033         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
9034         gtk_widget_size_request() on reparented child, if one. Otherwise,
9035         queue_resize() on the child never results in it getting size-requested
9036         at all.
9037
9038         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
9039         in option menus, so that (with luck) people won't copy it into
9040         their apps in the future.
9041
9042         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
9043         to gtk_option_menu_calc_size. This isn't perfect, but should fix
9044         a lot of problems with changing the size of the menu's menu
9045         items after adding it to the option menu.
9046
9047         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
9048
9049         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
9050         the text direction for a widget changes.
9051
9052         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
9053         ::direction_changed to get rid of various hacks.
9054
9055 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
9056
9057         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
9058         name.
9059
9060 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
9061
9062         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
9063         flag to the structure. Do not call XFreePixmap on pixmaps created
9064         by gdk_pixmap_foreign_new().
9065
9066 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
9067
9068         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
9069         value using GdkRGB functionality given GdkColormap and GdkColor.
9070         (name not final, waiting for inspiration.)
9071         
9072         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
9073         set the foreground/background of a GC using the GC's colormap
9074         and GdkRGB. (name not final, waiting for inspiration.)
9075
9076         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
9077         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
9078
9079         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
9080         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
9081         purely a function of the corresponding colormap. Make
9082         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
9083
9084         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
9085         gdk_pixbuf_*create_from_xpm_* in terms of
9086         gdk_pixbuf_new_from_xpm_data(), move into platform independent
9087         code.
9088
9089         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
9090         advantage of the new draw_rgb_32_image_dithalign.
9091
9092         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
9093
9094         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
9095         on each created GC.
9096
9097         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
9098
9099         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
9100         which we initialize from the drawable when the GC is created,
9101         if the drawable has a colormap.
9102
9103         * gdk/x11/gdkgc-x11.c: include string.h for memset.
9104
9105         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
9106
9107         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
9108
9109 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
9110
9111         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
9112         actually returning expose events, make sure to set
9113         the count field properly.
9114
9115         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
9116         accidentally reintroced bug which always cleared
9117         the graphics_exposures value. 
9118
9119 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
9120
9121         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
9122
9123 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
9124
9125         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
9126
9127 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
9128
9129         * docs/faq/gtk-faq.sgml: Start of Section 6.
9130
9131 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
9132
9133         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
9134         
9135         (Fixes problem with drawing childless frames. Pointed out
9136         by and a first patch from Anders)
9137         
9138         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
9139         compute a child_allocation, even if we don't have a child.
9140
9141         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
9142         Always chain to the parent's impl, even if we don't have a child.
9143
9144 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
9145
9146         * gdk/gdkrgb.c: If possible, create only a single shm segment and
9147         use multiple parts of it instead of creating a bunch of separate
9148         segments, since the maximum number of segments per system is not
9149         large. (This might be worth backporting to GTK+-1.2.x if we make a
9150         new release )
9151
9152         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
9153         structure in preparation for per-colormap GdkRGB.
9154
9155         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
9156         to False when we get EINVAL from shmget so that the caller of
9157         gdk_image_new can retry with a smaller segment size.
9158
9159 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
9160
9161         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
9162
9163 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
9164
9165         * configure.in: make the current version number 1.3.1 (binary age 0,
9166         interface age 0).
9167         
9168         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
9169         gtkcompat.h is all we want.
9170
9171         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
9172         GLib primitive types. fixed g_type_register_fundamental() argument
9173         ordering.
9174
9175         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
9176         compiles.
9177
9178         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
9179         object code cleanup, comment trigraph fixes, etc...
9180
9181 2000-06-23  Havoc Pennington  <hp@redhat.com>
9182
9183         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
9184         instead of making up a bogus name for first_para_mark
9185
9186         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
9187         0 as a context ID
9188
9189 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
9190
9191         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
9192
9193 2000-06-21  Havoc Pennington  <hp@pobox.com>
9194
9195         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
9196         we didn't check window->bg_pixmap != GDK_NO_BG.
9197
9198         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
9199         gdk-pixbuf
9200
9201 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
9202
9203         * docs/faq/gtk-faq.sgm: Move file to here.
9204           TODO: Update Makfile.am 
9205
9206 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
9207
9208         * docs/gtk-faq.sgm: Add Section 2
9209
9210 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
9211
9212         * docs/gtk-faq.sgm: New file. Start of DocBook
9213           version of the FAQ.
9214
9215 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
9216
9217         * configure.in (GDK_PIXBUF_MAJOR): Define version
9218         numbers for GDK_PIXBUF_*, as they get substituted
9219         into a header file. Need to consider versioning
9220         for gdk-pixbuf more carefully later.
9221
9222 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
9223
9224         Work with srcdir != builddir.   
9225         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
9226         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
9227         * demos/testpixbuf.c: Likewise.
9228         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
9229         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
9230         <gdk/x11/gdkx.h>.
9231         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
9232         "gdk-pixbuf.h".
9233         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
9234
9235 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
9236
9237         * TODO.xml: Change 1.4 version numbers to 2.0.
9238
9239 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
9240
9241         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
9242         fixups to GTK+ standard.
9243
9244 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
9245
9246         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
9247         gdk-pixbuf.
9248
9249         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
9250         fixups for GObject.
9251
9252         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
9253         gdk-pixbuf with GDK dependencies moved into GDK.
9254         
9255         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
9256         move gdk-pixbuf-loader here until GObject has signals.
9257
9258         * demos/: New directory of demos. Move demos from
9259         gdk-pixbuf here.
9260
9261         * demos/pixbuf-init.c: Small bit of code to check for
9262         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
9263         set GDK_PIXBUF_MODULEDIR appropriately.
9264
9265         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
9266         define which no longer makes sense.
9267
9268 2000-06-21  Havoc Pennington  <hp@redhat.com>
9269
9270         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
9271         gtk_get_default_language
9272
9273         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
9274         new function to get the default language
9275
9276         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
9277         s/gtk_text_view_style_values/gtk_text_style_values/
9278
9279         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
9280         Add a "language" field to tags.
9281
9282         (gtk_text_tag_set_arg): Fix bug in setting
9283         "bg_full_height_set" tag.
9284
9285 2000-06-21  Havoc Pennington  <hp@redhat.com>
9286
9287         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
9288         in the interfaces
9289
9290         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
9291         stuff instead when possible.
9292
9293         * gtk/gtktexttypes.h: Delete some unused constants
9294
9295         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
9296         testtextbuffer.c: use glib instead of custom unicode routines
9297
9298 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
9299
9300         * docs/es/: Removed mistakenly added generated sgml
9301
9302         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
9303         Remove outdated info files.
9304
9305         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
9306         Moved tutorial files into subdir
9307
9308         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
9309         subdir.
9310
9311         * docs/man/gtk_button.pod: Remove. (contents will be
9312         integrated into gtk-reference button page.)
9313
9314         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
9315         docs/faq/Makefile.am: Adjust for new organization
9316
9317 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
9318
9319         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
9320         not $(MKINSTALLDIRS)
9321
9322 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
9323
9324         * gtk/testgtk.c (create_text): Finish the job Elliot started
9325         of removing font setting test for text widget. (Since text widget
9326         and GdkFont are not deprecated, and cause portability problems.)
9327
9328 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
9329
9330         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
9331         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
9332         Remove use of libunicode in favor of new GLib functions.
9333
9334         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
9335         nano-x, framebuffer. The X11 include is just a hack until we get
9336         the necessary functions in gdkcolor.h, so there is no reason to
9337         add other includes of platforms.
9338
9339         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
9340         window bigger than the screen change.
9341
9342         * gtk/testgtk.c: Revert some random changes from Elliot
9343         that had no particular point and were causing testgtkrc
9344         not to function correctly.
9345         
9346         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
9347         because GdkSegment and GdkRegionBox have the same fields,
9348         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
9349         results in clearer code.
9350
9351         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
9352         gdk_input_translate_coordinates): Fix missed GdkObjectification
9353
9354 2000-06-18  Elliot Lee  <sopwith@redhat.com>
9355
9356         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
9357         * gtk/gtk{plug,socket}.h: Missed commits from previous.
9358
9359 2000-06-20  Havoc Pennington  <hp@redhat.com>
9360
9361         * modules/linux-fb/Makefile.am: Make this compile
9362         without framebuffer enabled
9363
9364         * gdk/linux-fb/Makefile.am: Add conditional to not build
9365         framebuffer unless specified in configure
9366
9367         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
9368         the size of the target instead of source if -1 was passed for
9369         width/height
9370
9371         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
9372         width/height confusion.
9373
9374 2000-06-19  Havoc Pennington  <hp@redhat.com>
9375
9376         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
9377         GDK_DRAWABLE_XID. In the future, we probably want to make it
9378         faster with G_DISABLE_CHECKS turned on.
9379
9380 2000-06-14  Havoc Pennington  <hp@redhat.com>
9381
9382         * gdk/Makefile.am: add gdkpixmap.c
9383
9384         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
9385         s/gdk_image_init/_gdk_windowing_image_init
9386
9387         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
9388         ref/unref
9389
9390         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
9391
9392         * gdk/gdkcompat.h: remove GdkWindowType compat, since
9393         GdkWindowType is now non-deprecated; 
9394         change gdk_window_get_type() compat to be
9395         gdk_window_get_window_type().
9396
9397         * gdk/gdkdnd.h: make GdkDragContext a GObject.
9398
9399         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
9400         virtual GObject. Make all functions call into the vtable.
9401         Move gdk_image_put() guts in here. Remove GdkDrawableType
9402         and gdk_drawable_get_type(), these are now GdkWindow-specific.
9403         draw_image, get_depth, get_size, set_colormap, get_colormap,
9404         get_visual added to the vtable.
9405         
9406         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
9407         GObject. Virtualize everything. 
9408         (gdk_gc_new_with_values): remove check for destroyed window,
9409         because now GdkWindow::create_gc will check this.
9410         (gdk_gc_set_values): New function to set GC values, this 
9411         was already implemented but wasn't in the header
9412
9413         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
9414
9415         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
9416         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
9417         remove _gdk_window_class; add _gdk_window_impl_get_type() and
9418         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
9419         _gdk_windowing_window_init, rename gdk_image_init to
9420         _gdk_windowing_image_init.
9421         
9422         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
9423         (gdk_draw_layout): Remove check for destroyed window, 
9424         because all the drawable methods already check it.
9425         
9426         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
9427         Add gdkpixmap.c which contains implementation of GdkDrawable
9428         virtual table (by chaining to a platform-specific implementation
9429         object).
9430         
9431         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
9432         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
9433         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
9434         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
9435         GdkColormapPrivate. 
9436
9437         * gdk/gdktypes.h: #include <glib-object.h>
9438
9439         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
9440         Move most functionality to platform-specific implementation
9441         object. GdkWindow itself now handles the backing store, then
9442         chains to the platform-specific implementation.
9443         (gdk_window_get_window_type): return GdkWindowType of the window.
9444         (gdk_window_peek_children): New routine, returns the children of 
9445         a GdkWindow
9446         (gdk_window_get_children): Was in X11-specific code and did 
9447         XQueryTree. Changed to simply return a copy of window->children; 
9448         so it can go in cross-platform code.
9449         
9450         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
9451
9452         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
9453         GdkColormap; just changed to use the new private data instead
9454         of casting to GdkColormapPrivate.
9455
9456         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
9457         gdk_cursor_new().
9458
9459         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
9460         (private data member in the GObject). 
9461         (xdnd_manager_source_filter): Function had broken 
9462         error handling, fix it (use gdk_error_trap_push).
9463
9464         * gdk/x11/gdkdrawable-x11.c: This file now implements
9465         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
9466         base class is purely for the convenience of the X port,
9467         and not part of the interface to cross-platform GDK.
9468
9469         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
9470         
9471         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
9472         specific to X, and returned by the create_gc virtual method
9473         of GdkDrawableImplX11. 
9474         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
9475         rather than gchar, this was also changed in the GdkGC vtable.
9476         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
9477         mask is 0, return immediately, instead of checking every flag.
9478         This is faster, and keeps us from segfaulting if values is NULL
9479         and the mask contains some nonzero flags.
9480
9481         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
9482         GdkWindow.
9483
9484         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
9485         GdkWindowPrivate is gone.
9486
9487         * gdk/x11/gdkim-x11.c: rename things that got renamed.
9488
9489         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
9490         remove the image_put stuff that got transferred to GdkDrawable.
9491         
9492         * gdk/x11/gdkinput.c: renamings
9493
9494         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
9495
9496         * gdk/x11/gdkpixmap-x11.c: GObject conversion
9497
9498         * gdk/x11/gdkprivate-x11.h: indentation fixes
9499
9500         * gdk/x11/gdkproperty-x11.c: renamings
9501
9502         * gdk/x11/gdkselection-x11.c: renamings
9503
9504         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
9505         implements the platform-specific "impl" object.
9506         Moved gdk_window_get_children to gdk/gdkwindow.c
9507
9508         * gdk/x11/gdkx.h: Remove all the private structs and private datas
9509         that no longer exist. Add declaration of GdkGCX11 object here.
9510         Fix all the macros to still work. 
9511
9512         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
9513         GdkDragContext from the boxed types since they are now GObjects.
9514
9515         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
9516         moved xthickness/ythickness into the instance. GtkStyleClass
9517         functions are now in the standard vtable for GtkStyle, so you have
9518         to create a GObject subclass to write a theme engine.
9519         (gtk_style_copy): fixed a leaked PangoFontDescription
9520         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
9521         can be the standard GObject function.
9522         
9523         * Throughout GTK:
9524         s/style->klass->[xy]thickness/style->[xy]thickness
9525         s/pango_layout_unref/g_object_unref/
9526
9527         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
9528         
9529         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
9530         accessing GDK internals.
9531
9532         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
9533         accessing GDK internals.
9534
9535 2000-06-18  Elliot Lee  <sopwith@redhat.com>
9536
9537         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
9538
9539         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
9540         problem by calculating event position relative to the trough
9541         rather than the slider.
9542         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
9543
9544         * gdk/gdkgc.h: Add GDK_NOR.
9545
9546         * configure.in, Makefile.am: Add modules top level dir
9547         * configure.in: Only use pangox library if building x11 target.
9548         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
9549
9550 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
9551
9552         * gtk/gtkcolorsel.c: Change private class member to be named
9553         private_data throughout the file.
9554
9555         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
9556         private_data to avoid clashing with keyword.
9557
9558 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
9559
9560         * gdk/gdkdnd.h: Add comment to remove warning.
9561
9562 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
9563
9564         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
9565         Byelorussian language; changed the Makefile and file names 
9566         to reflect that.
9567
9568 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
9569
9570         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
9571         rather than gdk_window_hide; this makes things work
9572         correctly if the window is programmatically hidden while
9573         iconified.
9574
9575 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
9576
9577         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
9578         cut and paste typo where wrong pixmap was being
9579         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
9580
9581 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
9582
9583         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
9584         Add helper function to compute format / bytes 
9585         relationship. Use in a couple places to fix up
9586         errors which assume 8 * format.
9587
9588         * gtk/gtkselection.c (gtk_selection_request): Use 32
9589         rather than 8 * sizeof (GdkAtom), to work correctly
9590         on Alpha.
9591
9592 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
9593
9594         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
9595         libgtk.la
9596         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
9597         versions
9598
9599         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
9600         checking macros return NULL since the function has a return value.
9601
9602 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
9603
9604         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
9605         GTK+ from building at all.
9606
9607         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
9608
9609 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
9610
9611         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
9612         gtk/Makefile.am: make it possible to configure gtk for different
9613         targets on the same platform. The library name is now 
9614         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
9615         flag. Only the x11 target compiles right now.
9616         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
9617         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
9618         * gdk/nanox/gdk*generic*: delete generic region code.
9619         * gdk/linux-fb/gdk*generic*: delete generic region code.
9620         * README.nanox: update information.
9621         
9622 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
9623
9624         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
9625         prepend not append. (Pointed out by Brett Hall.)
9626
9627 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
9628
9629         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
9630
9631 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
9632
9633         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
9634         need this later, and this makes sure that the atexit for
9635         glib gets called after that for GDK, so atexits are
9636         properly ordered for object leak checking.
9637
9638         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
9639
9640         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
9641         pango_x_shutdown_display()
9642
9643         * gtk/simple.c (main): Close window on destroy.
9644
9645 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
9646
9647         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
9648         to treat initial creation different from setting with 
9649         regards to the graphics-exposures parameter, so add a parameter
9650         indicating whether this is initial or not.
9651
9652 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
9653
9654         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
9655         to sort of work by adding an extra return_exposes arg
9656         to gdk_event_translate() - it might be better to simply
9657         deprecate the function altogether and force people to rewrite
9658         without it. gdk_window_scroll() handles most of it, and where
9659         gdk_window_scroll() doesn't work, simply redrawing more does.
9660
9661         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
9662         assertion.
9663
9664         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
9665
9666         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
9667         bunch of pretty much useless /* Print debugging info */ comments 
9668         which had drifted away from the code they were commenting.
9669
9670 2000-06-02  Havoc Pennington  <hp@pobox.com>
9671
9672         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
9673         is in working order.
9674         
9675         * gtk/testtext.c: Change to reflect anonymous mark API
9676
9677         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
9678
9679         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
9680         field, which was unused.
9681
9682         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
9683         saves some typing.
9684
9685         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
9686
9687         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
9688         flag on the insertion point and selection bound
9689
9690         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
9691         make mark-manipulation functions take a GtkTextMark* instead of a
9692         mark name.
9693         
9694         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
9695         GtkTextMarkBody; will be used to detect attempts to delete
9696         the permanent marks (insert and selection bound)
9697
9698         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
9699
9700 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
9701
9702         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
9703         flag to on.
9704
9705         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
9706         Honor DOUBLE_BUFFRED_FLAG
9707
9708         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
9709         function to set the DOUBLE_BUFFERED flag.
9710
9711         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
9712         or not exposes done on the widget should be double-buffered.
9713
9714         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
9715         to be what would be expected. (Fixes problem with a
9716         g_return_if_fail() validating a TextDirection enumeration)
9717
9718 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
9719
9720         * gtk/gtkwidget.c: Remove all references to 
9721         offscreen flag which was no longer used.
9722
9723         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
9724
9725         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
9726         for non-null label_widget->parent.
9727
9728         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
9729         which no longer was used.
9730
9731         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
9732
9733         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
9734         for null arguments.
9735
9736         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
9737         check for destroyed windows.
9738
9739 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
9740
9741         * gtk/gtkimmulticontext.c: Add a finalize method and unref
9742         the slave context there.
9743
9744         * gtk/gtkinvisible.[ch]: Make reference counting behavior
9745         identical to GtkWindow.
9746
9747 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
9748
9749         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
9750         pangox to here, so we can write them independent of rendering
9751         system, using GDK primitives.
9752
9753         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
9754         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
9755         since we have a rendering-system independent implementation in
9756         terms of draw_glyphs().
9757         
9758         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
9759         function to render a single line.
9760
9761         * gdk/x11/gdkpango.c: Move the guts of this file mostly
9762         into ../gdkpango.c, which simplifies things, since we
9763         don't have to deal with raw X gc's.
9764
9765 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
9766
9767         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
9768         get the logical attributes for a given GtkTextLine.
9769
9770 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
9771
9772         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
9773         g_locale_get_codeset() to g_get_codeset() change.
9774
9775 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
9776
9777         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
9778         descriptions.
9779
9780         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
9781         the entry.
9782
9783         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
9784         redoing (vastly simplifying) for Pango. Still needs quite
9785         a bit of work. (Size selection is currently poor. List of 
9786         predefined sizes is not a good idea, since all of these
9787         sizes won't necessarily be distinct.)
9788
9789 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
9790
9791         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
9792         CODESET results for LANG=C.
9793
9794 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
9795
9796         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
9797         which takes a stringized pango font description;
9798         ignore the older 'font' and 'fontset' declarations.
9799
9800         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
9801         field with a GdkFont derived via gdk_font_from_description(),
9802         for compatibility. (Should we just remove it entirely?
9803         Probably too much compatibility breakage, but people
9804         should be migrating to the new Pango stuff as quickly
9805         as possible.)
9806
9807 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
9808
9809         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
9810
9811 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
9812
9813         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
9814         redoing; there are some bugs in size allocation right
9815         now, the semi-existant distinction between header / day
9816         fonts was removed, but, with Pango, could actually
9817         be made functional in a nice way.
9818         
9819         * gtk/testcalender: Move calender from examples into this
9820         directory as a test program. (We really need to restrcture
9821         testgtk into a whole directory full of tests for every
9822         widget or functionality group, separated into multiple .c
9823         files.)
9824
9825 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
9826
9827         * gtk/testgtk.c (file_exists): Fix stupid typo that
9828         was keeping RC file from being loaded.
9829
9830         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
9831         RC file font code.
9832
9833 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
9834
9835         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
9836         Add function to load a GdkFont from a PangoFontDescription.
9837
9838 2000-05-29  Tor Lillqvist  <tml@iki.fi>
9839
9840         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
9841         variable should be of type GdkEventPrivate.
9842
9843 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
9844
9845         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
9846         to have any widget for the label, use a GtkLabel widget
9847         to display the text. (Based partially on a patch from
9848         Anders Carlson.)
9849
9850         (Quite a bit of code reorganization - strip 90% of the
9851         guts out of gtkaspectframe and add a single virtual
9852         func to GtkFrameClass - compute_child_allocation.)
9853
9854 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
9855
9856         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
9857         (Removed clist->row_center_offset field because caching
9858         it wasn't saving time or code, added private function
9859         _gtk_clist_create_cell_layout()).
9860
9861 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
9862
9863         * gtk/gtkaccellabel.c: Pangoized.
9864
9865         * gtk/[hv]ruler.c: Pangoized
9866
9867 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
9868
9869         * gtk/gtkfilesel.c (gtk_file_selection_init):
9870         Use gtk_clist_set_column_auto_resize() to remove need
9871         need for manual column width computations.
9872
9873 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
9874
9875         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
9876         ensuring Pango correctness, and considerably simplifying the
9877         code.
9878         
9879         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
9880
9881         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
9882         getting of numbers of lines.
9883
9884         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
9885         to the actual requested width of the lable, not to the wrap
9886         width we set.
9887
9888         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
9889
9890         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
9891           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
9892
9893         * gtk/gtktextview.c: Fix structure inheritance.
9894
9895         * gtk/gtkprogressbar.c: Pangoize.
9896
9897 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
9898
9899         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
9900         in a function.
9901
9902         * gtk/gtktextlayout.c (find_display_line_above): Fixed
9903         bug with computing line tops.
9904
9905         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
9906
9907 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
9908
9909         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
9910         and y_offset coordinates to do what we need now. (The offset between
9911         buffer and layout coordinates has been reintroduced, but is a 
9912         bit different than before.)
9913
9914         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
9915         handle the adjustments ourselves, and scroll as necessary using
9916         the new gdk_window_scroll().
9917         
9918         The advantage of this is that when we are incrementally revalidating,
9919         we are essentially rearranging things around the visible portion
9920         of the screen. With the old setup, the visible portion of the
9921         screen was moved around in the layout, so scrolling and redrawing
9922         to track that caused jumping of the display. Since we now
9923         control the scrolling ourselves, we can suppress this and
9924         only redraw when things actually change.
9925
9926 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
9927
9928         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
9929         the region not just redisplay it after-all, since we store the
9930         cursors in the LineDisplay. (Ugly interactions here between
9931         GtkLayout and GtkTextBTree here.)
9932         
9933         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
9934
9935 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
9936
9937         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
9938         Added function to scroll contents of a window while keeping the
9939         window constant. Works by XCopyArea or guffaw-scrolling depending
9940         on the details of how the window is set up. (guffaw-scrolling
9941         still needs to be filled in.)
9942
9943 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
9944
9945         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
9946         move the debugging that was tied to a global variable
9947         to that.
9948
9949         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
9950
9951         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
9952         validated flag, in line data instead of setting height/width to
9953         -1. This allows us to perform operations with partially invalid
9954         buffer (using the old size for invalid lines) and thus to do
9955         incremental vaidation. Keep height/width aggregates up to date
9956         when deleting text and rebalancing the tree.
9957
9958         * gtk/gtktextbtree.[ch]: Add functions validate a line
9959         (gtk_text_btree_validate_line), and to validate up
9960         to a number of pixels (gtk_text_btree_validate).
9961
9962         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
9963         that indicates that something is changed and a revalidation
9964         pass is needed. Change ::need_repaint to ::changed, and
9965         make it take old and new yranges instead of a rectangle.
9966
9967         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
9968         the line_data_destroy() function from 
9969         gtk_text_btree_add_view() to a virtual function in 
9970         GtkTextLayout
9971
9972         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
9973         since we are handling partial repaints in a different fashion
9974         now.
9975
9976         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
9977         of the selection instead of queueing a repaint on the
9978         entire widget.
9979
9980         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
9981         get_selection_bounds() down to btree, make the function
9982         in buffer a wrapper around the btree function.
9983
9984         * gtk/gtktextlayout.[ch]: Add functions to check if the
9985         layout is valid and to recompute either a range of pixels
9986         aroudn a line or a certain total number of pixels.
9987
9988         * gtk/gtktextlayout.[ch]: Cache a single line display;
9989         now that we only redraw the needed portions, the hit rate
9990         for this cache is quite high.
9991         
9992         * gtk/gtktextview.[ch]: Keep track of the first paragraph
9993         on the screen so that when re-laying-out the buffer, we can
9994         keep the same place. This requires connecting to ::value_changed
9995         on the adjustments
9996
9997         * gtk/gtktextview.[ch]: Add idle functions to revalidate
9998         the buffer after we receive an ::invalidated signal.
9999         
10000 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
10001
10002         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
10003         to max of allocation and layout size, not just to the
10004         layout size.
10005
10006         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
10007         Invalidate window so it gets redrawn properly.
10008
10009         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
10010         to mean the entire window.
10011
10012         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
10013         into public header.
10014
10015 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
10016
10017         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
10018         to get the name of a mark.
10019
10020         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
10021         to find the paragraph from a y position.
10022
10023 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
10024
10025         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
10026         nodes have width/height >= 0, not > 0.
10027
10028 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
10029
10030         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
10031         Add a size_only flag, so when we only need the size, we don't create
10032         useless appearance attributes.
10033
10034         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
10035         duplicate setting of font description.
10036
10037         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
10038
10039 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
10040
10041         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
10042         EXTRA_DIST. It does not work well when the file that
10043         everything depends on is not in the tarball.
10044
10045 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
10046
10047         * gtk/testgtk.c: Some hacks and fixes so that it basically
10048         works when not sitting in the GTK+ build tree.
10049
10050 2000-05-03  Havoc Pennington  <hp@redhat.com>
10051
10052         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
10053         Properly determine the ordering of the tag root and the current
10054         line within the tree. Previous algorithm only worked if the tag
10055         root's immediate parent was the common root of both the current
10056         line and the tag root.
10057
10058 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
10059
10060         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
10061         alignment.
10062
10063         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
10064         the widget text directional dynamically.
10065
10066         * gtk/gtktextview.[ch]: Added functions to get and set default
10067         wrap mode.
10068
10069 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
10070
10071         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
10072         in cursor location computation.
10073
10074 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
10075
10076         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
10077         vadjusment values properly when layout gets smaller.
10078
10079         * gtk/gtktextview.c (need_repaint_handler): Areas being
10080         passed in are far completely inaccurate, and sometimes
10081         too small, so, for now, just queue a redraw on the
10082         whole visible region.
10083
10084 2000-04-25  Havoc Pennington  <hp@redhat.com>
10085
10086         * gtk/gtktextbtree.c (summary_destroy): new function to 
10087         destroy tag summary nodes
10088         (gtk_text_line_next_could_contain_tag): this function was 
10089         totally broken if the line passed in wasn't below the tag
10090         root. Fix it.
10091         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
10092         "wildcard" case, we have to do a linear scan. Blah.
10093         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
10094         we have to do the linear scan
10095         (tag_removed_cb): When a tag is removed from the tag table, 
10096         remove the GtkTextTagInfo node from the btree.
10097         (gtk_text_btree_spew): Implement the spew function, for 
10098         our debugging pleasure.
10099
10100 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
10101
10102         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
10103         a problem with referring to the wrong buffer.
10104
10105         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
10106
10107         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
10108         font description to gtk_style_new() - otherwise things
10109         don't work without a .gtkrc file.
10110
10111         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
10112         tags table if we create it ourself, too.
10113
10114         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
10115         it was conflicting with XKB modifiers.
10116
10117         * gtk/gtktextview.[ch]: Add simple support for 
10118         GtkIMContext.
10119
10120 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
10121
10122         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
10123         with deletion from last commit.
10124
10125 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
10126
10127         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
10128         in the context from the current locale.
10129         
10130         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
10131         context, not hardcoded value.
10132
10133         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
10134         not logical.
10135
10136 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
10137
10138         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
10139         attributes - that doesn't handle partial-glyph selection
10140         properly. Instead use new pango_layout_line_get_x_ranges()
10141         functionality to draw the selection.
10142
10143         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
10144         now properly handles out-of-range coordinates.
10145
10146         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
10147
10148         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
10149         public.
10150
10151         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
10152         for paragraphs opposite to the base direction of the widget.
10153
10154         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
10155
10156         * gtk/gtktextlayout.c: Don't split segments on marks, since that
10157         causes Arabic words to reshape as you cursor through.
10158
10159         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
10160         cursor position when moving vertically with the arrow keys and
10161         scrolling with page-up/page-down. (Arrow keys save only the X,
10162         scrolling saves both X and Y.)
10163
10164         This means you can line-up / line-down or page-up / page-down
10165         without losing your place, and also that moving vertically
10166         with the cursor keys keeps the same X position, not the same
10167         character count:
10168
10169         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
10170         arrow keys move by display lines, not paragraphs.
10171
10172 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
10173
10174         * gtk/gtklayout.c: Make sure that the bin window is at least
10175         as big as the allocation. (Should we also make sure that the
10176         bin window is big enough to completely cover widget->window?)
10177
10178         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
10179         function to get the onscreen rectangle.
10180
10181         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
10182         for offsets in window coordinates.
10183
10184 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
10185
10186         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
10187         confusion.
10188
10189         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
10190         from the widget direction.
10191
10192         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
10193         Add a "direction" attribute.
10194
10195         * gtk/gtktextview.c: global s/tkxt/text_view/.
10196
10197         * gtk/testtext.c: Added long block of text in Arabic, to test out
10198         the direction attributes. (Some problems with the shaping system
10199         for arabic become obvious - like the fact the cursor splits words
10200         into unjoined pieces.)
10201
10202 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
10203
10204         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
10205
10206         * gtk/gtktextlayout.c: Fix up alignment.
10207
10208         * gtk/testtext.c: Add some tests for centering, wrapping.
10209
10210 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
10211
10212         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
10213         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
10214         If we wrote GTK+-specific layout-render function this could just replace
10215         the draw_layout() operation in the vtable.
10216
10217         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
10218         pango_layout_get_cursor_pos() and use that function.
10219
10220         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
10221         is a non-static symbol.
10222
10223         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
10224         with gtk_text_btree_find_line_by_y()
10225
10226         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
10227         renderer that handles GtkTextAppearance attributes.
10228
10229         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
10230
10231           - Move the values in the style that don't affect geometry into a
10232             GtkTextAppearance structure.
10233           - Change underline to take a PangoUnderline and "font" a string
10234             representation of a font description
10235           - Add a "font_desc" attribute which takes a FontDescription structure.
10236
10237         * gtk/gtktextlayout.[ch]:
10238
10239           - Get rid of the display-line list per each line. Instead, we
10240             generate, on demand, a GtkTextLineDisplay structure which]
10241             contains a PangoLayout * and other necesary information
10242             (offsets, cursor locations) for displaying a paragraph.
10243           - Get rid of the code to wrap lines, create display chunks,
10244             etc. Instead, we just go through a paragraph and convert
10245             it into the necessary inputs to a PangoLayout.
10246           - Implement a new attribute type, GtkTextAttrAppearance. This
10247             holds a GtkTextAppearance, and is used to pass colors, 
10248             stipple, etc, through from the layout to the display without
10249             having to use lots and lots of individual attributes.
10250           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
10251             in terms of PangoLayout functions.
10252         
10253         * gtk/gtktextview.c: 
10254          
10255           - Handle passing the necessary PangoContext to the layout
10256           - Some fixups in painting to deal with the automatic backing store
10257             and offsetting of GTK+-1.4
10258           - Add a style_set handler so that the default style reacts
10259             properly to theme changes.
10260         
10261         * gtk/gtktext?*.[ch]: Random code-style fixes.
10262
10263         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
10264
10265 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
10266
10267         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
10268         in original form preparatory to Pango-ization and gdkimcontext-ization.
10269
10270 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
10271
10272         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
10273         so that we can derive from gtkimcontext in language bindings properly.
10274
10275 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
10276
10277         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
10278         Add a compose table including (almost) all the compose combinations
10279         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
10280         data in the XIM implementation.
10281
10282         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
10283         Moved functions to convert keyvalues from and to unicode here from
10284         the win32 port and made them public.
10285
10286 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
10287
10288         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
10289
10290 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
10291
10292         * gtk/gtkimcontext.[ch]: Base class for new input context system
10293
10294         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
10295         the real input context implementation to be loaded from modules
10296         and switched on the fly.
10297
10298         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
10299         context that just does direct keysymbol => unicode translation.
10300
10301         * gtk/gtkentry.[ch]: Start switching editing over to using
10302         GtkInputContext. (No handling of preedit yet.)
10303
10304 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
10305
10306         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
10307         many substitutions. (klass should not be subsituted.)
10308
10309 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
10310
10311         * configure.in: Add checks for Pango
10312
10313         * configure.in docs/Makefile.am: Add test for sgml2html
10314         and allow 'make dist' without building html, but print out
10315         warnings in that case. (For making snapshots)
10316
10317         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
10318         Add Pango libraries and C flags
10319
10320         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
10321         Add function (gdk_draw_layout) to draw a pango layout.
10322
10323         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
10324         for getting Pango contexts for GDK.
10325
10326         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
10327
10328         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
10329         editing.
10330
10331         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
10332         keysym => unicode translations. More languages can be added
10333         here, but real input-method support is needed.
10334
10335         * docs/Changes-1.4.txt: Added note about entry behavior.
10336         
10337         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
10338         to set the reading direction for a widget and the global direction.
10339         Add test which allows toggling the global direction. Two private
10340         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
10341
10342         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
10343           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
10344
10345         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
10346
10347         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
10348         underlining now handled by Pango.
10349
10350         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
10351         to RCStyle and Style. (Having both this and the old font name and GdkFont 
10352         is temporary.)
10353
10354         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
10355         convenience functions for creating contexts and layouts for widgets.
10356
10357         * gtk/testgtk.c: Enhance label tests with multilingual labels.
10358
10359 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
10360
10361         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
10362         titles to be active, even if they aren't visible.
10363         (gtk_clist_column_titles_passive):  Ditto.
10364
10365 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
10366
10367         * gtkmenu.c:
10368         * gtkmenu.h:
10369         * gtktypeutils.h: Spelling/grammar fixes in comments.
10370
10371 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
10372
10373         * gdk/nanox/*.h: add missing header files.
10374
10375 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
10376
10377         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
10378         send_event to TRUE.
10379         (gtk_drawing_area_size): queue a resize.
10380
10381 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
10382
10383         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
10384         the handlers, also invalidate them. bug nailed down by Karl Nelson
10385         <kenelson@ece.ucdavis.edu>.
10386
10387 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
10388
10389         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
10390         "(nil)" foundries, patch from Grigorios Magklis.
10391
10392         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
10393         on non-available fonts, based on a patch by Grigorios Magklis
10394         <maglis@cs.rochester.edu>.
10395
10396 2000-05-18  Elliot Lee  <sopwith@redhat.com>
10397
10398         * gdk/x11/gdkregion-generic.c: If a region does not have any
10399         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
10400         instead of GDK_OVERLAP_RECTANGLE_IN.
10401
10402 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
10403
10404         * gtk/gtklayout.c (gtk_layout_map): Remove references to
10405         OFFSCREEN, as it is no longer necessary.
10406
10407 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
10408
10409         * gtk/gtkcolorsel.c: Patch from David Santiago
10410         <mrcooger@cyberverse.com> to change things so that the 
10411         indicator of the active palette entry is done independently,
10412         not via the focus, since it should always be visible.
10413
10414 2000-05-17  Tor Lillqvist  <tml@iki.fi>
10415
10416         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
10417         refcount leaks as in the X11 backend.
10418
10419         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
10420         cosmetics.
10421
10422         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
10423         backend. Add _gdk_windowing_window_destroy().
10424
10425         * gtk/gtkcolorsel.c: Include correct backend-specific header.
10426         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
10427         either, but these probably do exist on nanox?)
10428         
10429         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
10430         which isn't necessarily defined by <math.h>.
10431
10432         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
10433         ancestry past GtkObject.
10434
10435         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
10436         from DLL on Win32.
10437
10438         * gtk/gtk.def: Update corresponding to recent changes.
10439
10440         * gtk/makefile.{cygwin,msc}: Updates.
10441
10442 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
10443
10444         * docs/Changes-1.4.txt: A bit of editing.
10445
10446         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
10447         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
10448         to clear the update area for the window, and clear it
10449         when hiding a window.
10450
10451         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
10452         if window destroyed.
10453
10454         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
10455
10456         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
10457         gdk_window_destroy() to the generic code, since there was a lot of 
10458         window-system-independent logic it in. Add a function:
10459         
10460          _gdk_window_destroy() 
10461
10462         to the internal API to destroy a window without unreferencing it.
10463         Add a function:
10464
10465          _gdk_windowing_window_destroy()
10466
10467         That does the windowing-system-dependent part of destroying 
10468         the window.
10469
10470 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
10471
10472         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
10473
10474 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
10475
10476         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
10477         Make gtk_widget_shape_combine_mask() keep a reference count on
10478         the pixmap since it keeps it around.
10479
10480 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
10481
10482         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
10483         leak.
10484
10485         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
10486         leak with event filters.
10487
10488 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
10489
10490         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
10491         signal handlers with the right data arguments. (Fixes
10492         some warnings when a widget was repeatedly set as a drag
10493         destination.)
10494
10495         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
10496         window so we can avoid avoid setting the DND properties on the
10497         toplevel window repeatedly.
10498
10499 2000-05-13  Tor Lillqvist  <tml@iki.fi>
10500
10501         * gdk/win32/gdkwin32.h: Define more message types missing from
10502         mingw headers.
10503
10504         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
10505         call gdk_window_destroy_notify(). It was never called. This
10506         probably meant that the GdkWindow was never freed. Thanks Owen for
10507         noticing (!).
10508
10509         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
10510         window as destroyed before calling DestroyWindow(). DestroyWindow()
10511         causes a call to the window procedure (gdk_WindowProc), which
10512         calls gdk_event_translate(), which calls
10513         gdk_window_destroy_notify(), which gets confused unless the window
10514         is set as destroyed.
10515
10516         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
10517         this function to indicate it's win32 only. Put inside #ifdef
10518         G_ENABLE_DEBUG.
10519
10520         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
10521         debugging function. (gdk_event_translate:) Add a default branch
10522         that uses the above function to print debug messages with all
10523         Windows messages symbolically.
10524
10525         * gdk/win32/gdkprivate-win32.h: Declare it, and
10526         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
10527
10528 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
10529
10530         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
10531         public header file.
10532
10533 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
10534
10535         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
10536
10537         * gtk/gtktext.c: made the adjustments no-construct args, simply
10538         provide default adjustments.
10539         (gtk_text_destroy): release adjustments.
10540
10541         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
10542         adjustment argument non-construct.
10543
10544         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
10545         instead of in finalize.
10546         (gtk_progress_get_text_from_value): 
10547         (gtk_progress_get_current_text): 
10548         (gtk_progress_set_value): 
10549         (gtk_progress_get_percentage_from_value): 
10550         (gtk_progress_get_current_percentage): 
10551         (gtk_progress_set_percentage): 
10552         (gtk_progress_configure): ensure an adjustment is present.
10553
10554 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
10555
10556         * gtk/gtkcolorsel.[hc]:
10557         * gtk/gtkcolorseldialog.[hc]:
10558         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
10559         their parent implementation, use bit fields for boolean values, don't
10560         create unused widgets, usage of glib types, braces go on their own
10561         lines, function argument alignment, #include directives etc. etc. etc..
10562
10563         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
10564
10565 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
10566
10567         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
10568
10569         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
10570         of NULL.
10571
10572         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
10573         to freed data.
10574         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
10575
10576         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
10577         to NULL when the toplevel is getting destroyed.
10578         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
10579         (gtk_menu_destroy): 
10580         (gtk_menu_init): store the information of whether we have to
10581         readd the initial child ref_count during destruction in a new
10582         GtkMenu field needs_destruction_ref_count.
10583
10584         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
10585         here, those reading: learn from my mistake! ;)
10586         in order for set_?adjustment to support a default adjustemnt if
10587         invoked with an adjustment pointer of NULL, the code read (pseudo):
10588         if (v->adjustment) unref (v->adjustment);
10589         if (!adjustment) adjustment = adjustment_new ();
10590         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
10591         now imagine the first unref to actually free the old adjustment and
10592         adjustment_new() creating a new adjustment from the very same memory
10593         portion. here, the latter comparision will unintendedly fail, and
10594         all hell breaks loose.
10595         (gtk_viewport_set_hadjustment):
10596         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
10597         after unreferencing it.
10598
10599         * gtk/gtkcontainer.[hc]: removed toplevel registration
10600         functions: gtk_container_register_toplevel(),
10601         gtk_container_unregister_toplevel() and
10602         gtk_container_get_toplevels() which had wrong semantics
10603         anyways: it didn't reference and copy the list.
10604
10605         * gtk/gtkwindow.c: we take over the container toplevel registration
10606         bussiness now. windows are registered across multiple destructions,
10607         untill they are finalized. the initial implicit reference count
10608         users are holding on windows is removed with the first destruction
10609         though.
10610         (gtk_window_init): ref & sink and set has_user_ref_count, got
10611         rid of gtk_container_register_toplevel() call. add window to
10612         toplevel_list.
10613         (gtk_window_destroy): unref the window if has_user_ref_count
10614         is still set, got rid of call to
10615         gtk_container_unregister_toplevel().
10616         (gtk_window_finalize): remove window from toplevel list.
10617         (gtk_window_list_toplevels): new function to return a newly
10618         created list with referenced toplevels.
10619         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
10620
10621         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
10622         adjustment a non-construct arg.
10623         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
10624         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
10625         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
10626
10627         * gtk/gtkrange.c: added some realized checks.
10628         (gtk_range_destroy): get rid of the h/v adjustments in the
10629         destroy handler instead of finalize. remove timer.
10630         (gtk_range_get_adjustment): demand create adjustment.
10631
10632         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
10633         we simply create them on demand now and get rid of them in
10634         the destroy handler.
10635         (gtk_viewport_destroy): get rid of the h/v adjustments in the
10636         destroy handler instead of finalize.
10637         (gtk_viewport_get_hadjustment): 
10638         (gtk_viewport_get_vadjustment): 
10639         (gtk_viewport_size_allocate): demand create h/v adjustment
10640         if required.
10641
10642         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
10643         gtk_widget_real_destroy () functionality.
10644         (gtk_widget_real_destroy): reinitialize with a new style, instead
10645         of setting widget->style to NULL.
10646
10647 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
10648
10649         * gtk/gtkcalendar.c:
10650         * gtk/gtkbutton.c: ported _get_type() implementation over to
10651         GType, either to preserve memchunks allocation facilities,
10652         or because Gtk+ 1.0 GtkTypeInfo was still being used.
10653
10654         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
10655         over. prepare for ::destroy to be emitted multiple times.
10656         removed reference tracer magic. chain into GObjectClass.shutdown()
10657         to emit ::destroy signal.
10658
10659         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
10660         fundamental.
10661
10662         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
10663         cludge.
10664
10665         * gtk/gtksocket.c:
10666         * gtk/gtkplug.c:
10667         * gtk/gtklayout.c:
10668         * gtk/gtklabel.c:
10669         * gtk/gtkargcollector.c:
10670         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
10671         not being a fundamental anymore, and to work with the new
10672         type system (nuked fundamental type varargs clutter).
10673
10674         * gtk/*.c: install finalize handlers in the GObjectClass
10675         part of the class structure.
10676         changed direct GTK_OBJECT()->klass accesses to
10677         GTK_*_GET_CLASS().
10678         changed direct object_class->type accesses to GTK_CLASS_TYPE().
10679
10680         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
10681         GType. made most of the GTK_*() type macros and Gtk* typedefs
10682         simple wrappers around macros and types provided by GType.
10683         most notably, a significant portion of the old API vanished:
10684         GTK_TYPE_MAKE(),
10685         GTK_TYPE_SEQNO(),
10686         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
10687         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
10688         GTK_TYPE_ARGS,
10689         GTK_TYPE_CALLBACK,
10690         GTK_TYPE_C_CALLBACK,
10691         GTK_TYPE_FOREIGN,
10692         GtkTypeQuery,
10693         gtk_type_query(),
10694         gtk_type_set_varargs_type(),
10695         gtk_type_get_varargs_type(),
10696         gtk_type_check_object_cast(),
10697         gtk_type_check_class_cast(),
10698         gtk_type_describe_tree(),
10699         gtk_type_describe_heritage(),
10700         gtk_type_free(),
10701         gtk_type_children_types(),
10702         gtk_type_set_chunk_alloc(),
10703         gtk_type_register_enum(),
10704         gtk_type_register_flags(),
10705         gtk_type_parent_class().
10706         replacements, where available are described in ../docs/Changes-1.4.txt.
10707         implemented compatibility functions for the remaining API.
10708
10709         * configure.in: depend on glib 1.3.1, use gobject module.
10710
10711 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
10712
10713         * TODO.xml: Various updates to current status.
10714
10715 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
10716
10717         * gtk.m4: Print out version when test succeeds.
10718
10719 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
10720
10721         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
10722         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
10723         
10724         (Original triangle color selector from Simon Budig
10725         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
10726         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
10727         Santiago <mrcooger@cyberverse.com>)
10728
10729         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
10730         out into a separate widget.
10731
10732         * gtk/testgtk.c: Add some checkbuttons for toggling palette
10733         and opacity controls.
10734
10735 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
10736
10737         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
10738         snuck in prematurely.
10739
10740 2000-05-07  Tor Lillqvist  <tml@iki.fi>
10741
10742         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
10743         had deleted a ! operator by mistake, which caused
10744         GDK_SELECTION_CLEAR events never to be generated, which caused
10745         only the first copy to the clipboard from an gtkeditable to
10746         actually cause a copy to the Windows clipboard.
10747
10748 2000-05-06  Tor Lillqvist  <tml@iki.fi>
10749
10750         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
10751         compilation, too. Current mingw gcc distributions include the
10752         necessary headers. Also the necessary IIDs are now in mingw
10753         headers/libraries, and own definitions unnecessary.
10754
10755         More hacking on OLE2 DND, still doesn't work though, and thus
10756         ifdeffed out.
10757
10758         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
10759         here, too.
10760
10761 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
10762
10763         * gdk/nanox/*: nano-X port work in progress.
10764         * gdk/simple.c: simple test for Gdk.
10765         * README.nanox: notes about the port: read this first!
10766         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
10767         with nano-X.
10768
10769 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
10770
10771         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
10772         gdk_window_clear() into common code, implement in terms of
10773         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
10774         not redirected to the backing rectangle.
10775
10776 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
10777
10778         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
10779         EXTRA_DIST. It does not work well when the file that
10780         everything depends on is not in the tarball.
10781
10782 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
10783
10784         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
10785         with recursion where process_updates() is called from
10786         an expose handler. (GtkTextView is highly broken in
10787         doing this, but it should work, so it is a nice test
10788         case.)
10789
10790 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
10791
10792         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
10793         handle the case where updates are queued during processing of
10794         updates.
10795
10796 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
10797
10798         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
10799         window is on gdk_display - use that instead of segfaulting.
10800
10801 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
10802
10803         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
10804         broken and require an empty arg, give it to them.
10805
10806 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
10807
10808         * gtk/gtklabel.h: indentation fixes.
10809
10810 2000-05-02  Tor Lillqvist  <tml@iki.fi>
10811
10812         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
10813         draw too narrow or too low arcs, they seem to fail, at least with
10814         some display drivers.
10815
10816         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
10817
10818         Large changes to the Win32 backend, partially made necessary by
10819         the changes to the backend-independent internal
10820         structures. Attempts to implement similar backing store stuff as
10821         on X11. The current (CVS) version of the Win32 backend is *not* as
10822         stable as it was before the no-flicker branch was merged. A
10823         zipfile with that version is available from
10824         http://www.gimp.org/win32/. That should be use by "production"
10825         code until this CVS version is usable. (But note, the Win32
10826         backend has never been claimed to be "production quality".)
10827
10828         * README.win32: Add the above comment about versions.
10829
10830         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
10831
10832         * gdk/gdk.def: Update.
10833
10834         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
10835         presumably be replaced by some more better mechanism as 1.4 gets
10836         closer to release shape.
10837
10838         * gdk/makefile.{cygwin,msc}: Update.
10839
10840         * gdk/win32/*.c: Correct inclusions of the backend-specific and
10841         internal headers. Change code according to changes in these. Use
10842         gdk_drawable_*, not gdk_window_* where necessary.
10843
10844         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
10845         our old DND.
10846
10847         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
10848         to interpret single characters as UTF-8. Thanks to Hans Breuer.
10849         Use correct function name in warning messages.
10850
10851         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
10852         GSourceFuncs gdk_event_prepare and gdk_event_check.
10853         (gdk_event_get_graphics_expose): Do implement, use
10854         PeekMessage. Thanks to Hans Breuer.
10855         (event_mask_string): Debugging function to print an GdkEventMask.
10856         (gdk_pointer_grab): Use it.
10857
10858         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
10859         (old) book I used claimed was Hangul actually is CJK Unified
10860         Ideographs Extension A. Also, Hangul Syllables were missing.
10861         Improve logging.
10862
10863         * gdk/win32/gdkgc-win32.c: Largish changes.
10864
10865         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
10866         g_win32_getlocale() from GLib, and not setlocale() to get current
10867         locale name.
10868
10869         * gdk/win32/gdkprivate-win32.h
10870         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
10871         gdkwin32.h, similarily as in the X11 backend.
10872
10873         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
10874         assignment was used instead of equals in if test. Thanks to Hans
10875         Breuer.
10876
10877         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
10878         the X11 version.
10879
10880         * gdk/win32/makefile.{cygwin,msc}
10881         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
10882         path to the Win32 headers that works also with the mingw compiler.
10883
10884         * gtk/gtkstyle.c: Include <string.h>.
10885
10886 2000-04-26  Havoc Pennington  <hp@redhat.com>
10887
10888         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
10889         replacing the broken gtk_label_get ()
10890
10891 2000-04-15  Havoc Pennington  <hp@pobox.com>
10892
10893         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
10894         this keeps scanner scripts from getting confused.
10895
10896         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
10897         data, rather than void
10898
10899 2000-04-15  Tor Lillqvist  <tml@iki.fi>
10900
10901         * gtk/gtkclist.c (gtk_clist_motion)
10902         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
10903         with is_hint FALSE, get x and y from the event. They used to be
10904         used uninitialised. The Win32 backend never sends motion events
10905         marked as hints. This for instance fixes the annoying file and
10906         font selector behaviour in the Win32 version.
10907
10908 2000-04-14  Tor Lillqvist  <tml@iki.fi>
10909
10910         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
10911         gtk_private_n_signals variables, they are used by some software,
10912         sigh.
10913
10914         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
10915         installation directory from the Registry, where the installer
10916         should have put it.
10917
10918 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
10919
10920         * gdk/x11/Makefile.am: Fix problem with installation directory for
10921         gdkx.h
10922
10923         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
10924         <mrcooger@cyberverse.com> so that when selecting menus with the
10925         mouse, the first item will not be selected, but when selecting
10926         with an accelerator, or navigating left-right on a menubar with
10927         the menus popped up, the first item will be selected.
10928
10929 2000-04-05  Dan Damian  <dand@dnttm.ro>
10930
10931         * configure.in: Added "ro" to ALL_LINGUAS.
10932
10933 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
10934
10935         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
10936         indentation.
10937
10938         * Makefile.am (EXTRA_DIST): Fix typo.
10939
10940         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
10941         to catch gdkconfig.h
10942
10943         * gtk/gtkitemfactory.c: Added FIXME.
10944
10945 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
10946
10947         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
10948         s/return_if_fail/return_val_if_fail/g and add a return value.
10949
10950 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
10951
10952         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
10953         merge slipup.
10954
10955         * gdk/gdkinput.h: Fix missing line from merge.
10956
10957 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
10958
10959         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
10960         instead of gdkprivate.h.
10961
10962 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
10963
10964         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
10965         parent class to correctly be GtkDialogClass.
10966
10967 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
10968
10969         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
10970         toplevel windows and their immediate children by their parents,
10971         since the size of toplevel windows is out of our immediate
10972         control and we don't get any real benefit from trying to track
10973         this size for clipping.
10974
10975         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
10976         for input_only windows.
10977
10978         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
10979         to fix some hacks and make sure that we don't try to set the
10980         background of input only windows.
10981
10982 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
10983
10984         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
10985         the _really_ internal stuff, and leave gdkprivate.h for the fake private
10986         stuff that we've traditionally exposed.
10987
10988         * gdk/**.c: Use gdkinternals.h where appropriate.
10989
10990         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
10991         not include gdkprivate-x11.h, move all stuff of conceivable public
10992         interest into gdkx.h; keep all really private stuff in
10993         uninstalled header gdkprivate-x11.h.
10994
10995         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
10996         image->image_put on windows through a new function _gdk_window_draw_image()
10997         to allow us to do backing store for images. (Sort of ugly)
10998
10999         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
11000         contexts locally so that we can offset them properly when drawing 
11001         onto backing pixmaps.
11002
11003         * gdk/gdkinput.h: Reindented
11004
11005         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
11006         pixmap or color for the window, so we can properly initialize
11007         our double-buffer pixmaps, and also so that we temporarily set
11008         a background of None while scrolling.
11009
11010         * gdk/gdkregion.h: Revise region boolean operators to have an
11011         interface that is actually convenient - switch from creating new
11012         regions on every op, to "methods" that modify existing regions
11013         (A = A OP B). 3 argument forms which allow dest == src, would also
11014         be possible, but the current interfaces seem to map nicely
11015         onto what needs to be done. (There is quite a lot of region
11016         code in GDK now.)
11017
11018         * gdk/gdkregion.h: Add constructor from rectangle and a copy
11019         operator.
11020
11021         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
11022         gdkpoly-generic.h: Copy region code from Xlib, switch it over
11023         to 32 bit coordinates, modify it to be mostly GTK+ style
11024         and to have interfaces that match gdkregion.h.
11025
11026         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
11027         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
11028         create a backing pixmap and redirect all drawing to
11029         that backing pixmap until a matching gdk_window_end_paint().
11030
11031         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
11032         Create a special drawable class for GtkWindow's that 
11033         redirects the drawing to the backing pixmap as necessary
11034         and then calls the real operations in _gdk_windowing_window_class.
11035
11036         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
11037         Store invalid region for each window. Generate expose events for invalid
11038         region in an idle. This replaces both the expose compression
11039         and the redrawing queuing in GTK+. It is both more efficient and
11040         simpler than either one individually and far more so then the
11041         combination.
11042
11043         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
11044         Emulate 32 bit coordinates for windows with 16 bit coordinates
11045         by offsetting drawing, guffaw scrolling techniques and
11046         mapping/unmapping child windows as necessary.
11047
11048         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
11049         where, when invalid regions are processed, the region is stored,
11050         and if expose events come in that are detectably duplicate
11051         the processed exposes (by comparison of event serial numbers),
11052         the stored region is subtracted out of those exposes.
11053
11054         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
11055         regions newly exposed when scrolling or resizing windows.
11056         This, combined with forcing processesing of queued invalidated
11057         regions, gives nice flicker-free scrolling.
11058
11059         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
11060         invalidated regions after every scroll.
11061
11062         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
11063         emulation in GDK. Its, for all practical purposes just a
11064         GtkViewport/GtkFixed hybrid now.
11065
11066         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
11067         (16-bit) structures as necessary instead of just casting.
11068
11069         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
11070         in terms of the structures from gdkregion-generic.c, using appropriate
11071         offsets from GDK to X11 coordinates. Cache clip mask and
11072         origin and ts origin locally and only flush to the server
11073         when drawing, to avoid constantly setting and resetting these
11074         values when offsetting GC's for scrolling and backing pixmaps.
11075
11076         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
11077
11078         * gtk/gtkcontainer.c: Call process_all_updates at end
11079         of resizing to reduce flicker. (Avoids having redraw
11080         lag arbitrarily behind resize under some circumstances)
11081
11082         * gtk/gtkentry.c: Remove old backing store code, and simply take
11083         advantage of the new backing store capabilities of GDK.
11084
11085         * gtk/gtkmain.c: Simple implementation of widget backing
11086         store - simply push a paint while handling each expose.
11087         (Should really be configurable widget for widget.)
11088         
11089         * gtk/gtkwidget.c: Remove all the old complicated redraw
11090         code, and simply invalidate the GDK windows from
11091         gdk_window_queue_clear(), etc. (Sigh, so much carefully
11092         debugged complexity ... gone to the winds.)
11093
11094         Remove all the code for suppressing expose events while
11095         resizes are pending; this isn't needed since the invalid
11096         areas won't be processed until after the resizes are
11097         processed, since they are in a lower priority idle.
11098
11099 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
11100
11101         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
11102         and height of dest rectangle for non-intersecting rectangles.
11103
11104 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
11105
11106         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
11107         for GdkRectangle.
11108
11109 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
11110
11111         * gdk/gdk{events,image,private,types,window}.h
11112          gdk/x11/gdkinputprivate.h: Change all coordinates
11113          from int16 to int. Also, Change width and height from
11114          unsigned to signed to avoid all the stupid C 
11115          signedness bugs.
11116
11117 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
11118
11119         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
11120         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
11121         Add some more detailed checking.
11122
11123         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
11124         New function to retrieve the depth of a drawable.
11125
11126         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
11127         field, reorder fields to save memory. 
11128
11129 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
11130
11131         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
11132         of the background image instead of scaling the background down to
11133         a line.
11134
11135         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
11136         which temporarily set slider to wrong size.
11137
11138         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
11139         queue_clear().
11140
11141 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
11142
11143 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
11144
11145         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
11146
11147 2000-03-17  Tor Lillqvist  <tml@iki.fi>
11148
11149         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
11150         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
11151
11152         * gdk/win32/gdkfont-win32.c
11153         * gdk/win32/gdkproperty-win32.c
11154         * gdk/win32/gdkselection-win32.c
11155         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
11156         now declared such.
11157
11158 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
11159
11160         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
11161
11162 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
11163
11164         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
11165         is called without trapping X errors.
11166
11167 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
11168
11169         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
11170         way into the fontset lists.
11171
11172 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
11173
11174         * gtk/gtkthemes.h: add extern "C" scope.
11175
11176 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
11177
11178         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
11179         to make appends to the list constant. (gtk-guy-990901-0.patch)
11180
11181 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
11182
11183         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
11184         for the typename hash table.
11185
11186 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
11187
11188         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
11189         to make sure we never divide by zero. 
11190         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
11191
11192 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
11193
11194         * gtk/gtkfontsel.c: Apply patch from
11195         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
11196         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
11197
11198         Also, some cleanups in atom handling.
11199
11200 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
11201
11202         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
11203         not GtkWidget.
11204
11205 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
11206
11207         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
11208         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
11209         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
11210         more guint wrap-around bugs before going to bed.
11211
11212 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
11213
11214         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
11215         guint wrap arounds in allocation.width.
11216
11217         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
11218         process untill we fit the allocation given.
11219
11220 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
11221
11222         * gtk/gtkwidget.c:
11223         (gtk_widget_unrealize): guard widget access with ref/unref
11224         around signal emission.
11225         (gtk_widget_hide): same here, but also check its destroyed
11226         state before queueing a resize.
11227
11228 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
11229
11230         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
11231         of gtk_default_insensitive_bg as insensitive base color.
11232
11233         * gtk/gtktext.c (gtk_text_style_set): set the background color according
11234         to the widget's state.
11235         (gtk_text_realize): same here.
11236         (gtk_text_state_changed): same here.
11237         (draw_bg_rect): compare background color against base[] from
11238         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
11239
11240 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
11241
11242         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
11243         grabs are active, unless a delete event is send to the toplevel
11244         of the currently grab holding widget.
11245
11246 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
11247
11248         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
11249         debugging g_print's.
11250
11251 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
11252
11253         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
11254         ever make the scrolled-window requisition ever depend on the 
11255         visibility state of the scrollbars for the AUTOMATIC policy. 
11256         This breaks the GTK+ requisition model, and causes loops.
11257
11258 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
11259
11260         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
11261         the default font to avoid problems with XFree86-4.0 where the
11262         default charset is iso10646-1, not iso8859-1.
11263
11264 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
11265
11266         * acinclude.m4
11267         * config.guess
11268         * config.sub
11269         * ltconfig
11270         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
11271
11272         * gtk/Makefile.am: minor cosmetic consistency tweak
11273
11274 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
11275
11276         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
11277         the activate_time to 0, so that we handle a quick
11278         press/release press/release properly and don't suppress
11279         the second release. (Red Hat bug #7545)
11280
11281 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
11282
11283         * gtk/gtkctree.c (row_delete):
11284         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
11285         bugs with destruction notifier, *always* update internal
11286         structures *before* calling user code.
11287
11288 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
11289
11290         A few more fixes for bug #5487, #2051, #2677.
11291         * gtk/gtkclist.c : 
11292         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
11293         not GDK_BUTTON_PRESS.
11294         (resync_selection): resync only if selection_mode is
11295         GTK_SELECTION_EXTENDED
11296         * gtk/gtkctree.c (resync_selection): same here
11297
11298 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
11299
11300         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
11301         gdk_drag_get_selection() and gtk_menu_detach().
11302
11303         [ From Jeroen Ruigrok/Asmodai ]
11304
11305 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
11306
11307         * gtk/gtknotebook.c (gtk_notebook_size_request): 
11308         page->tab_label can be NULL.
11309
11310 2000-01-25  Havoc Pennington  <hp@pobox.com>
11311         
11312         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
11313         arg is boolean
11314
11315         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
11316
11317         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
11318
11319         * gdk/gdkproperty.c (gdk_property_get): return boolean
11320
11321         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
11322
11323         * gdk/gdkim.c (gdk_im_ready): return boolean
11324
11325         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
11326
11327         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
11328         glib clash, should fix glib)
11329
11330         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
11331         (gdk_get_show_events): return gboolean, and canonicalize 
11332         to TRUE/FALSE
11333
11334         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
11335         colormap is private
11336         (gdk_colors_alloc): gboolean whether to be contiguous
11337         (gdk_color_equal): return gboolean since we are a predicate
11338         and not a qsort() (this looks semi-wrong due to glib breakage,
11339         IMO glib should be fixed)
11340         
11341         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
11342         (gdk_get_use_xshm): return gboolean
11343         (gdk_pointer_is_grabbed): return gboolean
11344
11345         * gdk/gdk.h: Change prototypes to match all the above changes,
11346         and re-run egtk-format-protos as required.
11347
11348 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
11349
11350         * gtk/gtkctree.c (resync_selection): 
11351         * gtk/gtkclist.c (resync_selection):
11352
11353         Return immediately if clist->drag_pos < 0. This is a workaround
11354         for the corrupt state that the clist gets into when a
11355         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
11356
11357         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
11358         
11359         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
11360         variable from recent commit.
11361
11362 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
11363
11364         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
11365
11366 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
11367
11368         * gtk/Makefile.am: prefix all autogenerated source that get build in
11369         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
11370         in builddir. since we subsequently cd into srcdir for autogeneration,
11371         the paths have to be stripped from the target file names, thusly we
11372         use $(@F) as target names now.
11373         put a comment about configure.in's --disable-rebuilds option,
11374         which can be used for non-writable source directories, for development
11375         setups though, srcdir has to be *writable*.
11376
11377 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
11378
11379         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
11380           Finish the job of allowing event to be NULL.
11381           (Fixes bug #4283, reported by Chris Blizzard)
11382
11383         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
11384           things so that the cursor appears on screen, properly
11385           take into account INNER_BORDER.
11386           (Fixes bug #4754, reported by Antonio Campos)
11387
11388 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
11389
11390         * gtk/gtknotebook.c (gtk_notebook_map): Don't
11391           show the tab_label unless it itself is visible.
11392
11393           gtk/gtknotebook.c (gtk_notebook_size_request):
11394           Do a better job of making sure that the visibility
11395           of the tab label corresponds to whether it should
11396           be mapped or not.
11397
11398 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
11399
11400         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
11401           Use the requisition, not the allocation, since the
11402           allocation has not necessarily been computed yet.
11403           (Pointed out by Eugene Osintsev)
11404
11405 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
11406
11407         * gtk/gtkstyle.c (gtk_style_new): Dont' set
11408           style/base[GTK_STATE_INSENSITIVE] both to
11409           gtk_default_insensitive_bg!
11410           (Bug #2187, reported by Jonathan Blandford)
11411
11412         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
11413           Add Alt_L, Alt_R to list of invalid accelerators.
11414           (Bug #3736, reported by Vlad Harchev)
11415
11416 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
11417
11418         * gtk/gtkfilesel.c (open_ref_dir): Fix several
11419         bugs which occured after an attempt to open 
11420         invalid home directory left cmpl_state->reference_dir == NULL.
11421
11422          - completion on files in home directory didn't work
11423          - completion on an empty string caused  segfault
11424
11425          (Bug #3678, reported by Steve Ratcliffe)
11426
11427         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
11428         cut and paste error that was causing scales to
11429         be incorrectly positioned.
11430         (Bug #2956,
11431          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
11432
11433 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
11434
11435         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
11436         when checking for dcgettext, if we've found we needed
11437         it for dgettext.
11438 +
11439 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
11440
11441         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
11442         queue_clear on NO_WINDOW widgets during a reparent,
11443         since at that point the window and widget heirarchies
11444         are out of sync. This stops crashing in some cases
11445         (the scrolled window reparent test, for instance), and
11446         _probably_ won't cause drawing errors.
11447
11448         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
11449         test do what it was supposed to do and be robust against
11450         window closings, etc. (Bug #2443)
11451
11452 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
11453
11454         * gtk/gtkentry.c: Fix return values on mouse events.
11455         (Bug #2686, Sky <seb_sky@yahoo.com>)
11456
11457         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
11458         (pointed out by George Lebl)
11459
11460         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
11461         (From Ettore Perazzoli  <ettore@helixcode.com>)
11462  
11463 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
11464
11465         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
11466         clicks between rows or outside calender area correctly.
11467         (Patch from Damon Chaplin)
11468
11469         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
11470         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
11471           Call destroy function when overwriting existing data. 
11472           (Pointed out by Damon Chaplin)
11473
11474 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
11475
11476         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
11477           which was causing problems on various systems with Xmu.
11478           This hasn't been needed for a very long time.
11479           (Fixes #1185 3167)
11480
11481 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
11482
11483         * gdk/gdki18n.h: Include <ctype.h> when defining
11484           gdk_isw* in terms of is* as a fallback.
11485           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
11486
11487 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
11488
11489         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
11490           realize the widget when it is size allocated!
11491           (old, old bug)
11492
11493         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
11494           Removed unused call to gdk_window_get_size() that
11495           showed up when the above was fixed.
11496
11497 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
11498
11499         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
11500           fix up widget->window when the widget is a
11501           NO_WINDOW container widget.
11502
11503 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
11504
11505         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
11506           to account for the fact that feof() does _not_ 
11507           return TRUE on errors, and thus avoid infinite loops
11508           when trying to use gdk_pixmap_create_from_xpm()
11509           on unreadable values.
11510
11511 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
11512
11513         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
11514
11515 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
11516
11517         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
11518           gdk_gc_set_dashes to take gint8 instead of gchar to
11519           make it clearer that it is _not_ a NULL terminated string.
11520
11521         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
11522           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
11523           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
11524           arguments.
11525
11526 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
11527
11528         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
11529         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
11530         background size relative to our allocation, guard against small
11531         allocations, we may have not yet been size allocated.
11532
11533 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
11534
11535         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
11536         not just version == 3. We implement all 3 + most of 4 - 
11537         (we don't support matching text/plain;charset=iso-8859-1
11538         to a dest that expects text/plain). We'll still advertise
11539         3 to be safe, but any client implementing version >= 3
11540         must interoperate with 3.
11541         
11542 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
11543
11544         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
11545         background and gc members, add a warning in gtk_tooltips_set_color()
11546         indicating that this function is deprecated.
11547
11548 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
11549
11550         * docs/gtkfaq.sgml: FAQ Update:
11551           - Minor cleanups (Emmanuel, me)
11552           - New questions:
11553                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
11554                 How can I retrieve the text from a GtkMenuItem? (timj)
11555                 How do I validate/limit/filter the input to a GtkEntry? (me)
11556                 Memory does not seem to be released when I free the list
11557                         nodes I've allocated (timj)
11558
11559 2000-03-07  Tor Lillqvist  <tml@iki.fi>
11560
11561         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
11562         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
11563         for which it is no use to call GetLastError onWin9x.
11564         (gdk_other_api_failed) New function, for general error
11565         reporting without calling GetLastError.
11566         (gdk_win32_api_failed) OTOH, this function always calls
11567         GetLastError. (gdk_win32_last_error_string) Remove this function,
11568         GLib has the equivalent now.
11569
11570         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
11571         call them with function name, file name and line number in the
11572         arguments.
11573
11574         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
11575         functions.
11576         
11577         * gtk/gtk.def: Add some missing entry points.
11578
11579         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
11580         gtk_paned_set_gutter_size, which don't exist any longer, as void.
11581         
11582         Fixes by Hans Breuer:
11583
11584         * gdk/makefile.msc: Update for debugging.
11585
11586         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
11587         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
11588         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
11589         in the dash_list.
11590
11591         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
11592         the x11 backend.
11593
11594         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
11595
11596         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
11597
11598 2000-03-04  Tor Lillqvist  <tml@iki.fi>
11599
11600         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
11601         just pixel value of background colour.
11602
11603         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
11604         containing code snippet previously duplicated in a couple of
11605         places.
11606         
11607         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
11608         gdk_colormap_color.
11609
11610         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
11611         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
11612         events for autorepeated Shift, Control and Alt keys. Use
11613         gdk_colormap_color.
11614
11615         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
11616         pointer is inside the window the cursor of which we are setting,
11617         call SetCursor immediately.
11618
11619         * gdk/win32/makefile.cygwin
11620         * gtk/makefile.cygwin: If we don't have the build number stamp
11621         file, use zero.
11622
11623         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
11624         gtk_paned_set_gutter_size as empty.
11625
11626         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
11627         
11628 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
11629
11630         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
11631           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
11632           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
11633           docs/gtk_tut.sgml docs/gtk.texi TODO:
11634
11635           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
11636
11637 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
11638
11639         * gtk/gtkcalendar.c: Implement num_marked_dates,
11640           and don't emit mutiple day_selected signals on
11641           month_prev.
11642
11643 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
11644
11645         * docs/make-todo (lineno): let title and logo be configurable so
11646         that GNOME can use this script too.
11647
11648         * TODO.xml: added logourl and a title
11649
11650 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
11651
11652         * TODO.xml: Added some UI items, and an explanatory
11653         comment at the top of the file.
11654
11655 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
11656
11657         * TODO.xml: some updates, added abunch of new entries.
11658         a note for those fiddeling with this file, when done
11659         with it, invoke:
11660         $ ./docs/make-todo TODO.xml >/dev/null
11661         and correct output errors before comitting changes.
11662
11663 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
11664
11665         * TODO.xml: Added XML-structured TODO file.
11666         * docs/make-todo: python script to turn TODO.xml into
11667           pretty XML output. 
11668
11669 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
11670
11671         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
11672         the function to let it draw the seven dots, instead of the old,
11673         much maligned, method.
11674         (draw_dot): New function to draw a dot.
11675
11676         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
11677         to draw the handle inside the border width as opposed to outside.
11678         Use paint function instead of gdk_draw_point.
11679
11680         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
11681         to draw the handle inside the border width as opposed to outside.
11682         Use paint function instead of gdk_draw_point.
11683
11684         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
11685         Change indenting to be more GTK like.
11686
11687 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
11688
11689         * docs/gtk_tut.sgml: New section on GtkCalendar
11690         * examples/calendar: Update example code
11691
11692 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
11693
11694         * docs/gtkfaq.sgml: FAQ Update
11695
11696 2000-02-19  Anders Carlsson  <andersca@gnu.org>
11697
11698         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
11699         to prevent the scroll event to be propagated upwards.
11700
11701 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
11702
11703         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
11704         OwnerGrabButtonMask from button entries for
11705         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
11706
11707         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
11708         to the event mask (which will result in button/press release
11709         being added to the event mask on Unix) so scrolling works
11710         for layouts in scroll windows.
11711
11712         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
11713
11714         Patch from Anders Carlsson  <andersca@gnu.org> to add
11715         a scroll event.
11716
11717         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
11718         scrolling to the "Test Scrolling" part of testgtk.
11719  
11720         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
11721  
11722         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
11723         it against GDK_SCROLL.
11724  
11725         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
11726         way of mouse wheel scrolling.
11727  
11728         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
11729  
11730         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
11731  
11732         * gtk/gtkmain.c: Removed previous mouse wheel hack.
11733  
11734         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
11735         gdk_event_mask_table.
11736  
11737         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
11738         GdkEventScroll handler.
11739  
11740         * gdk/gdkevents.h: Added GdkEventScroll structure.
11741  
11742 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
11743
11744         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
11745         and Anders Carlsson to change the Paned widgets so that they
11746         can be dragged from anywhere along the length. Also change
11747         the way that this is drawn to make this apparent.
11748
11749         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
11750         from George Lebl to check that option_menu->menu is present
11751         before getting history.
11752
11753 2000-02-14  Tor Lillqvist  <tml@iki.fi>
11754
11755         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
11756         before the assertion for non-NULL segment list.
11757
11758         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
11759         Seems that pattern brushes *must* be 8x8 pixels! At least on my
11760         machine, but it might be display driver dependent. Sigh, so make
11761         sure the stipple is that size. Does Windows suck or what?
11762
11763         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
11764         places.
11765
11766 2000-02-13  Havoc Pennington  <hp@pobox.com>
11767
11768         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
11769         refcount to 1
11770         (gdk_cursor_new): init refcount to 1
11771
11772         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
11773
11774 2000-02-13  Tor Lillqvist  <tml@iki.fi>
11775
11776         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
11777         so that we don't have to do unnecessary settings to the HDC.
11778
11779         * gdk/win32/gdkdrawable-win32.c
11780         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
11781         gdk_gc_predraw.
11782
11783         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
11784         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
11785         GDI paths, call WidenPath to get the outline of the stroken path,
11786         and then fill the outline (with the brush that was built from the
11787         stipple).
11788
11789         * gdk/win32/gdkgc-win32.c: Factor out common code from
11790         _gdk_win32_gc_new and gdk_win32_gc_set_values into
11791         gdk_win32_gc_values_to_win32values. Use correct colour for
11792         SetBkColor() (Until now the code actually used a random colour in
11793         the call to SetBkColor()... but that didn't show up as not many
11794         GDI APIs use the background colour. Pattern (opaque stippled)
11795         brushes do.)
11796
11797         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
11798         gdk_win32_api_failed): New functions for error logging.
11799
11800         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
11801         WIN32_API_FAILED to call them, passing function or file name and
11802         line number.
11803
11804         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
11805
11806         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
11807         GdkColor for foreground and background in GdkGCWin32Data.
11808
11809         * gdk/makefile.cygwin: Link in the resource object separately.
11810
11811         * gdk/win32/rc/gdk.rc
11812         * gtk/gtk.rc (New file)
11813         * gdk/win32/makefile.cygwin
11814         * gtk/makefile.cygwin: Update build number in DLLs automatically,
11815         as in GLib.
11816
11817 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
11818
11819         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
11820         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
11821         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
11822         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
11823         parameters given and cursor->ref_count. coding style fixups.
11824
11825         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
11826         not GtkWidget.
11827         
11828         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
11829         fix up widget macros and add _GET_CLASS() variant.
11830         
11831         * gtk/*.c: some GtkType fixups.
11832
11833 2000-02-09  Tor Lillqvist  <tml@iki.fi>
11834
11835         * gdk/win32/gdkproperty-win32.c
11836         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
11837         were reversed.
11838
11839 2000-02-04  Tor Lillqvist  <tml@iki.fi>
11840
11841         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
11842         g_filename_to_utf8 to convert the font names Windows gives us from
11843         whatever is the default codepage to UTF-8.
11844         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
11845         in the other direction.
11846
11847         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
11848         error in debugging output.
11849
11850 2000-02-02  Tor Lillqvist  <tml@iki.fi>
11851
11852         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
11853         and height parameters to gdk_window_clear_area(). Not minus one.
11854
11855 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
11856
11857         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
11858         checks if the widget passed to gtk_drag_get_data() was not the
11859         dest widget.
11860
11861 2000-02-01  Tor Lillqvist  <tml@iki.fi>
11862
11863         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
11864         g_filename_from_utf8 functions (which were added a moment ago to
11865         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
11866         size buffers.
11867
11868         gtk_file_selection_get_filename returns the filename in the C
11869         runtime encoding. It calls g_filename_from_utf8, but copies the
11870         returned string to a static buffer, which is returned. I think
11871         this is better than returning the result from g_filename_from_utf8
11872         directly, which would mean all apps that use it would have to free
11873         the return value. Or should this function care about this issue at
11874         all? Maybe a new function with clearly defined semantics.
11875
11876         * gtk/gtkfilesel.h: Add comment about
11877         gtk_file_selection_get_filename returning the filename in the C
11878         runtime's encoding.
11879
11880         * README.win32
11881         * gdk/gdk.def
11882         * gdk/makefile.{cygwin,msc}
11883         * gtk/gtk.def: Updates.
11884
11885         * gdk/gdkcursor-win32.c: Initialise refcount.
11886
11887 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
11888
11889         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
11890
11891 2000-01-30  Havoc Pennington  <hp@pobox.com>
11892
11893         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
11894         destroy
11895
11896         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
11897
11898         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
11899         implemented in platform-specific code
11900
11901         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
11902
11903         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
11904         underscore in front
11905
11906         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
11907         put an underscore in front
11908
11909         * gdk/gdkcursor.c: new file, implements
11910         gdk_cursor_ref/gdk_cursor_unref
11911
11912         * gdk/gdkcursor.h: Refcount GdkCursor
11913
11914         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
11915
11916 2000-01-29  Tor Lillqvist  <tml@iki.fi>
11917
11918         * gdk/gdkwindow.h
11919         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
11920
11921 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
11922
11923         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
11924         structures to properly inherit from GtkWidget not GtkBin.
11925
11926 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
11927
11928         * gtk+.spec.in: Added lib/gtk+/include/* to %files
11929         (bug #5178 - Peter Wainright)
11930         
11931         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
11932         so that it will be installed.
11933         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
11934
11935 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
11936
11937         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
11938         for the GtkStyleClass vtable const.
11939
11940         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
11941         take a const string argument like GtkTranslateFunc. This will
11942         require changes in use code.
11943
11944 2000-01-19  Tor Lillqvist  <tml@iki.fi>
11945
11946         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
11947         semantics (to mimic the X11 backend, which just calls XClearArea)
11948         is to check for zero width (and height), and in that case use the
11949         window's width minus x (height minus y). This fixes for instance
11950         some redraw problems with gtkclist, which were easily noticeable
11951         in the gtk file selection widget.
11952
11953         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
11954         windows.
11955
11956 2000-01-13  Tor Lillqvist  <tml@iki.fi>
11957
11958         * configure.in
11959         * gdk/Makefile.am
11960         * gdk/x11/Makefile.am
11961         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
11962         (bug #5177).
11963         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
11964         out later.
11965
11966 2000-01-09  Tor Lillqvist  <tml@iki.fi>
11967
11968         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
11969         WM_MOVE for iconified or invisible windows. This fixes various
11970         problems when minimising windows. Thanks to Bernd Herd.
11971
11972 2000-01-05  Tor Lillqvist  <tml@iki.fi>
11973
11974         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
11975         backend's draw_lines method, not draw_points.
11976
11977 2000-01-02  Tor Lillqvist  <tml@iki.fi>
11978
11979         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
11980         before Owen's reorganisation: Don't have queued_events and
11981         queued_tail statics in this file, but use gdk_queued_events and
11982         gdk_queued_tail. This makes exposure event compression work again.
11983
11984         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
11985         seem to be needed?
11986
11987 1999-12-30  Tor Lillqvist  <tml@iki.fi>
11988
11989         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
11990         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
11991         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
11992         doesn't do anything.
11993
11994         * gdk/gdk.def: Add gdk_xid_table_insert.
11995
11996         * gdk/win32/gdkprivate-win32.h
11997         * gdk/win32/gdkevents-win32.c
11998         * gdk/win32/gdkinput-win32.c
11999         
12000         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
12001         extension_events field in the GdkWindowWin32Data struct. Use only
12002         the extension_events field in GdkWindowPrivate. Previously one was
12003         set, and the other one tested, which broke tablet
12004         functionality. Thanks to Keishi Suenaga for pointing this out.
12005
12006 1999-12-18  Tor Lillqvist  <tml@iki.fi>
12007
12008         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
12009         When handling a single character (text length == 1), don't handle
12010         it as if it was UTF-8.
12011
12012 1999-12-11  Tor Lillqvist  <tml@iki.fi>
12013
12014         * Makefile.am: Distribute README.win32.
12015         
12016         * gdk/Makefile.am
12017         * gdk/win32/Makefile.am: Distribute Win32 files.
12018
12019         * gdk/makefile.msc: New file.
12020
12021         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
12022         after label).
12023
12024         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
12025         gdk_error_code as GDKVAR, as they are referred outside GDK.
12026
12027         * gdk/win32/makefile.msc: Update.
12028
12029         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
12030         tweaks. Check only if at least one of those Unicode subrange bits
12031         we care for is set. If no code page bits are set, guess (wildly)
12032         based on the charset.
12033
12034         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
12035
12036         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
12037         non-NULL.
12038
12039         * gtk/gtkdnd.c
12040         * gtk/gtklayout.c
12041         * gtk/gtkplug.c
12042         * gtk/gtkselection.c
12043         * gtk/gtksocket.c
12044         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
12045         appropriate. There must be a cleaner way to handle this?
12046
12047         * gtk/gtkrc.c: Must include windows.h on Win32.
12048
12049         * gtk/testgtk.c: No need to include gdkx.h.
12050
12051         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
12052
12053 1999-12-07  Tor Lillqvist  <tml@iki.fi>
12054
12055         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
12056         the rbearing is set to the same as the width, but this should be
12057         fixed.
12058
12059 1999-12-06  Tor Lillqvist  <tml@iki.fi>
12060
12061         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
12062         function. If Windows doesn't tell us what Unicode subranges a font
12063         covers, guesstimate based on the codepages it covers. This will
12064         hopefully help those Windows versions or fonts that don't give us
12065         any useful Unicode subrange information with GetTextCharsetInfo.
12066         Call this function in gdk_font_load_internal.
12067
12068         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
12069         minor changes.
12070
12071 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
12072
12073         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
12074         New function, long needed.
12075
12076 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
12077
12078         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
12079         only_if_exists argument of gdk_atom_intern to
12080         bool.
12081
12082 1999-11-25  Tor Lillqvist  <tml@iki.fi>
12083
12084         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
12085         Fix two copy&paste errors.
12086
12087         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
12088         win32 has changed.
12089
12090         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
12091         GdkWin32SingleFont struct.
12092
12093         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
12094         subranges of loaded fonts. Clear font signature first, in case
12095         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
12096         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
12097
12098         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
12099         Unoffset clip region.
12100
12101 1999-11-23  Tor Lillqvist  <tml@iki.fi>
12102
12103         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
12104         event->any.window before calling filter functions.
12105
12106 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
12107
12108         * gtk/gtkgamma.h: Adapt cast macros to standard.
12109
12110 [ Merges from 1.2 ]
12111
12112 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
12113
12114         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
12115         If translation does not include a '/', use entire
12116         translation instead of crashing.
12117
12118 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
12119
12120         * docs/gtk_tut.sgml:
12121         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
12122
12123 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
12124
12125         * gtk/gtkselection.c (gtk_target_list_remove): Use
12126         g_list_remove_link, not g_list_remove.
12127
12128         [ From Geert Bevin <gbevin@thunderstorms.org> ]
12129         
12130 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
12131
12132         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
12133         statement upon unselection (how the heck did that slip in?).
12134
12135 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
12136
12137         * gtk/gtktext.c (gtk_text_freeze): 
12138         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
12139         in frozen state (and aparently crashes). patch provided by Anders
12140         Melchiorsen <and@kampsax.dtu.dk>.
12141
12142 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
12143
12144         * fix insensitive default/focus widget activation,
12145         reported by Matt Goodall <mgg@isotek.co.uk>.
12146
12147         * gtk/gtkwindow.c (gtk_window_key_press_event): 
12148         (gtk_window_activate_default):
12149         (gtk_window_activate_focus):
12150         return handled=FALSE for actiavtion of insensitive default
12151         widgets. return handled=TRUE for activation of insensitive
12152         focus widgets. don't activate in either case.
12153
12154 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
12155
12156         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
12157         and $glib_cflags to match library order and in the
12158         theory that an old version of GLib is more likely to
12159         be in the include directory for X then vice-versa.
12160         (Bug #2776)
12161
12162 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
12163
12164         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
12165         to determine the locale for fontsets, not LC_MESSAGES;
12166         the user may want English messages with a handling
12167         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
12168         will still be broken) (Bug #2891)
12169
12170 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
12171
12172         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
12173
12174 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
12175
12176         * gtk/gtkrc.ko: Changed the Korean default fontset.
12177
12178 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
12179
12180         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
12181         where when scrolling to the left or top double exposes
12182         were done, causing major slowdowns.
12183
12184 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
12185
12186         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
12187         names to lowercase and alphanumeric, before looking
12188         them up.
12189
12190         * gtk/Makefile.am: Install codeset variant gtkrc files
12191         with normalized names.
12192
12193 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
12194
12195         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
12196         popup menus when the menu is already visible, but its parent
12197         is still hidden, (happens after tornoff window got hidden).
12198
12199 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
12200
12201         * gtk/Makefile.am (install-data-local): Fix
12202         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
12203         deleted, causing error messages on install.
12204
12205 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
12206
12207         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
12208         the handle as well, since we now sometimes ignore
12209         exposes on the handle while resizing.
12210
12211 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
12212
12213         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
12214         extra g_free introduced in one of the last one or two 
12215         commits.
12216
12217 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
12218
12219         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
12220         consistent, put each style that a gtkrc.* file creates
12221         in a unique namespace, remove old files before installing.
12222
12223 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
12224
12225         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
12226         gtk_rc_init is called multiple times. (Yes, people who
12227         do that have bugs in their code.)
12228
12229 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
12230
12231         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
12232         Remove it since it's generated by the Makefile anyway
12233
12234 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
12235
12236         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
12237         device->info.axes for core pointer.
12238
12239 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
12240
12241         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
12242         idle_id, to deal with obsolete, broken C libraries.
12243
12244 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
12245
12246         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
12247         allocation->x/y twice!
12248
12249         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
12250         consistent with gtk_vscale_pos_trough().
12251
12252 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
12253
12254         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
12255         be queueing a resize on a toplevel container between
12256         the time we show it and when we map it. So, we need
12257         to test GTK_WIDGET_VISIBLE() for toplevels, and only
12258         use GTK_WIDGET_DRAWABLE() for child windows.
12259
12260 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
12261
12262         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
12263         (fixes bug #2144)
12264
12265 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
12266
12267         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
12268         container DRAWABLE (instead of VISIBLE), so we don't queue
12269         resizes on non-toplevel containers.
12270
12271 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
12272
12273         * gtk/gtkselection.[ch]: Make the data argument
12274         const guchar *.
12275
12276 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
12277
12278         * gtk/gtkwindow.c: Try to behave sensibly if 
12279         the focus widget is the window itself. (Should
12280         we allow this at all?)
12281
12282 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
12283
12284         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
12285         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
12286         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
12287         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
12288         in prototypes and implementations consistent (Tomas Ogren).
12289
12290         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
12291         before the widget is unparented (reported by damon).
12292
12293         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
12294         since we provide unsigned data anyways.
12295
12296 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
12297
12298         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
12299         the call to gtk_tooltips_layout_text() until later.
12300
12301         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
12302         Call gtk_widget_ensure_style() before using the style.
12303
12304 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
12305
12306         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
12307         for old widgets that don't propagate draws to all
12308         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
12309
12310 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
12311
12312         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
12313         for a redraw but just the widget that requested the resize.
12314
12315 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
12316
12317         * gtk/gtkcontainer.c: added new widget level method
12318         gtk_container_set_reallocate_redraws() and a GtkContainer flag
12319         reallocate_redraws : 1 to reflect the setting, exported this through
12320         the argument system as a boolean ::reallocate_redraws.
12321
12322         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
12323         on the widget because the allocation changes, do so as well for
12324         widget->parent if the parent has reallocate_redraws set to TRUE.
12325         with that containers requesting reallocation redraws get automatically
12326         redrawn if their children changed allocation (this unfortunately
12327         affects also other children that didn't change allocation, but we
12328         cannot work around that before 1.3).
12329
12330 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
12331
12332         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
12333         _and_ height are >0 (not _or_).
12334
12335         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
12336         instead of gtk_container_queue_resize(), which is a core gtk internal
12337         function (must have been on crack when i queued that).
12338
12339         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
12340         we can check more reliably if we want to discard expose events.
12341         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
12342         flag.
12343         
12344         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
12345         we simply trust these events. for deciding whether to discard exposes,
12346         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
12347         
12348 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
12349
12350         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
12351         queues of areas that are completely off screen.
12352
12353         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
12354         logic for handleboxes.
12355
12356         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
12357         check on width/height.
12358
12359 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
12360
12361         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
12362         we are fine with using $@ the way we do (if we actually encounter
12363         brokeness with $@ in VPATH builds because of additional path prefixes,
12364         we need to use $(@F) actually).
12365
12366 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
12367
12368         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
12369         short lived bugs, that would allow language bindings to do surgeries
12370         to our guts.
12371
12372 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
12373
12374         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
12375         where comparison was being done against an uninitialized
12376         value causing intermittant results depending on
12377         compiler flags. Also make it clearer that we aren't
12378         ever initializing the child as 0x0 (though this will
12379         be caught in gtk_widget_size_allocate())
12380
12381 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
12382
12383         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
12384         gtk_window_unset_transient_for() call after we do checks
12385         involving the old transient parent.
12386         [ From Lance Capser <lmc@cyberhighway.net> ]
12387
12388 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
12389
12390         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
12391         an empty file.
12392
12393 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
12394
12395         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
12396         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
12397
12398 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
12399
12400         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
12401         `$@' is valid only in the build dir, not after we've done 
12402         `cd $srcdir'.  Also use `test -f' instead of less portable
12403         `test -e'.
12404
12405 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
12406
12407         * gtk/gtktext.c (correct_cache_insert): Rewrite
12408          for simplicity, and hopefully correctness.
12409          (Fixes bug #1322, which was a segfault when
12410           on some insertions with the properties around
12411           the insertion set up just wrong.)
12412
12413         * gtk/gtktext.c (gtk_text_adjustment): When we receive
12414          a "changed" signal, clamp the new value to the adjustment
12415          bounds to avoid segfaulting if someone tries to change
12416          the adjustment to a bogus value. (Bug #1795)
12417
12418 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
12419
12420         * gtk/gtkmain.c: Ignore unexpected destroy notifies
12421         for children, for toplevel windows handle them
12422         like delete_event.
12423
12424         * gtk/gtkplug.c: Add an unrealize handler so that
12425         we unref plug->socket_window when we are done
12426         with it.
12427
12428 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
12429
12430         * gtk/gtktext.c (clear_area): Fix stupid signedness
12431          problem that was causing background to sometimes
12432          be misaligned.
12433
12434 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
12435
12436         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
12437         
12438         * gtk/gtkmenu.c (gtk_menu_position): Make
12439          sure we never position menus with negative x, y,
12440          since gtk_widget_set_uposition() can't handle that.
12441
12442         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
12443          Modify the positioning code a bit so that we always
12444          put the top-left corner onscreen. (This is for
12445          UI reasons, gtk_menu_position() now takes care of
12446          gtk_widet_set_uposition() brokeness.)
12447
12448 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
12449
12450         * gtk/Makefile.am: fixed up things for -jx, x > 1.
12451
12452 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
12453
12454         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
12455           RC style that is passed in. The lack of the ref
12456           before was a bug. If people worked around this
12457           bug, this will introduce a slight memory leak
12458           in their code. The code should typically look like:
12459
12460             rc_style = gtk_rc_style_new ();
12461             [...]
12462             gtk_widget_modify_style (widget, rc_style);
12463             gtk_rc_style_unref (rc_style);
12464
12465         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
12466           the style if it was already set.
12467
12468         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
12469           style if it was set before.
12470
12471 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12472
12473         * gtk/testgtk.c (main): Add a check to see if we
12474           are being run from the correct directory and
12475           to quit nicely if we are not.
12476
12477         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
12478           static.
12479
12480 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
12481
12482         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
12483
12484         * gtk/gtkwindow.c:
12485         queue resizes unconditionally (gtk_widget_queue_resize will figure
12486         what to do if the window is not realized).
12487         (gtk_window_move_resize): only recenter the window
12488         for GTK_WIN_POS_CENTER_ALWAYS.
12489         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
12490         the same way as GTK_WIN_POS_CENTER.
12491
12492 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
12493
12494         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
12495         with (!(info->last_flags & GDK_HINT_POS)) instead of
12496         (!info->last_flags & GDK_HINT_POS).
12497
12498         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
12499         new_height unconditionally, because we use these values even if
12500         !default_size_changed && !hints_changed.
12501         comented the (default_size_changed || hints_changed) case with
12502         respect to resize rejects from the window manager.
12503
12504         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
12505         in the zvt condition hack, since this includes the window hints, set
12506         the hints after the handling_resize case.
12507
12508         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
12509         window is initially shown with to the geometry.
12510
12511 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
12512
12513         * gtk/gtkwindow.c (gtk_window_move_resize):
12514         s/size_changed/default_size_changed/g so i know what's
12515         really going on (frying brain on smaller flame now).
12516
12517 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
12518
12519         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
12520         we have size_changed upon handling_resize. this is a gross
12521         workaround for the broken zvt widget and should be removed in
12522         1.3 again (search for FIXME).
12523         Owen provided an accurate comment for this:
12524
12525         /* We could be here for two reasons
12526          *  1) We coincidentally got a resize while handling
12527          *     another resize.
12528          *  2) Our computation of size_changed was completely
12529          *     screwed up, probably because one of our children
12530          *     is broken. It's probably a zvt widget.
12531          *
12532          * For 1), we could just go ahead and ask for the
12533          * new size right now, but doing that for 2)
12534          * might well be fighting the user (and can even
12535          * trigger a loop). Since we really don't want to
12536          * do that, we requeue a resize in hopes that
12537          * by the time it gets handled, the child has seen
12538          * the light and is willing to go along with the
12539          * new size. (this happens for the zvt widget, since
12540          * the size_allocate() above will have stored the
12541          * requisition corresponding to the new size in the
12542          * zvt widget)
12543          *
12544          * This doesn't buy us anything for 1), but it shouldn't
12545          * hurt us too badly, since it is what would have
12546          * happened if we had gotten the configure event before
12547          * the new size had been set.
12548          */
12549
12550 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
12551
12552         * gtk/gtkrc.c: deal properly with the fact that RC
12553           style lists may include rc styles more than once.
12554
12555         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
12556           unused static function.
12557
12558         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
12559           stack of directories of RC files currently being
12560           parsed and implicitely add them to pixmap path.
12561           
12562           This fixes a bug where the directory would get
12563           appended then overwritten by pixmap_path declarations.
12564
12565           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
12566
12567         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
12568           theme's exit function. (Patch from Peter Wainwright,
12569           bug #1454)
12570
12571         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
12572           Add a destroy() handler to take care of removing
12573           group for menu item. (Fixes bug #1197)
12574
12575         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
12576           in warning message.
12577
12578 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
12579
12580         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
12581         roundtrip to figure window's width and height, since we know that
12582         anyways from widget->allocation.
12583
12584 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
12585
12586         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
12587           the hints after we request the new size.
12588
12589 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
12590
12591         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
12592           GTK_WIDGET_REALIZED() assertion - we can compute the
12593           hints before we are realized.
12594
12595         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
12596           hint changing so that we have a value of hints_changed
12597           when we decide whether to constrain the window size.
12598
12599         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
12600
12601         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
12602         change back to G_MAXINT.
12603
12604 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
12605
12606         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
12607         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
12608         contain uncluttered values.
12609         (gtk_window_compute_hints): simply assert that window is realized
12610         and that geometry_info is valid, since we rely on this anyways.
12611         (gtk_window_constrain_size): major cleanups to the code.
12612         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
12613         for the base size, instead of the minimums. use 32767 as max width
12614         and height (like in gtkwindow.c) instead of G_MAXINT.
12615
12616 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
12617
12618         * cleaned up the GtkContainer.need_resize flag handling mess, we
12619         only need to force resize requests when we were prematurely
12620         realized, or our widget tree was modified when we were temporarily
12621         hidden. handling these cases directly upon showing the window (i.e.
12622         while the GdkWindow is still unmapped) avoids the need to wait for
12623         a configure event response and therefore makes the GUI more snappier
12624         and avoids blank windows during the roundtrip.
12625
12626         * gtk/gtkwidget.c:
12627         (gtk_widget_hide): 
12628         (gtk_widget_show): don't queue resizes on toplevels, they know how
12629         to deal with matters.
12630
12631         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
12632         flag directly for not visible resize containers and spare us unecessary
12633         signal emissions.
12634
12635         * gtk/gtkwindow.c:
12636         (gtk_window_realize): if we need to enforce premature size allocation,
12637         queue a container resize so we are correctly resized later on.
12638         (gtk_window_init):
12639         (gtk_window_size_request):
12640         don't freak around with the ->need_resize flag,
12641         gtk_container_queue_resize() will care about that.
12642         (gtk_window_show):
12643         handle initial resizing issues here, we can handle matters better in
12644         this place, especially since we know that our GdkWindow is still
12645         unmapped.
12646         (gtk_window_move_resize):
12647         don't care about ->need_resize at all.
12648         handle size changes properly that occoured while we waited for a
12649         configure event.
12650
12651 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
12652
12653         * gtk/gtkwidget.c (gtk_widget_set_uposition):
12654         * gtk/gtkwindow.[hc] (gtk_window_reposition):
12655         Move the hint setting code from gtk_widget_set_uposition
12656         to here; set the hints so that we respect any previously
12657         set geometry hints.
12658
12659         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
12660         change the window hints here or move the window here,
12661         let that happen in gtk_window_move_resize().
12662
12663 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
12664
12665         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
12666         to already queued resizes (and therefore redraws) on a widget, check
12667         its anchestry as well.
12668
12669         * gtk/gtkcontainer.c:
12670         (gtk_container_queue_resize): clear resize widgets for resize
12671         containers before aborting prematurely. this is especially important
12672         for toplevels which may need imemdiate processing or their resize
12673         handler to be queued.
12674         (gtk_container_dequeue_resize_handler): added new internal function for
12675         gtkwindow.c.
12676
12677         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
12678         configure event, take possible changes in window position into account
12679         as well.
12680         if we request a new window size, queue up a resize handler that will
12681         last until the configure event response arrives.
12682         combined the ->need_resize case (initial show) with the general size
12683         (hints) changed case and added even more comments.
12684         if !auto_shrink, only revert to the old allocation if the new size
12685         is smaller than the current allocation.
12686
12687 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
12688
12689         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
12690                            gtk_window_set_geometry_hints
12691                            gtk_window_set_default_size):
12692         When hints are set, queue a resize so that the hints will
12693         be eventually reset on the toplevel.
12694
12695         * gtk/gtkwindow.c (gtk_window_show): Use
12696         gtk_window_compute_default_size(). Clear the need_resize flag
12697         on the initail map so that we don't unnecessarily trigger the
12698         resize code.
12699
12700         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
12701         into separate functions. Compare the hints we are setting
12702         with what we set last time so that we can accurately
12703         tell when we need to reset the hints.
12704
12705         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
12706         function to figure out the size from requisition
12707         and default_size.
12708
12709         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
12710         from fvwm to constrain a size to the geometry hints.
12711
12712         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
12713         to compare two sets of geometry hints.
12714
12715         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
12716         from gtk_window_set_hints(), just compute the hints,
12717         don't set them.
12718
12719         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
12720         code from gtk_window_move_resize() to separate function,
12721         rationalize a bit.
12722
12723 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
12724
12725         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
12726         structure into a new private structure.
12727
12728         * gtkrc.c: Split GtkRcStyle into public/private.
12729         In the private part, add a list of pointers to the
12730         RcStyle lists this RcStyle participates in.
12731
12732         * gtkrc.c: When a RcStyle is free, remove all
12733         lists referencing it from the 
12734         realized_style_ht hash, and free those lists.
12735         
12736         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
12737         gtk_rc_init(), since that adds the default styles
12738         to the list of parsed RC files again.
12739
12740         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
12741         
12742 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
12743
12744         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
12745         checks that ensure that a widget's allocation is at least 1 in width
12746         and height. (GNOME note: this doesn't affect old panel code anymore,
12747         because GtkSocket will request width and height of at least 1 since
12748         Fri Jul 23).
12749
12750         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
12751         allocated yet (happens if the user realizes the window prematurely),
12752         size request and allocate it.
12753         (gtk_window_size_allocate): guard against guint underflows.
12754
12755 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
12756
12757         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
12758         in gtk_built_sources, so gtk.defs gets built prior to all other
12759         sources.
12760
12761 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12762
12763         * gtk/Makefile.am:
12764         invoke indent on gtkmarshal.*. 
12765         rewrote source generation rules, use COPYING as oldest source tag for
12766         a piggyback rule to generate all sources from (don't touch it ;).
12767         major cleanups, strip spaces on build rules for GNU Make.
12768
12769         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
12770         source and target files from commandline arguments. don't invoke indent.
12771
12772 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
12773
12774         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
12775         notebook after switch to avoid drawing problems.
12776         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
12777         
12778         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
12779         show them instead. 
12780         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
12781
12782 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
12783
12784         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
12785         notebook after switch to avoid drawing problems.
12786         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
12787         
12788         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
12789         show them instead. 
12790         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
12791
12792 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
12793
12794         * gtk/gtkwindow.c:
12795         we use window->need_resize from configure_event now, to indicate that
12796         the gtkwindow should keep its allocation (e.g. because the user resized
12797         the window through window manager handles). resize_count is now reliably
12798         used to figure whether we got the allocation we requested from the
12799         window manager.
12800         configure events get queued as resizes now, the real stuff (size
12801         computation and allocation) now only goes on in gtk_window_move_resize().
12802         GtkWindow's requisition now contains its *real* requisition (like all
12803         other widgets), *not* taking usize into account.
12804         geometry_info->last_{width|height} is now updated from set_hints() only
12805         so it always contains the last hints we set for the window manager.
12806         made some event handlers return TRUE instead of FALSE.
12807         the overall code should be much more straight forward now, and the
12808         significant code portions are accompanied by comments now.
12809         (gtk_window_set_hints):
12810         removed requisition argument and made it
12811         fetch the requisition through gtk_widget_get_child_requisition.
12812         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
12813         does that now.
12814         (gtk_window_show):
12815         ensure that the widget is realized before calling 
12816         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
12817         ensure that we got properly size requested and allocated before
12818         realization.
12819         (gtk_window_configure_event):
12820         ignore plain window moves, or reallocate the widget tree through the
12821         resize queue otherwise.
12822         (gtk_window_move_resize):
12823         mostly rewrote this function to figure window manager hints more
12824         reliably, coalesce window moves and resizes to reduce configure events
12825         and do actuall size allocations.
12826
12827 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
12828
12829         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
12830         that have a resize pending, because a redraw is already queued for them.
12831
12832         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
12833         hack to clear resize_widgets.
12834
12835         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
12836         for resize containers prior to size allocation. (this is also a bit
12837         ugly, but avoids side effects for stopped emissions and is thus more
12838         reliable).
12839         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
12840
12841         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
12842         function from gtk_tooltips_expose, as we connect to ::expose_event
12843         *and* ::draw now.
12844
12845 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
12846
12847         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
12848         checks.
12849         (gtk_target_list_unref): Likewise.
12850
12851         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
12852
12853 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
12854
12855         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
12856         guard against division by zero. (Fixes bug #1339)
12857
12858 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
12859
12860         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
12861         Prevent the trivial leak of information of allowing
12862         word motion when the entry is not visible.
12863
12864 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
12865
12866         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
12867         modality to error dialog as well as confirmation dialogs.
12868         (Bug #1803, reported by Rosanna Wing Sze Yuen)
12869
12870 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
12871
12872         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
12873         tree->view_lines.
12874         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
12875
12876         * gtk/Makefile.am (install-data-local): Solaris apparently
12877         has various troubles with ln -f; use rm first instead.
12878         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
12879
12880 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
12881
12882         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
12883         use `cp' followed by `rm' (the `rm' was already there).
12884
12885 July 30, 1999 Elliot Lee <sopwith@redhat.com>
12886         
12887         * configure.in: Fix autoconf warnings about cross compilation by
12888         trying to provide sane defaults for AC_TRY_RUN.
12889         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
12890         put them into $(srcdir) when generated. Also add a dependency of
12891         gtksignal.h on gtkmarshal.h for -j builds. 
12892         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
12893
12894 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
12895
12896         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
12897         GDK_THREADS_{LEAVE,ENTER} pair.
12898         (From Paul Fisher <pnfisher@redhat.com>)
12899
12900 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
12901
12902         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
12903         width and height are always >0 (owen).
12904
12905 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
12906
12907         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
12908         change that assured that a widget's allocated with and height are
12909         always >1, since this breaks *buggy* panel code. unfortunately this
12910         back-breaks the gimp's color selector.
12911
12912         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
12913         allocation is always >0 in width and height, before sending the
12914         configure event; this is a *gross* hack to get the gimp back to work.
12915         
12916         * marked both cases with TODO-1.3
12917
12918 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
12919
12920         * gtk/gtktext.c: Don't display wrap indicators when
12921         text is not editable and word wrap is on.
12922
12923 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
12924
12925         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
12926         option menus here as they are not derived from menu shell, assure that
12927         the option menu has a menu we can add items to.
12928
12929 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
12930
12931         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
12932         width/height to (gint) before calculations and check against < 0 to
12933         avoid guint wraparounds.
12934
12935 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
12936
12937         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
12938         width and height is never zero. sanity check both dimensions against
12939         32767 and issue a warning if the allocation is greater than that.
12940
12941 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
12942
12943         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
12944         to g_main_pending() as well.
12945
12946 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
12947
12948         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
12949         call to g_main_iteration() - since that will regrab
12950         GTK+ lock to process events.
12951
12952 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
12953
12954         * gtk/gtkwindow.c
12955         - Regularize with the rest of GTK+ by making widget->requisition
12956           not reflect the set_usize()
12957         - Always recompute geometry hints, then check if they
12958           changed before sending them to the X server. The
12959           previous checks for changes would fail in a number
12960           of circumstances. 
12961
12962 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
12963
12964         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
12965
12966 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
12967
12968         * gtk/gtkdnd.c:
12969         - Code cleanups
12970         - Instantaneously update on modifier key presses
12971         - Allow cancellation of the drag with Escape.
12972
12973 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
12974
12975         * gtk/testgtk.c (create_handle_box): Set the policy
12976         to auto_shrink - otherwise the appearance is rather
12977         strange when flipping between horizontal and vertical.
12978
12979 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
12980
12981         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
12982         (gtk_window_set_default_size): don't change a value if it's < 0.
12983         queue a resize.
12984
12985 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
12986
12987         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
12988
12989 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
12990
12991         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
12992         add an extra "/" when concating "/" + filename.
12993         (From Matt Grossman <mattg@oz.net>)
12994
12995 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
12996
12997         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
12998         for fg_gc if we set it for drawing pixmap.
12999
13000 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
13001
13002         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
13003         
13004         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
13005         already set, call old engine's destroy function and
13006         unref the old engine.
13007
13008 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
13009
13010         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
13011
13012 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
13013
13014         * gtk/gtkaccelgroup.h: mark certain functions as internal.
13015
13016 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
13017
13018         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
13019         expand behaviour changed.
13020
13021         * gtk/gtklabel.c (gtk_label_set_pattern):
13022         (gtk_label_set_justify):
13023         (gtk_label_set_line_wrap):
13024         don't bother invoking queue_clear, the reallocation does
13025         that for us, always free_words so the upcoming resize will
13026         relayout the label's contents.
13027
13028 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
13029
13030         * applied argument implementation patches from Elena Devdariani
13031         <elena@cogent.ca>.
13032
13033         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
13034         ::space_style, ::relief
13035         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
13036         * gtk/gtkpreview.c: ::expand
13037         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
13038         * gtk/gtknotebook.c: ::homogeneous
13039         * gtk/gtklabel.c: ::wrap
13040         * gtk/gtklist.c: ::selection_mode
13041         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
13042         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
13043         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
13044         * gtk/gtkclist.c: ::sort_type
13045         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
13046         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
13047
13048 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
13049
13050         * gtk/gtkstyle.c: Removed ill-thought-out part of last
13051         comment.
13052
13053 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
13054
13055         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
13056         counting right when we have to attach a new style
13057         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
13058
13059         * gtk/gtkstyle.c: Documented the refcounting
13060         peculularities of gtk_style_attach.
13061
13062 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
13063
13064         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
13065         window types.
13066
13067         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
13068         of GTK_TOPLEVEL for creating the window.
13069
13070 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
13071
13072         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
13073         the last argument (reported by Per Winkvist).
13074         
13075 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
13076
13077         Fixes for invisible XOR lines (Frank Loemker
13078         <floemker@TechFak.Uni-Bielefeld.DE>)
13079         
13080         * gtk/gtkclist.c (gtk_clist_realize): Always use
13081         a non-zero pixel for GDK_XOR.
13082
13083         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
13084         Use GDK_INVERT instead of GDK_XOR.
13085
13086 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
13087
13088         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
13089         signals if h/voffsets differ from adjustment values.
13090         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
13091
13092 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
13093
13094         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
13095         ::selection-done emissions up to the topmost menu shell.
13096
13097 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
13098
13099         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
13100         the user data on the window before destroying it.
13101
13102         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
13103         unrealize handler to take care of destroying 
13104         notebook->panel properly. 
13105         (Bug #1198 - Morten Welinder <terra@diku.dk>)
13106
13107         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
13108         of g_new and g_realloc to stop memory leak. (Actually,
13109         we could just use g_realloc(), but I'm not 100% sure
13110         that is portable).
13111         (Bug #1196 - Morten Welinder <terra@diku.dk>)
13112
13113 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
13114
13115         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
13116
13117         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
13118         for fontsets.
13119
13120         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
13121         with bin/button confusion.
13122
13123 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
13124
13125         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
13126         and show how preselection of radio items is done.
13127
13128 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
13129
13130         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
13131         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
13132         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
13133         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
13134         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
13135         * gtk/gtktable.c (gtk_table_attach): 
13136         * gtk/gtklist.c (gtk_list_insert_items): 
13137         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
13138         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
13139         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
13140         * gtk/gtkbin.c (gtk_bin_add): 
13141         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
13142         * gtk/gtkfixed.c (gtk_fixed_put): 
13143         * gtk/gtklayout.c (gtk_layout_put):
13144         general fixups to container_add logic. always realize child if
13145         child->parent is realized, only map the child and queue a resize
13146         if child and child->parent are both visible.
13147
13148 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
13149
13150         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
13151         instead of gtk_container_foreach to walk and unrealize children, so
13152         composite children get also unrealized.
13153         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
13154         (gtk_widget_map): assert that the widget is visible (basic constrain).
13155         (gtk_widget_real_map): assert that the widget is realized (basic
13156         constrain).
13157
13158 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
13159
13160         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
13161
13162 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
13163
13164         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
13165         file for iso-8859-2 locales.
13166
13167         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
13168
13169 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
13170
13171         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
13172          (Pointed out by andy@rz.uni-karlsruhe.de and others).
13173          Remove some suspicious and useless lines. 
13174
13175 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
13176
13177         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
13178         width,height = 0, 0 to mean - here to edge of window,
13179         instead of -1, -1, since the former is all we support.
13180
13181 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
13182
13183         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
13184         when removing from quit_functions list.
13185
13186 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
13187
13188         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
13189
13190 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
13191
13192         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
13193          When redrawing characters on non-visible entry, use appropriate
13194          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
13195
13196 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
13197
13198         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
13199         from drag coordinates.
13200         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
13201         use drag_dest_cell.
13202
13203         * gtk/gtktree (drag_dest_cell)
13204         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
13205         (Bug #1129)
13206
13207 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
13208
13209         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
13210         translate_* fields.
13211         (gtk_item_factory_finalize): invoke translate_notify independant from
13212         translate_data.
13213         (gtk_item_factory_set_translate_func): likewise.
13214         (gtk_item_factory_destroy): only remove ifactory pointer from those
13215         widgets that belong to us (stupid me).
13216
13217 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
13218
13219         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
13220         rc_style list when lookup succeeeds.
13221
13222 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
13223
13224         * gtk/gtkctree.c (resync_selection): 
13225         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
13226         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
13227         bug.
13228
13229 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
13230
13231         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
13232         Add some missing GDK_THREADS_ENTER()/LEAVE around
13233         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
13234
13235 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
13236
13237         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
13238         rather than emit_by_name.
13239
13240         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
13241         on the widget across multiple signal emissions.
13242         (gtk_editable_delete_text): same here.
13243         (gtk_editable_class_init): set widget_class->activate_signal after
13244         editable_signals[ACTIVATE] has been created.
13245
13246 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
13247
13248         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
13249         position here prematurely -- we might not have the
13250         right ->min_position and ->max_position yet.
13251
13252 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
13253
13254         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
13255         Add error traps so if the other end of the connection
13256         dies, we survive.
13257
13258         * gtk/gtkselection.c (gtk_selection_notify): Clean
13259         up properly when selection property retrieval fails.
13260         
13261         * gtk/gtkselection.c (gtk_selection_request): Correctly
13262         reject SelectionRequest notifies where the handler
13263         returns no data.
13264
13265 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13266
13267         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
13268         when we've previously highlighted.
13269
13270         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
13271         emit two "drag_leave" signals for Motif drops.
13272
13273         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
13274         back the correct status messages when dropping from
13275         Motif onto a proxy window that is rejecting the
13276         drop.
13277
13278 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
13279
13280         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
13281         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
13282         to compare two argument values. added gtk_arg_to_valueloc() to set a
13283         variable from an arg through its location (pointer).
13284
13285         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
13286         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
13287         as gfloat*, uchars are collected as guchar*, ints are collected as
13288         gint*, etc...
13289
13290 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
13291
13292         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
13293         Include <string.h> instead of <strings.h>.
13294
13295         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
13296         (actually, a lot more duplicate includes occur if
13297          you trace through the sequence of #include's)
13298         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
13299         
13300 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
13301
13302         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
13303         gtk-a-higuti-990322-[0-3]
13304
13305         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
13306         that was causing -DX_LOCALE not to work.
13307
13308         * gtk/gtkrc.c (gtk_rc_init):
13309         X_LOCALE will never have LC_MESSAGES defined
13310
13311 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
13312
13313         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
13314         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
13315
13316         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
13317         left/right as well (gtk-michael-980726-0.patch.gz).
13318
13319         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
13320         for pointer values, use gchar instead of char. fixed uline allocation
13321         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
13322         chunks instead of G_ALLOC_ONLY.
13323         (gtk_label_size_request): always alter requisition as passed and leave
13324         widget->requisition alone.
13325         (gtk_label_set_text): allow NULL strings.
13326         (gtk_label_new): likewise.
13327
13328 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
13329
13330         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
13331
13332 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
13333
13334         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
13335         *and* mapped (i.e. drawable).
13336         (gtk_bin_expose): only send exposes to drawable children.
13337
13338         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
13339         (gtk_box_expose): only send exposes to drawable children.
13340
13341         * gtk/gtkhscale.c (gtk_hscale_draw): 
13342         * gtk/gtkvscale.c (gtk_vscale_draw):
13343         hm, this is an ugly one. we first compute the size of our trough area
13344         here (window relative) and then check intersection with the draw_area
13345         which is parent relative because we're a NO_WINDOW widget, so we need
13346         to offset the trough area by allocation.x and allocation.y before the
13347         check. (this must not be done for the background area though, since
13348         that's already computed parent relative).
13349
13350 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
13351
13352         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
13353         unrealize title buttons.
13354
13355 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
13356
13357         * gtk/gtkclist.c (gtk_clist_column_title_passive)
13358         (gtk_clist_column_title_active): 
13359         only connect/disconnect to GtkWidgetClass::event to block mouse events.
13360
13361         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
13362         zero initialize event, removed superfluous gdk_window_get_pointer call
13363
13364         * gtk/gtklist.c (gtk_list_vertical_timeout)
13365         (gtk_list_horizontal_timeout): removed superfluous
13366         gdk_window_get_pointer call
13367
13368 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
13369
13370         * plugging problems reported by "Bruce Mitchener, Jr."
13371         <bruce@puremagic.com> due to a purify session.
13372
13373         * gtk/gtkstyle.c:
13374         (gtk_style_ref): 
13375         (gtk_style_unref): assert ref_count to be > 0.
13376
13377         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
13378         the requisition.
13379         (gtk_clist_set_shift): likewise.
13380
13381         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
13382         adjustments.
13383
13384         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
13385         event before sending it and set send_event to TRUE (which needs to
13386         be done for *all* synthesized events).
13387         (gtk_list_vertical_timeout): likewise.
13388
13389         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
13390         leaks.
13391
13392         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
13393         to TRUE when synthesizing events.
13394
13395 [ *** end of merges from 1.2 *** ]      
13396         
13397 1999-11-21  Tor Lillqvist  <tml@iki.fi>
13398
13399         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
13400         (or copied from gdkconfig.h.win32 on Win32, sigh).
13401
13402         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
13403
13404         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
13405
13406         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
13407
13408         * gdk/gdkconfig.h.win32: New file.
13409
13410         * gdk/win32/makefile.cygwin: Build just a static archive here.
13411
13412         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
13413         for the DLL from the static archive built above.
13414
13415         * gdk/gdk.def: Moved here from the win32 subdirectory.
13416
13417         * gdk/win32/*: Adapt for the changed private struct organisation.
13418
13419         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
13420
13421 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
13422
13423         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
13424         for wheel mice (buttons 4 and 5).
13425
13426 1999-11-18  Tor Lillqvist  <tml@iki.fi>
13427
13428         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
13429         drawables use just the pixel field in the foreground and
13430         background GdkColor of the GdkGC.
13431
13432         gdk_gc_set_{fore,back}ground() are called in the GIMP with
13433         GdkColors containing uninitialized (red,green,blue) fields, and
13434         just the pixel field filled in, and furthermore in the
13435         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
13436         It thus turns out that we really don't need to have the full
13437         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
13438         it later to have just the pixel values.
13439
13440 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
13441
13442         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
13443
13444 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
13445
13446         * docs/gtkfaq.sgml: threads example from Erik Mouw.
13447         New question on GtkLabel background colors.
13448
13449         * docs/gtk_tut.sgml:
13450           - Correct the example code callback
13451             function definitions.
13452           - Update the gtkdial example code, from Frans van Schaik.
13453           - Update setselection.c to current API.
13454
13455         * examples/Makefile examples/*/*.c: Update to code
13456         listed in tutorial.
13457
13458 1999-11-10  Tor Lillqvist  <tml@iki.fi>
13459
13460         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
13461         subrange table (from the "Developing International Software for
13462         WIndows 95 and Windows NT" book) was missing the Hangul syllable
13463         block... Get the loaded font's charset correctly.
13464
13465         (Note that this, and the other *-win32.c files, still really are
13466         the old ones, the win32 subdirectory is not ready for compilation
13467         yet after the reorg.)
13468
13469 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
13470
13471         * gtk/gtkclist.c: Fix off-by-one bug in parameter
13472         check.
13473
13474 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
13475
13476         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
13477         on results of XQueryDeviceState().
13478
13479 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
13480
13481         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
13482         we need to accesss only ->children. We need an accessor
13483         for the children.
13484
13485         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
13486         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
13487         to get rid of gdkx.h include.
13488         
13489         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
13490         and random references to 'None'.
13491
13492         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
13493         Get rid of unused #include <gdk/gdkx.h>
13494
13495         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
13496         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
13497         gdkconfig.h.
13498
13499 1999-11-08  Tor Lillqvist  <tml@iki.fi>
13500
13501         * gdk/win32/gdkdraw.c
13502         * gdk/win32/gdkfont.c
13503         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
13504         following yesterday's changes. (Unrelated to Owen's reorg.)
13505
13506 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
13507
13508         * gdk/x11/gdkinput-gxi.c: Add missing include,
13509           fix GdkWindowPrivate => GdkDrawablePrivate.
13510
13511         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
13512
13513         * gdk/x11/Makefile.am (xinput_sources): Add missing
13514         backslash to fix building with --with-xinput=none
13515
13516 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
13517
13518         Move all X specific code into the x11/ directory.
13519         Aside from shuffling things around, did the following:
13520
13521        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
13522          gdk_arg_context_* - a simple argument parsing system
13523          in the style of popt.
13524
13525        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
13526          gdk/x11/gdkprivate-x11.h:
13527          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
13528          add ->klass and ->klass_data fields. The klass_data
13529          field points to an auxilliary structure that is
13530          windowing system dependent.
13531
13532        * gdk/gdkfont.c: Make most of the measurement functions
13533          simply wrappers around gdk_text_extents().
13534
13535        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
13536          _gdk_font_strlen() function that hides the weird
13537          behavior in gtk+-1.[02] where a string is interpreted
13538          differently for 8-bit and 16-bit fonts.
13539
13540        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
13541          to store common code for synthesizing double/triple
13542          press events.
13543         
13544        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
13545          Make all the function that modify an existing GC
13546          simply wrappers around gdk_gc_set_values().
13547          
13548        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
13549          for throwing out later.
13550
13551        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
13552          GdkImagePrivate and GdkColormapPrivate to have a
13553          windowing system dependent part (GdkFontPrivateX etc.)
13554          that "derives" from the system-independent part.
13555
13556        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
13557          Got rid of the included-source-files for XInput in
13558          favor of automake conditionals. (Which didn't exist
13559          when XInput support was originally added.)
13560
13561        * gdk/gdkrgb.c: Remove the visual id from the debugging
13562          statements since that is X11 specific; print out
13563          type/depth info instead.
13564          
13565
13566 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
13567
13568         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
13569         loading duplicates of hashed fonts.
13570
13571         * gdk/gdk.c (gdk_keysym_convert_case): rename
13572         gdk_XConvertCase to gdk_keysym_convert_case, allow
13573         results to be NULL in the GTK+ style.
13574
13575         * gdk/gdkcompat.h: Started compatibility header
13576         for renames.
13577
13578 1999-11-07  Tor Lillqvist  <tml@iki.fi>
13579
13580         * gdk/win32/gdkprivate.h: New font private structures, related to
13581         fontsets.
13582
13583         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
13584         gdk_font_list_free(). On X11, will just be wrappers to
13585         XListFonts() and XFreeFontNames(). On Win32, the code previously
13586         in gtkfontsel.c is now here.
13587
13588         New function gdk_font_xlfd_create(). On X11 will get the FONT
13589         property of the font (for GDK_FONT_FONTs), or call
13590         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
13591         builds a XLFD style name from the font information in the LOGFONT
13592         struct(s).
13593
13594         New function gdk_font_xlfd_free(), which correspondingly frees the
13595         string returned by gdk_font_xlfd_create().
13596
13597         Implement fontsets on Win32. Add a function that iterates over a
13598         wide char string and calls a callback function for each substring
13599         of wide chars from the same Unicode subrange (and thus probably
13600         available in the same real font).
13601
13602         Improve the XLFD emulation a bit.
13603
13604         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
13605
13606         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
13607         Beta3, WM_IME_CHAR messages don't seem to contain the composed
13608         multi-byte char as with the Active IMM on Win9x. Oh well, handle
13609         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
13610         ImmGetCompositionStringW() to get the composed Unicode chars.
13611
13612         * gdk/win32/gdkgc.c
13613         * gdk/win32/gdkdraw.c: Changes needed because of the font private
13614         struct changes.
13615
13616         * gdk/win32/gdk.def: Add the new functions.
13617
13618 1999-11-04  Tor Lillqvist  <tml@iki.fi>
13619
13620         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
13621         get the Platform SDK to get <dimm.h>.
13622
13623         * gdk/win32/gdkevents.c: More event handling fixes and
13624         simplification. Never generate motion events with is_hint true. We
13625         used to do that on bogus grounds earlier. Windows sends
13626         WM_MOUSEMOVE messages on button events even if the mouse hasn't
13627         moved, ignore these.
13628
13629         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
13630
13631         * gdk/win32/gdkglobals.c
13632         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
13633         the TrackMouseEvent function, and use it.
13634
13635         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
13636         char before calling WideCharToMultiByte in order to get a string
13637         for the window title.
13638
13639         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
13640
13641         * gdk/win32/gdk.def: Remove obsolete functions.
13642
13643         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
13644         /nodefaultlib and /defaultlib switches.
13645
13646         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
13647
13648 1999-10-31  Tor Lillqvist  <tml@iki.fi>
13649
13650         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
13651         EuroSign).
13652
13653         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
13654         same type as GdkWChar, especially on Win32.
13655
13656         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
13657
13658         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
13659         before passing to Windows GDI for drawing etc. Convert to the
13660         system default codepage before passing to Windows as window
13661         titles.
13662
13663         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
13664         support changing input locale on the fly.
13665
13666         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
13667         on-the-fly changes. Convert incoming characters from the current
13668         codepage to Unicode (and then to a UTF-8 multi-byte string) based
13669         on the current input language. Use keysym<->Unicode mapping tables
13670         and functions borrowed from xterm sources.
13671
13672         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
13673         editions of Win9x, use the ActiveX-based Active IMM (Input Method
13674         Manager) if available. IMEs and the Active IMM are available under
13675         the disguise of Chinese, Korean and Japanese support for IE and
13676         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
13677         support is present in all editions (as long as you install it).
13678
13679         Call DispatchMessage from gdk_events_queue() (and thus
13680         gdk_WindowProc()), instead of duplicating the code in
13681         gdk_WindowProc().
13682
13683         Reworked the grab handling and propagation code, factored out
13684         duplicated code snippets into separate functions. Other cleanups,
13685         too.
13686
13687         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
13688         the <dimm.h> header describing the Active IMM.
13689
13690         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
13691         just do the same as for "single" fonts.
13692
13693         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
13694         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
13695         the new keysyms from gdkkeysyms.h.
13696
13697         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
13698         fontset, so that gtkentry uses wide characters.
13699
13700         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
13701         GTk+'s system directory "gtk+", not "gtk".
13702
13703 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
13704
13705         * docs/gtkfaq.sgml: FAQ update
13706
13707 1999-10-21  Tor Lillqvist  <tml@iki.fi>
13708
13709         * gdk/win32/gdkprivate.h: Add more font private data.
13710
13711         * gdk/win32/gdkfont.c
13712         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
13713         fonts and strings. Now works much better. You still have to
13714         have a correct font selected, though. No fontset emulation yet.
13715
13716 1999-10-19  Tor Lillqvist  <tml@iki.fi>
13717
13718         * gtk/maketypes.awk: Use G_OS_WIN32.
13719
13720         * gtk/gtk.def: Add some missing entry points. Also some non-public
13721         ones, but PyGTK porter claims to need them.
13722
13723         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
13724         built-in type generation.
13725
13726 1999-10-14  Tor Lillqvist  <tml@iki.fi>
13727
13728         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
13729         GDK_FONT_FONT fonts (which is all we have for now, we don't
13730         emulate fontsets). The X11 version uses plain XDrawString in that
13731         case, too. The string passed to gdk_draw_text_wc seems to be in
13732         fact (at least, when used by gtkentry and gtktext) either in a
13733         single-byte charset, or a DBCS. Not Unicode.
13734
13735         This fixes the problem in gtkfontsel, where even if you had
13736         selected a font with a non-Latin1 charset (windows-greek, for
13737         instance), the preview still used Latin-1 glyphs.
13738
13739         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
13740         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
13741         (gdk_font_load): Recognize the demibold etc weights, even if we
13742         don't have the corresponding constants in the headers.
13743         (gdk_font_hash_insert): Use same hash mechanism as in the X11
13744         version. Should save font resources a bit, when we don't have
13745         multiple HFONTs for the same font.
13746
13747         * gdk/win32/gdkprivate.h: Add the names field as in the X11
13748         version.
13749
13750 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
13751
13752         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
13753         X values
13754
13755 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
13756
13757         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
13758         layout support (as mentioned on
13759         http://www.jcinteractive.com/gnome-ui/software/widgets/)
13760
13761 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
13762
13763         * gtk/fnmatch.c
13764         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
13765
13766 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
13767
13768         * configure.in (ALL_LINGUAS): Added Galician (gl)
13769
13770 1999-10-05  Tor Lillqvist  <tml@iki.fi>
13771
13772         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
13773
13774         * gdk/win32/gdkcompat.c: New file, actually provide an
13775         implementation for the deprecated functions. (Just temporarily.)
13776
13777         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
13778
13779         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
13780
13781         * gdk/win32/gdk.def gtk/gtk.def: Updates.
13782
13783 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
13784
13785         * configure.in: Added "uk" to ALL_LINGUAS.
13786         
13787 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
13788
13789         * configure.in: correct checking for BeOS check
13790
13791         * gdk/gdktypes.h
13792         * gtk/fnmatch.c
13793         * gtk/gtkfilesel.c
13794         * gtk/gtkitemfactory.c
13795         * gtk/gtkmain.[ch]
13796         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
13797
13798 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
13799
13800         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
13801         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
13802         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
13803         by Bulgarian). 
13804
13805 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
13806
13807         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
13808         Fix a reference to window_private->destroyed.   
13809
13810         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
13811         (ugly) setting of an internal GdkWindow member to use
13812         a _slightly_ cleaner macro.
13813
13814         * gdk/gdkprivate.h: Split GdkWindowPrivate into
13815         GdkDrawablePrivate and GdkWindowPrivate.
13816         Add extra macros for accessing GDK_DRAWABLE_ components.
13817
13818         * *.[ch]: Massive adjustments for the above, use the
13819         new macros in a lot of places.
13820
13821 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
13822
13823         * gdk/gdktypes.h: Make GdkDrawable the base type,
13824         not GdkWindow.
13825
13826 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
13827
13828         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
13829
13830 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
13831
13832         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
13833
13834 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
13835
13836         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
13837         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
13838
13839         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
13840
13841         * docs/gtk-config.1: Now autogenerated.
13842         * docs/Changes-1.4.txt: started
13843         
13844 1999-10-03  Tor Lillqvist  <tml@iki.fi>
13845
13846         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
13847         to #ifdef also here.
13848
13849         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
13850         Owen did to the X11 backend.
13851
13852         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
13853         ScrollWindowEx when blitting inside a window, it can't be correct
13854         in the general case.
13855
13856         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
13857         WM_GETMINMAXINFO is easier.
13858
13859         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
13860         depth equal to the bitspixel value, not the visual's depth.
13861
13862         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
13863         to 24 even if the bitspixel value is 32.
13864
13865         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
13866         need to check for depth==32 when bpp==32, depth will always be 24.
13867
13868 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
13869
13870         * docs/Changes-1.4.txt: Started
13871         
13872         * gtk/Makefile.am (gdk_headers): Include all the new headers.
13873
13874         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
13875         
13876         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
13877         into C file.
13878         
13879         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
13880         header to gdkinputprivate.h.
13881
13882         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
13883         unused since before 1.2.
13884
13885 1999-09-30  Tor Lillqvist  <tml@iki.fi>
13886
13887         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
13888         expand possible hex escapes in the font family (put there by
13889         logfont_to_xlfd if the font name isn't a legal XLFD font family,
13890         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
13891         On Win32, add hex escapes here, too.
13892
13893 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
13894
13895         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
13896         to #ifdef GDK_WINDOWING_X11.
13897
13898 [ Merges from gtk-1-2 ]
13899
13900 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
13901
13902         * configure.in: fixed "GNU Make" check to pass with new make version
13903         3.77.95.
13904
13905 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
13906
13907         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
13908         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
13909         AM_PATH_GTK() macros don't get confused by the -pre1.
13910
13911 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
13912
13913         * configure.in (REBUILD): Change check for perl5
13914           to check explicitely for v >= 5.002. (5.001
13915           does not work with our scripts.)
13916
13917 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
13918
13919         * configure.in: evaluate $PERL for the perl version check. added
13920         --disable-rebuilds to give the user an option to completely disable
13921         any source autogeneration rules.
13922
13923 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
13924
13925         * configure.in: evaluate $ac_make when checking for GNU Make.
13926
13927 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
13928
13929         * docs/Makefile.am: added generation.txt.
13930
13931         * Makefile.am: require automake 1.4, build README from README.in and
13932         INSTALL from INSTALL.in in dist-hook.
13933         
13934         * README.in:
13935         * INSTALL.in: new files to autogenerate README and INSTALL from.
13936
13937         * configure.in: figure whether we have GNU Make
13938
13939         * docs/generation.txt: minor additions/corrections.
13940
13941 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
13942
13943         * docs/gtkfaq.sgml: FAQ Update
13944
13945 July 30, 1999 Elliot Lee <sopwith@redhat.com>
13946         
13947         * configure.in: Fix autoconf warnings about cross compilation by
13948         trying to provide sane defaults for AC_TRY_RUN.
13949
13950 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
13951
13952         * ltconfig
13953         * ltmain.sh: upgrade to libtool 1.3.3
13954
13955 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
13956
13957         * INSTALL: Indicate that the --with-glib= configure
13958         time flag is unsupported.
13959
13960 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
13961
13962         * docs/generation.txt: Added a file that gives
13963         documenation about the autogeneration process for
13964         various autogenerated files.
13965         
13966 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
13967
13968         * configure.in (LIBS): Look for libgmodule in the
13969         right location.
13970
13971 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
13972
13973         * docs/gtk_tut.sgml: Removed references to
13974         code examples in my directory on gtk.org as
13975         they should all be in the tutorial now.
13976
13977         * docs/gtk_tut.sgml: Added sources for dial-test
13978         and scribble-xinput programs that were previously
13979         missing.
13980
13981 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
13982
13983         * TODO: Added entry about menu keyboard navigation, removed
13984         some finished items.
13985
13986 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
13987
13988         * acinclude.m4: Standardize on func_dgettext
13989         not func_gettext, so that the checks for dgettext
13990         actually are paid attention to.
13991
13992 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
13993
13994         * configure.in (LIBS): Add $INTLLIBS into $LIBS
13995         directly, rather than repeating the checks for
13996         gettext.
13997
13998         * INSTALL: Added information about gettext and
13999         NLS support.
14000
14001         * acinclude.m4 (LIBM): Check for dgettext, not
14002         just gettext. This should hopefully fix things wrt
14003         systems with old versions of GNU gettext installed.
14004
14005 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
14006
14007         * configure.in (LIBS): Look for libgmodule in the
14008         right location.
14009
14010 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
14011
14012         * autogen.sh: add --enable-maintainer-mode
14013
14014         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
14015
14016 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
14017
14018         * docs/gtk-config.1.in:
14019           docs/Makefile.am:
14020           configure.in: gtk-config is now generated.
14021
14022         * docs/gtk-config.1: Removed, now generated.
14023
14024 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
14025
14026         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
14027         handle CreateNotify itself, still put out a debuging message for
14028         --gdk-debug=events. made the ReparentNotify debugging message more
14029         verbose.
14030         wrap xcoords translation for ConfigureEvents into an error trap,
14031         a destroy event may already be pending, and in that case, the
14032         actuall coordinate values are not at all critical.
14033
14034 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
14035
14036         * gdk/gdkcc.c: Stop leaking the color_hash all over
14037         the place. Simplify and improve the logic.
14038
14039 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
14040
14041         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
14042         for prototypes and function implementations consistent (reported
14043         by Tomas Ogren).
14044
14045 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
14046
14047         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
14048         send_event set in debugging output.
14049         (gdk_compress_exposures): default initialize the event so we don't
14050         operate on bogus values (namely send_event).
14051
14052 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
14053
14054         * gdk/gdkwindow.c: When we receive an unexpected
14055         destroy notify on one of our windows, don't just
14056         warn about it, also mark our windows as destroyed.
14057
14058 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
14059
14060         * gdk/gdkfont.c (gdk_font_hash_insert): Add
14061           name => font and name => fontset hashes. The 
14062           name => fontset hash is a _big_ win since we
14063           weren't previously caching fontsets at all and loading
14064           fontsets is expensive. The name => font hash
14065           is less of a win, but it does save us from doing
14066           repeated XQueryFont calls on the same font.
14067
14068         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
14069           list so we can remove font/fontset from hash.
14070
14071 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
14072
14073         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
14074           and slightly confusing test. [ XInternAtom (,,TRUE)
14075           will never return None ].
14076
14077 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
14078
14079         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
14080           gdk/gdkwindow.c (gdk_window_set_hints):
14081
14082         Don't omit setting the properties if flags == 0 -
14083         there may be an existing set of properties there
14084         already. (Very old bug. Would it be better to
14085         delete the property instead?)
14086
14087         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
14088           spelling error in comment.
14089
14090 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
14091
14092         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
14093           to avoid stomping over gdk_error_warnings.
14094
14095         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
14096           as (bits_per_pixel + 7) / 8. This gives the same
14097           result as before for multiples of 8, but actually
14098           a "reasonable" value for 1bit or 4bit displays.
14099
14100 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
14101
14102         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
14103         GNU Make.
14104
14105 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
14106
14107         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
14108         discarding configure events.
14109
14110 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
14111
14112         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
14113         refcount is greater than zero.
14114
14115         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
14116
14117         * gdk/gdkfont.c (gdk_font_unref): Likewise.
14118
14119         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
14120
14121         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
14122
14123 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
14124
14125         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
14126         that format 32 => sizeof(item) == 4. It really is
14127         sizeof(long).
14128
14129 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
14130
14131         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
14132         core dump at all on X IO errors, only core dump
14133         if --enable-debug for X errors.
14134
14135 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
14136
14137         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
14138         unknown window:" message. disabled ConfigureNotify discarding code,
14139         because it led to events being processed out of order.
14140
14141 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
14142
14143         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
14144
14145         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
14146         we export this function, supress error warnings and don't reset the
14147         error code in the first half of this function.
14148
14149         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
14150         code (instead of just -1) so gdk_error_trap_pop() reveals something
14151         actually informative about the error that happened.
14152
14153         * gdk/*.c:
14154         don't rely on gdk_error_code being -1 if an error occoured, but just
14155         gdk_error_code != 0.
14156
14157 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
14158
14159         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
14160         pointer *before* invoking the filter function, so we at least don't
14161         crash if a filter is removed that is currently executed. window filters
14162         *really* need to be made truely reentrant at some point.
14163
14164 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
14165
14166         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
14167         PropertyNotify debug messages.
14168
14169 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
14170         
14171         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
14172         
14173         * gdk/gdkim.c: Fix cut-and-paste errors for 
14174         x/y and PreeditAttributes/StatusAttributes.
14175
14176 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
14177
14178         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
14179         G_MAXINT to 2^16 to alleviate overflow problems in
14180         various window managers.
14181
14182 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
14183
14184         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
14185         for fontsets.
14186
14187 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
14188
14189         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
14190         Initialize size_hints.x and size_hints.y because kwm
14191         brokenly pays attention to them.
14192         (Bug #1181 -  Lars Heete <hel@admin.de>)
14193
14194 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
14195
14196         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
14197         return value of gdk_list_visuals(). 
14198         (Bug #1193 - Morten Welinder <terra@diku.dk>)
14199
14200 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
14201
14202         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
14203         XSetIMValues to (void *) when comparing to NULL, to workaround
14204         the problem of some compilers barfing since older X headers don't
14205         have the prototype for it.
14206
14207 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
14208
14209         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
14210         for pseudocolor where colormap->colors was double
14211         allocated.
14212
14213         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
14214         color value in the hash table with the pixel filled
14215         in so when we do later hash table lookups, the color
14216         value is correct.
14217         
14218 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
14219
14220         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
14221         making the call
14222
14223 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
14224
14225         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
14226         pointed out by Morten Welinder <terra@diku.dk>.
14227
14228 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
14229
14230         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
14231           default filter from the list
14232
14233 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
14234
14235         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
14236           default filter from the list
14237
14238 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
14239
14240         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
14241
14242         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
14243         g_strdup_printf instead of calcing the length separately
14244
14245 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
14246
14247         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
14248         that we don't do in many other places. (Fixing duplicate 
14249         #include of config.h)
14250
14251         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
14252         Otherwise, #ifndef XINPUT_NONE check in the latter
14253         doesn't work. (Bug #546)
14254
14255 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
14256
14257         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
14258         "None" case insensitive.
14259
14260 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
14261
14262         * gdk/gdkselection.c: 
14263         Add error traps so if the other end of the connection
14264         dies, we survive.
14265
14266 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
14267
14268         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
14269         dest_xid field into two fields - one for the window
14270         to send in messages, one to indicate the last looked
14271         up window for caching purposes. This is needed, so
14272         that Leave messages get the correct window.
14273
14274 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
14275
14276         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
14277         Fix warning created by people mucking around
14278         with the gsource API.
14279
14280         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
14281         Change mapping between GIOCondition and GdkInputCondition
14282         to match the way the Linux kernel does it. This should
14283         fix problems where closed pipes were no longer signalling
14284         GDK_INPUT_READ on systems with a native poll().
14285
14286 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
14287
14288         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
14289         explicitly for the string "None" - it is in the XPM
14290         spec and some servers treat unknown colors in odd ways
14291         (like asking the user!)
14292
14293 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
14294
14295         * gdk/gdkevents.c: made "->" into a "." of previous change so
14296         it compiles
14297
14298 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
14299
14300         * gdk/gdkevents.c (gdk_compress_exposures): Set the
14301         window field of the event structure before calling
14302         user filters.
14303
14304 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
14305
14306         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
14307         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
14308
14309 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
14310
14311         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
14312         intermediate text property - prevents major memory
14313         leak when gdk_use_mb.
14314         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
14315
14316 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
14317
14318         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
14319         gtk-a-higuti-990322-[0-3]
14320
14321         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
14322         sizeof(wchar_t) != sizeof (GdkWChar)
14323
14324         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
14325         that was causing -DX_LOCALE not to work.
14326
14327         * gtk/gtkrc.c (gtk_rc_init):
14328         X_LOCALE will never have LC_MESSAGES defined
14329
14330         * gdk/gdk.c (gdk_init_check):
14331         Remove --xim-preedit and --xim-status from argv properly.
14332
14333         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
14334         that the client window is present on the X server
14335         before we pass it to the input method.
14336
14337 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
14338
14339         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
14340         if --display is specified on the command line, than
14341         the drag window will not be created on that display.
14342         
14343 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
14344
14345         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
14346         lookups with only_if_exists == TRUE were inserting
14347         bogus values into the atom cache.
14348
14349 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
14350
14351         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
14352         then reset it to NULL.
14353
14354         * gdk/gdkcolor.c:
14355         (gdk_colors_free): 
14356         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
14357         key for g_hash_table_remove() in both functions, this prevents us
14358         from accessing possibly uninitialized portions of a GdkColor structure
14359         where we are only interested in its pixel value.
14360
14361 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14362
14363         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14364         font hash table, if we have a GdkFontPrivate entry for this font
14365         already, simply increment its reference count, provided by Olaf Dietsche
14366         <olaf.dietsche+list.gtk@netcologne.de>.
14367
14368 1999-09-21  Tor Lillqvist  <tml@iki.fi>
14369
14370         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
14371         just to be sure.
14372
14373         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
14374         unused variables, leftovers from the X11 version.
14375
14376         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
14377
14378         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
14379         downcase fields on X11.
14380
14381 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
14382         
14383         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
14384         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
14385
14386 1999-09-17  Tor Lillqvist  <tml@iki.fi>
14387
14388         * gdk/win32/gdk.def: Add gdk_threads_mutex.
14389
14390         * gtk/makefile.msc: Correct path to libintl.
14391
14392         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
14393         use of gint vs. int, and gint vs. gboolean in headers and
14394         definitions. Use GtkType for the *_get_type functions. Note that
14395         these changes preserve binary compatibility.
14396
14397         * gdk/gdk.c
14398         * gdk/win32/gdk.c
14399         * gdk/gdk.h: Fix inconsistencies: gint vs int.
14400
14401         * gtk/gtkmain.c
14402         * gtk/gtkclist.c
14403         * gtk/gtkmenufactory.c
14404         * gtk/gtknotebook.c
14405         * gtk/gtkwidget.c: Fix inconsistencies, also gint
14406         vs. gboolean.
14407
14408         * gtk/gtkcolorsel.[ch]
14409         * gtk/gtkcombo.[ch]
14410         * gtk/gtkdrawingarea.[ch]
14411         * gtk/gtkgamma.[ch]
14412         * gtk/gtkhandlebox.[ch]
14413         * gtk/gtkhpaned.[ch]
14414         * gtk/gtkhruler.[ch]
14415         * gtk/gtkplug.[ch]
14416         * gtk/gtkpreview.[ch]
14417         * gtk/gtkruler.[ch]
14418         * gtk/gtksocket.[ch]
14419         * gtk/gtkstatusbar.[ch]
14420         * gtk/gtktoolbar.[ch]
14421         * gtk/gtkvbbox.[ch]
14422         * gtk/gtkvpaned.[ch]
14423         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
14424         functions.
14425
14426         * gtk/gtkgamma.h: Fix bug, missing () in call of
14427         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
14428
14429 1999-09-14  Tor Lillqvist  <tml@iki.fi>
14430
14431         * gdk/gdkcolor.c (gdk_colormap_new)
14432         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
14433         colormap->colors was allocated twice.
14434
14435         * gdk/win32/gdk.c: Remove some unused stuff.
14436
14437         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
14438         colormap.
14439
14440         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
14441         * gtk/gtklabel.h (gtk_label_get_type)
14442         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
14443         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
14444         in a couple of places, not guint.
14445
14446 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
14447
14448         * configure.in,po/et.po: added Estonian language file
14449
14450 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
14451
14452         * configure.in,po/da.po: added Danish file
14453
14454 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
14455
14456         * docs/gtkfaq.sgml: Minor FAQ Update
14457
14458 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
14459
14460         * docs/gtkfaq.sgml: FAQ update
14461
14462 1999-08-27  Tor Lillqvist  <tml@iki.fi>
14463
14464         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
14465         way to get window contents continually refreshed while resizing. I
14466         didn't like the effects myself, so it's not on by default.
14467
14468         * gdk/win32/gdkprivate.h: New flag variable
14469         gdk_event_func_from_window_proc, FALSE by default.
14470
14471         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
14472         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
14473         are passed --gdk-event-func-from-window-proc.
14474
14475         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
14476         and we have am event_func, call it instead of enqueing the event.
14477
14478 1999-08-23  Tor Lillqvist  <tml@iki.fi>
14479
14480         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
14481         Kelley: Set expose_count in GdkEventExposes correctly.
14482
14483         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
14484         MULTIPLE_WINDOW_CLASSES).
14485
14486         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
14487         for bug in NT, apparently NT *does* draw the end pixel, too, in
14488         LineTo with a one-pixel pen, so we don't have to do it ourselves.
14489
14490 1999-08-21  Tor Lillqvist  <tml@iki.fi>
14491
14492         Improvements by Hans Breuer: 
14493
14494         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
14495
14496         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
14497         CS_?REDRAW flags as they cause lots of (late) redraws when "show
14498         window contents while dragging" is turned on. Allocate at least
14499         one unique class for every GdkWindowType. If support for single
14500         window-specific icons is ever needed (eg. Dialog specific), every
14501         such window should get its own class.
14502
14503 1999-08-19  Tor Lillqvist  <tml@iki.fi>
14504
14505         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
14506         error that caused crashes.
14507
14508 1999-08-17  Tor Lillqvist  <tml@iki.fi>
14509
14510         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
14511         window, use ScrollWindowEx, and call UpdateWindow. This prevents
14512         bugs when for instance part of the window was outside the
14513         display. Thanks to Philippe Colantoni for finding and fixing this.
14514
14515 1999-08-16  Tor Lillqvist  <tml@iki.fi>
14516
14517         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
14518         endpoint calculations which were totally wrong. (A little RTFMing
14519         helps a lot ;-)
14520
14521         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
14522         from a separate directory, not from gettext, because of licensing
14523         issues (we want to use the LGPL version).
14524
14525         * README.win32: Mention the intl from glibc vs from gettext issue.
14526
14527 1999-08-13  Tor Lillqvist  <tml@iki.fi>
14528
14529         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
14530         in the key event handling: Now AltGr chars work again. Also,
14531         now Alt-digits are passed up as well as Control-digits.
14532         Pass keypad plus and minus as normal plus and minus.
14533
14534 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
14535
14536         * docs/gtkfaq.sgml: FAQ Update
14537
14538 1999-07-25  Tor Lillqvist  <tml@iki.fi>
14539
14540         * README.win32
14541         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
14542         the Wintab SDK.
14543
14544         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
14545         OK, but getting closer. Guard against bogus tilt data from Wacom
14546         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
14547         enable easier building without Wintab.
14548
14549         * gdk/win32/gdkinput.h
14550         * gdk/win32/gdkevents.c 
14551         * gdk/win32/gdkwindow.c: Minor changes related related to above.
14552         
14553         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
14554         code. As we have just one visual on Win32, no sense to have it in a
14555         table, and no need for the hash table.
14556
14557         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
14558         better on white background.
14559
14560 1999-07-21  Tor Lillqvist  <tml@iki.fi>
14561
14562         * README.win32: Update gcc build instructions. Mention gettext is
14563         GPL.
14564
14565         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
14566         supported cursor size with GetSystemMetrics.
14567
14568         * gdk/win32/gdkfont.c
14569         * gtk/gtkfontsel.c: Guard against some font weight and charset
14570         symbols being undefined (in mingw32 headers).
14571
14572         * gdk/win32/makefile.cygwin
14573         * gtk/makefile.cygwin
14574         * gtk/gtkthemes.c: No longer need to have differently named
14575         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
14576
14577 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
14578
14579         * docs/gtkfaq.sgml: Long awaited FAQ update.
14580
14581 1999-07-15  Tor Lillqvist  <tml@iki.fi>
14582
14583         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
14584         it. Obscure bit manipulation needed.
14585
14586         * gdk/win32/gdkevents.c: Logging.
14587         
14588         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
14589         style (file name include compiler name) for theme engines.
14590
14591 1999-07-13  Tor Lillqvist  <tml@iki.fi>
14592
14593         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
14594
14595         * gdk/win32/gdkevents.c: Fix long-standing bug in key
14596         events. The key.string wasn't zero-terminated, still we strdup'ed
14597         it in gdk_event_copy(). Synthesize crossing events for button
14598         events before possible propagation.
14599
14600         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
14601
14602         * gdk/win32/makefile.cygwin
14603         * gtk/makefile.cygwin: Use new DLL naming style for the
14604         GCC-compiled ones.
14605
14606         * gdk/win32/makefile.msc
14607         * gtk/makefile.msc: Cosmetics mostly.
14608
14609         * gtk/gtk.def: Add missing entry points.
14610
14611         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
14612
14613 1999-07-09  Tor Lillqvist  <tml@iki.fi>
14614
14615         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
14616         or height is zero. Don't print a warning if Pie or Arc fails, they
14617         always fail (?) for very narrow ellipses.
14618
14619         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
14620         the part or the destination window corresponding to source area
14621         outside of the source drawable's boundary.
14622
14623         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
14624         anything if less than two points.
14625
14626         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
14627         return NULL. Gtk cut-and-paste inside a single program works
14628         better this way. (It always gets the clipboard contents from
14629         Windows, not from its own copy, which is cleared anyway. I can't
14630         say I fully understand what happens... Emulating the X selection
14631         and property stuff is a bit of a mess.)
14632
14633         * gdk/win32/gdkevents.c
14634         * gdk/win32/gdkproperty.c: A bit more verbose logging.
14635
14636         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
14637         that never got deleted). Revamp gdk_region_shrink.
14638
14639         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
14640         after use.
14641
14642         * gtk/gtk.def: Add some missing entry points.
14643
14644         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
14645         component.
14646
14647 1999-07-04  Tor Lillqvist  <tml@iki.fi>
14648
14649         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
14650         Control-digits specially.
14651
14652 1999-07-03  Tor Lillqvist  <tml@iki.fi>
14653
14654         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
14655
14656 1999-06-28  Tor Lillqvist  <tml@iki.fi>
14657
14658         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
14659         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
14660         finding this.)
14661
14662 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
14663
14664         * gtk+.spec.in: Corrected some typos in files section.
14665         
14666 1999-06-15  Tor Lillqvist  <tml@iki.fi>
14667
14668         * README.win32: Mention using GNU gettext.
14669         * config.h.win32: Enable NLS stuff.
14670         * gtk/makefile.msc: Use GNU gettext.
14671         * gdk/win32/gdkdnd.c: Minor header reorg.
14672         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
14673         cosmetics.
14674         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
14675         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
14676
14677 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
14678
14679         * acinclude.m4
14680         * config.guess
14681         * config.status
14682         * ltconfig
14683         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
14684
14685 1999-05-30  Tor Lillqvist  <tml@iki.fi>
14686
14687         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
14688         SafeAdjustWindowRectEx. Don't override all calls to
14689         AdjustWindowRectEx by it, but use it only in two places: When
14690         creating a new top-level window and when moving a top-level
14691         window.
14692
14693         Use screen coordinate rectangle, not client rectangle, in
14694         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
14695         when we try to place a window so that the decoration (mainly,
14696         title bar) isn't visible.
14697
14698         These changes fix the bug that showed up for instance as the
14699         GIMP's saved top-level windows moving right and down (by an amount
14700         equal to the window decoration) for each session. This bug showed
14701         up also in testgtk's "Saved Position".
14702
14703         gdk_window_resize also redone a bit.
14704
14705 1999-05-25  Tor Lillqvist  <tml@iki.fi>
14706
14707         * gtk/testgtkrc: Add (commented out) Windows-style theme
14708         include line.
14709
14710         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
14711
14712 1999-05-18  Tor Lillqvist  <tml@iki.fi>
14713
14714         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
14715         gdkx.h to a gdk subdirectory, so that applications can include
14716         these with <gdk/*.h> without trouble.
14717
14718         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
14719         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
14720         have their bitmap destroyed.
14721
14722         * gdk/win32/gdk.def: Add gdk_root_parent.
14723
14724 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
14725
14726         * configure.in
14727           gtk-config.in
14728           ltconfig
14729           ltmain.sh     
14730           gtk/Makefile.am: changes to compile nicely (with xlib) 
14731           on BeOS
14732
14733 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
14734
14735         * acinclude.m4
14736         * config.guess
14737         * config.sub
14738         * ltconfig
14739         * ltmain.sh: upgrade to libtool 1.3
14740
14741 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
14742
14743         * gtk/gtkclist.c:
14744         * gtk/gtkctree.c: merges from gtk-1-2
14745
14746 1999-04-25  Tor Lillqvist  <tml@iki.fi>
14747
14748         Support added for building using a GNU toolchain on Win32,
14749         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
14750
14751         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
14752         * config.h.win32: Changes for gcc.
14753         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
14754         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
14755         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
14756         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
14757         Protect shl stuff unavaiilable with mingw32 headers.
14758         * gdk/win32/gdkevents.c: Fix typo.
14759         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
14760         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
14761         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
14762         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
14763         the mingw32 headers.
14764         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
14765         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
14766         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
14767         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
14768         Test for NATIVE_WIN32, not _MSC_VER.
14769         * gtk/gtkmain.c: No use warning about developer version on Win32,
14770         there aren't any non-developer versions anyhow.
14771         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
14772         * gtk/makefile.msc: Use pthread from another directory. Minor other
14773         changes. 
14774
14775 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
14776
14777         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
14778           default filter from the list
14779
14780 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
14781
14782         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
14783          when gtk_widget_grab_default() is called for a widget that
14784          is not within a GtkWindow.
14785
14786 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
14787
14788         * docs/gtk_tut.sgml, examples/clist.c: use a
14789           scrolled window in the clist example. Minor
14790           tutorial fixes.
14791
14792 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
14793
14794         * docs/gtk_tut.sgml: Style check from David King
14795           <dking@youvegotmail.net>
14796
14797 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
14798
14799         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
14800         compile with unknown value of GDK_WINDOWING
14801
14802 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
14803
14804         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
14805         after the rule is fired.
14806         (install-exec-local): Install gdkconfig.h only if the contents are
14807         different from the currently installed gdkconfig.h.
14808
14809 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
14810
14811         * gdk/Makefile.am (configexecincludedir): Rename from 
14812         configincludedir so that gdkconfig.h will be installed 
14813         as part of `make install-exec'. 
14814
14815 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
14816
14817         * acinclude.m4
14818         * config.guess
14819         * config.sub
14820         * ltconfig
14821         * ltmain.sh: upgrade to libtool 1.2f
14822
14823         * autogen.sh: libtool is not required to autogen gtk+
14824
14825         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
14826         needed)
14827
14828 1999-03-18  Tor Lillqvist  <tml@iki.fi>
14829
14830         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
14831         declaring gdk variables exported/imported from the DLL. New image
14832         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
14833         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
14834         GDK_DRAG_PROTO_OLE2.
14835
14836         * gdk/gdk.h: Merge in Win32 version: Two new functions,
14837         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
14838         declared only for the Win32 version, but could be in the X11
14839         version as well. (Needed for a Xlib-less gdk_imlib.)
14840         gdk_color_hash should have only one parameter. Declare
14841         gdk_threads_mutex with GDKVAR.
14842         
14843         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
14844         just one parameter.
14845
14846         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
14847         per pixel, not bits.
14848
14849         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
14850         Fetch bpp (which means bits-per-pixel here) from another place on
14851         Win32. Accept also depth==32 (which we might get on Win32) with
14852         bpp==32.
14853
14854         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
14855         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
14856         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
14857         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
14858         in the backend-dependent directory, not in the common gdk
14859         directory.
14860
14861         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
14862         headers.
14863
14864 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
14865
14866         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
14867         want to use the Gtk+ devel version (which is true, and yes - even i am
14868         currently working with the 1.2.x branch). so everyone reading this, you
14869         probably want to issue
14870         cvs checkout -r glib-1-2 glib
14871         and
14872         cvs checkout -r gtk-1-2 gtk+
14873         as your next two comands.
14874
14875 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
14876
14877         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
14878         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
14879
14880         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
14881         file. strongly deprecated the GTK_HAVE_* macros, we provide
14882         GTK_CHECK_VERSION() for people that need to check for certain
14883         Gtk+ versions.
14884
14885         * gtk/gtkcompat.h: removed this from CVS.
14886         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
14887         idea right from the start, it just didn't seem like that back then.
14888
14889 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
14890
14891         * merges from gtk-1-2:
14892
14893 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
14894
14895         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
14896         item factory class has been created.
14897         (gtk_item_factory_parse_rc): likewise.
14898
14899         * gtk/gtkmenu.c:
14900         keep proper references for old_active_menu_item.
14901         (gtk_menu_reparent): unset the usize of the new parent,
14902         so the menu can sanely be size requested and we don't get nasty screen
14903         artefacts upon next reparentation.
14904         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
14905         enter notify. only synthesize enter notifies if the pointer really is
14906         inside the event window.
14907         (gtk_menu_popdown): use gtk_menu_shell_deselect().
14908         (gtk_menu_popup): move the background setting stuff into
14909         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
14910
14911         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
14912         gtk_menu_shell_select_item() to select the new item.
14913         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
14914         do the right thing for deselection as well.
14915
14916 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
14917
14918         * gtk/gtkwidget.[hc]:
14919         (gtk_widget_accelerators_locked): return whether a widget's accelerators
14920         are locked.
14921
14922         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
14923         existing accelerators if the widget's accelerators are locked.
14924
14925 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
14926
14927         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
14928
14929         * gtk/gtkmenu.c: truely forward key press and key release events to
14930         the menu widget from the toplevel or tearoff window. we can't simply
14931         connect to that, we need to stop further processing of the events as
14932         well.
14933
14934 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
14935
14936         * gtk/gtkmenu.c:
14937         (gtk_menu_key_press): pass event->keyval, event->state to
14938         gtk_accelerator_valid, instead of event->keyval twice.
14939         refuse to install single letter accelerators for menus that use
14940         single letter shortcuts.
14941
14942         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
14943         gtk_menu_ensure_uline_accel_group().
14944
14945         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
14946         which will always return an uline accel group, made
14947         gtk_menu_get_uline_accel_group() return NULL if the group isn't
14948         yet created.
14949
14950 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
14951
14952         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
14953
14954         * gtk/gtkclist.c (gtk_clist_column_title_passive):
14955         Leave button sensitive, trap  button_press, button_release,
14956         motion_notify, enter_notify and leave_notify events instead.
14957         (gtk_clist_column_title_active): disconnect event handler.
14958         (gtk_clist_drag_data_get): fixed memory leak. Reported by
14959         Guillaume Laurent <glaurent@worldnet.fr>
14960
14961 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
14962
14963         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
14964         width/height mixups.
14965
14966         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
14967         if needed.
14968
14969 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
14970
14971         * gtk/testgtk.c (create_item_factory): unref the item factory after
14972         window's destruction.
14973
14974         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
14975         count on the menu shell around the menu item's activation, since the
14976         signal emission may cause menu shell destruction.
14977
14978         * gtk/gtkitemfactory.c:
14979         the previous code leaked one accel group per menu. we use
14980         gtk_menu_get_uline_accel_group() now to fix that, and with that
14981         also create the underline accelerator group of the menus only if
14982         required (i.e. an underline accelerator has been specified).
14983         (gtk_item_factory_construct):
14984         (gtk_item_factory_create_item): removed code that would create an
14985         extra accel group for the menu (and leak references).
14986         (gtk_item_factory_create_item): adapted the underline accelerator
14987         installation code to properly feature gtk_menu_get_uline_accel_group().
14988
14989         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
14990         menu->accel_group, this may return NULL if the accelerator group
14991         hasn't been set yet.
14992         added gtk_menu_get_uline_accel_group() to retrive the underline
14993         accelerator group of the menu, this will be created on demand
14994         and proper care is taken about its reference count.
14995
14996         * gtk/gtkitemfactory.h:
14997         * gtk/gtkitemfactory.c:
14998         dumped the approach of keeping a widgets by action list on the
14999         factory since the factory<->widget destroy negotiation didn't work
15000         and would be hard to get going at all. instead we keep a list of
15001         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
15002         persistant throughout a program's life time).
15003         also, i removed the static const gchar *key_* variables, and made
15004         them inline strings (they weren't actually used anyways).
15005         (gtk_item_factory_add_item): update ifactory->items.
15006         (gtk_item_factory_destroy): destroy ifactory->items (and remove
15007         the item factory pointer from the remaining ifactory widgets).
15008         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
15009         list to find the widget.
15010         (gtk_item_factory_get_item): new function that works around
15011         gtk_item_factory_get_widget() limitations, this function will only
15012         return menu items, even for <Branch> entries.
15013
15014 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
15015
15016         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
15017         font hash table, if we have a GdkFontPrivate entry for this font
15018         already, simply increment its reference count, provided by Olaf Dietsche
15019         <olaf.dietsche+list.gtk@netcologne.de>.
15020
15021         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
15022         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
15023
15024 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
15025
15026         * gtk/gtkcontainer.c:
15027         (gtk_container_add_with_args):
15028         (gtk_container_addv):
15029         (gtk_container_add): before adding a child to a conatiner, make sure
15030         it is (default) constructed, this is neccessary because under certain
15031         circumstances the child will get relized and mapped immediatedly, in
15032         which case it has to be constructed already.
15033
15034 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
15035
15036         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
15037         values > 1 as TRUE also.
15038
15039 1999-03-16  Tor Lillqvist  <tml@iki.fi>
15040
15041         * README.win32: New file.
15042                 
15043         * configure.in: Check for lstat.
15044
15045         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
15046         completeness.
15047
15048         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
15049
15050         * gtk/gtk.def: Removed CRs.
15051
15052         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
15053         ..\gdk\win32).
15054
15055         * gdk/win32/makefile.msc: Correct upwards relative paths.
15056         
15057 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
15058
15059         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
15060           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
15061           it was connecting a void function to expose_event and the int
15062           returning function to the draw signal
15063
15064 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
15065
15066         * configure.in:
15067         Use correct path to libgmodule.la when ref'ing uninstalled copy
15068         of glib.  (Already in stable branch, Bug #417)
15069
15070 1999-03-15  Tor Lillqvist  <tml@iki.fi>
15071
15072         Win32 merge and general portability stuff:
15073                 
15074         * acconfig.h,configure.in: Check for <sys/time.h>.
15075
15076         * gdk/win32: New directory (actually, been there for a while).
15077         
15078         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
15079         NATIVE_WIN32, and use these. Always case fold on Win32. No
15080         backslashed escapes on native Win32.
15081
15082         * gtk/{gtk.def,makefile.msc}: New files.
15083
15084         * gtk/Makefile.am: Add above new files.
15085         
15086         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
15087         instead of <strings.h>.
15088
15089         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
15090         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
15091         <unistd.h> appropriately.
15092
15093         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
15094         Use ABS() (from <glib.h>) instead of abs().
15095         
15096         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
15097         of gtk (and thus glib) headers, so that WIN32 will be
15098         defined. With MS C, include <direct.h> for mkdir prototype.
15099
15100         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
15101         some casts, needed by MS C.
15102
15103         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
15104         implemented).
15105
15106         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
15107         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
15108         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
15109
15110         * gtk/gtkmain.h: Mark variables for export/import on Win32.
15111                 
15112         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
15113         the event is not a hint, or its window is not the slider. Needed
15114         on Win32, at least.
15115
15116         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
15117         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
15118         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
15119         a subdirectory of the Windows directory as gtk system
15120         configuration directory.
15121
15122         * gtk/gtkselection.c: No chunks on Win32.
15123
15124         * gtk/gtksocket.c: Not implemented on Win32.
15125
15126         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
15127
15128         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
15129
15130         * gtk/maketypes.awk: Declare variables with a macro that expands to
15131         necessary export/import magic in the case of Win32.
15132                 
15133         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
15134
15135 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
15136
15137         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
15138         since those were meant only for gdki18n.h.  
15139         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
15140         for widechar tests.
15141         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
15142
15143 1999-03-13  Tor Lillqvist  <tml@iki.fi>
15144
15145         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
15146         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
15147
15148         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
15149         installed) to CFLAGS.
15150
15151         * gdk/Makefile.am: Add rules for gdkconfig.h.
15152
15153         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
15154         APIs.
15155
15156         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
15157         gdkx.h anyway when compiling for X11.
15158         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
15159         general): Merge in Win32 version.
15160         
15161         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
15162         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
15163         expansion (if we don't have HAVE_PWD_H), allow for drive
15164         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
15165         included code from Craig Setera's port to Win32 (the one that uses
15166         X11, and the cygwin dll), even if it probably will be abandoned.
15167
15168         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
15169         the user entered one herself.  This way one can complete *.h and
15170         don't get matches on any .help files, for instance.
15171         
15172 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
15173
15174         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
15175         font hash table, if we have a GdkFontPrivate entry for this font
15176         already, simply increment its reference count, provided by Olaf Dietsche
15177         <olaf.dietsche+list.gtk@netcologne.de>.
15178
15179         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
15180         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
15181
15182 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
15183
15184         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
15185         the number of calls to gdk_draw_point() (and thus to X) by
15186         clipping the points by hand.
15187
15188         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
15189         the clip parameter.
15190         (gtk_handle_box_paint): Only paint the handle if the expose area
15191         intersects it.
15192
15193 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
15194
15195         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
15196
15197 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
15198
15199         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
15200         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
15201
15202 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
15203
15204         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
15205          textmode (O_TEXT) for OS/2 version.
15206
15207 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
15208
15209         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
15210         GtkSpinButton, "input" and "output", to make the output more flexible.
15211         The user has to provide a mapping between adjustment->value and the
15212         output string (and vice versa, if the spin button is editable). 
15213         See testgtk for examples.
15214
15215 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
15216
15217         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
15218         new one.
15219         
15220         * configure.in: set gtk+ version to 1.3.0.