]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-4
Fix up to refer to GTK+, not to GLib; fix some wording problems. (Compared
[~andy/gtk] / ChangeLog.pre-2-4
1 Thu Apr 12 17:41:17 2001  Owen Taylor  <otaylor@redhat.com>
2
3         * gtk-2.0.m4: Fix up to refer to GTK+, not to GLib; fix some
4         wording problems. (Compared to version from Johannes Stezenbach to
5         check correctness.)
6
7 Thu Apr 12 21:04:26 2001  Tim Janik  <timj@gtk.org>
8
9         * gtk/gtktreeview.c (_gtk_tree_view_column_start_drag): get
10         this to compile.
11
12 2001-04-12  Anders Carlsson  <andersca@codefactory.se>
13
14         * gtk/gtkcellrenderertextpixbuf.c (gtk_cell_renderer_text_pixbuf_class_init): It's pixbuf_pos,
15         not pixbufpos.
16
17         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): Fix small typo.
18
19         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property): xpad and ypad
20         are unsigned insts, therefore use g_value_set_uint.
21         (gtk_cell_renderer_set_property): Likewise, use g_value_get_uint.
22
23 Sun Apr  8 05:36:06 2001  Jonathan Blandford  <jrb@webwynk.net>
24
25         * gtk/gtktextview.c (gtk_text_view_class_init): fix a fixme.
26
27         * gtk/gtkcellrendertoggle.c: change GTK_TYPE_POINTER to
28         GTK_TYPE_STRING.
29
30         * gtk/gtktreeview.c: New functions to allow initial column
31         dragging work.
32
33         * gtk/gtktreeviewcolumn.c: Initial column dragging support.
34
35         * tests/testtreefocus.c: give dave some love.
36
37         * tests/testtreesort.c: Modify test to check really long samples.
38
39 2001-04-11  Alexander Larsson  <alexl@redhat.com>
40
41         * gtk-2.0.m4: Pass pkg-config options
42         before the other args so it works even if
43         POSIXLY_CORRECT is set.
44
45 Mon Apr  9 19:02:07 2001  Tim Janik  <timj@gtk.org>
46
47         * configure.in (GTK_MICRO_VERSION): increment version to 1.3.4 (binary
48         0, interface 0).
49
50 2001-04-04  Denis Oliver Kropp  <dok@convergence.de>
51
52         * gtk/gtkcalendar.c (gtk_calendar_button_press):
53         check for action_func != NULL
54
55 2001-04-04  Sven Neumann  <sven@gimp.org>
56
57         * tests/testgtk.c (test_init): corrected path to gtk.immodules
58
59 Wed Apr  4 09:18:18 2001  Tim Janik  <timj@gtk.org>
60
61         * Released Gtk+-1.3.3.
62
63 Wed Apr  4 07:42:23 2001  Tim Janik  <timj@gtk.org>
64
65         * gdk/Makefile.am (EXTRA_DIST): add makeenums.pl to EXTRA_DIST.
66
67 Wed Apr  4 04:13:18 2001  Tim Janik  <timj@gtk.org>
68
69         * gtk/stock-icons/Makefile.am: stay in builddir and read/write
70         files to/from source dir. (if we don't stay in builddir, we
71         can't reach make-inline-pixbuf.
72
73         * gdk/Makefile.am (gdkenumtypes.c): add $(srcdir) to mekeenums.pl
74         deps.
75
76         * configure.in (GTK_MICRO_VERSION): up and away (1.3.3 bin/interface
77         ages 0).
78
79 Tue Apr  3 15:04:45 2001  Jonathan Blandford  <jrb@redhat.com>
80
81         * gtk/gtktreemodelsort.h:  removed set_sort_column, as it was
82         moved to the GtkTreeSortable interface.
83
84         * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
85         Make more efficient (fixes #50262).
86
87 Tue Apr  3 13:55:37 2001  Owen Taylor  <otaylor@redhat.com>
88
89         * NEWS: Updated.
90
91         * configure.in: Remove support for uninstalled glib.
92
93         * gtk/gtkdnd.c (gtk_drag_highlight_expose): Return FALSE as
94         so as not to stop emission.
95
96         * gtk-config-2.0.in: Exit with an error message that gtk-config-2.0
97         is no longer supported.
98
99         * Makefile.am gtk/Makefile.am tests/*: Moved all tests
100         into tests, change build order to build modules before
101         gtk/.
102
103         * modules/input/Makefile.am: Move gtk-query-immodules-2.0 invocation
104         to here.
105
106 Tue Apr  3 13:52:57 2001  Tim Janik  <timj@gtk.org>
107
108         * gtk/gtkitemfactory.[hc]: changed gtk_item_factory_dump_items()
109         and gtk_item_factory_dump_rc() GtkPatternSpec argument to
110         GPatternSpec. this is actually unlikely to cause breakage in
111         third-party apps since except for gle, pretty much ever caller
112         passes NULL here.
113
114         * gtk/gtkbindings.[hc]: removed gtk_pattern_*() API.
115
116         * *.c: use g_pattern_*() API.
117
118         * docs/Changes-2.0.txt: GtkPatternSpec->GPatternSpec updates.
119
120         * gtk/gtkstyle.c (gtk_default_draw_resize_grip): assert unhandled
121         directions aren't passed in.
122
123         * gtk/gtksettings.[hc] (_gtk_settings_parse_convert): export conversion
124         functionality to be usable from gtkstyle.c as well, give precedence
125         for conversion to user-supplied parsers.
126         s/_gtk_rc_property_parser_for_type/_gtk_rc_property_parser_from_type/;
127
128         * gtk/gtkstyle.c (_gtk_style_peek_property_value): use
129         _gtk_settings_parse_convert() for rcporperty value conversion.
130
131 2001-04-03  Alexander Larsson  <alexl@redhat.com>
132
133         * gdk/linux-fb/gdkevents-fb.c:
134         Add empty gdk_setting_get().
135
136 Tue Apr  3 05:09:07 2001  Tim Janik  <timj@gtk.org>
137
138         * gtk/gtkmain.c (_gtk_boolean_handled_accumulator): use more elaborate
139         variable names.
140         
141         * gtk/makeenums.pl: touch this so enum files get remade.
142
143 Mon Apr  2 19:36:57 2001  Jonathan Blandford  <jrb@redhat.com>
144
145         * gtk/gtktreestore.c (gtk_tree_store_init):  Bug fix to make trees
146         work again when not sorted.
147
148         * gtk/gtktreeview.c (gtk_tree_view_class_init): Add "collapse_row"
149         and "expand_row" signal, closing bug 52578.
150
151         * gtk/gtktreeview.c (gtk_tree_view_expand_row): Add signal
152         support.
153
154         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): Add signal
155         support.
156
157 Mon Apr  2 18:18:07 2001  Owen Taylor  <otaylor@redhat.com>
158
159         * gdk/gdkevents.h: Add GdkEventSetting event for notification
160         of changes to system settings, gdk_setting_get() to retrieve
161         a single system setting.
162
163         * gdk/x11/gdkevents-x11.c: Bridge gdk_setting_get() and GdkEventSetting
164         to the draft XSETTINGS mechanism.
165
166         * gdk/x11/xsettings-{common,client}.[ch]: Sample-implementation of
167         XSETTINGS.
168
169         * gtk/gtkmain.c gtk/gtksettings.[ch]: Propagate notification
170         of GDK settings changes to the GtkSettings object.
171
172         * gdk/gdkevents.[ch] gdk/gtk/gtksettings.c: Hook up the
173         double-click-timeout property to GDK.
174
175         * gdk/gdkcolor.[ch] gdk/gdkvisual.h gdk/gdkevent.[ch] gdk/gdkfont.[ch]:
176         Define GDK boxed types here.
177
178         * gdk/Makefile.am gdk/makeenums.pl: Generate source files
179         gdk/gdkenumtypes.[ch] for enum definitions.
180
181         * gtk/gtkcompat.h: Add defines for GTK_TYPE_GDK_*
182         * gtk/gtk-boxed.defs: Comment out GDK types
183         * gtk/gtktypeutils.h: Remove GDK types
184         * gtk/Makefile.am: No longer scan GDK headers for enumerataions
185
186 Mon Apr  2 16:41:08 2001  Owen Taylor  <otaylor@redhat.com>
187
188         * Applied patch from Ron Steinke to add signal accumulators
189         so that signals with the convention 'TRUE return means
190         handled' stop emission on a TRUE return.
191
192         * gtk/gtkmain.[ch]: Add private accumulator 
193         _gtk_boolean_handled_accumulator, used throughout GTK+.
194         
195         * gtk/gtkspinbutton.c: Add accumulator for ::output.
196
197         * gtk/gtktipsquery.c: Add accumulator for ::widget_selected
198         
199         * gtk/gtkwidget.c: Add accumulators for event signals,
200         ::drag_motion, ::drag_drop. Use _gtk_boolean_handled_accumator
201         for ::mnemonic-activate.
202
203         * gtk/gtkwindow.c: Add accumulator for ::frame_event
204
205 Mon Apr  2 16:24:21 2001  Owen Taylor  <otaylor@redhat.com>
206
207         * gtk/gtkwidget.c: Add missing include.
208
209 Mon Apr  2 16:56:15 2001  Jonathan Blandford  <jrb@redhat.com>
210
211         * gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new
212         marshaller.
213
214         * gtk/gtktreemodel.c (gtk_tree_model_range_changed): change
215         "changed" signal to "range_changed".
216
217         * gtk/gtktreeview.c (gtk_tree_view_set_model): fix small bug where
218         removing a tree from one model would remove all trees from that
219         model.
220         * gtk/gtktreeview.c (gtk_tree_view_range_changed): use range
221         changed signal instead.
222
223 Mon Apr  2 16:13:58 2001  Owen Taylor  <otaylor@redhat.com>
224
225         * gtk/gtkinvisible.c (gtk_invisible_style_set): Avoid
226         chaining up to parent impl, since we have a INPUT_ONLY
227         window.
228
229         * gtk/gtkentry.[ch]: Add a cursor_color property to set the
230         foreground color for the cursor.
231
232 Mon Apr  2 15:06:13 2001  Owen Taylor  <otaylor@redhat.com>
233
234         * gtk/gtkstyle.c (_gtk_style_peek_property_value): Reference 
235         param spec when caching property values, since we unref it
236         later when we free the style.
237
238         * gtk/gtkoptionmenu.c (gtk_option_menu_get_props): Dont' free
239         values since they are retrieved with G_VALUE_NO_COPY_CONTENTS.
240
241 Mon Apr  2 10:47:57 2001  Owen Taylor  <otaylor@redhat.com>
242
243         * gtk/gtkwidget.c (gtk_widget_class_init): Fix 
244         G_VALUE_NO_COPY_CONTENTS instead of G_SIGNAL_TYPE_STATIC_SCOPE
245         stupidity.
246
247 Mon Apr  2 00:51:11 2001  Owen Taylor  <otaylor@redhat.com>
248
249         [ First pass at adding style properties. Still needs some definite
250         fine-tuning. ]
251
252         * gtk/gtkbutton.c: Add ::default_spacing style property.
253          
254         * gtk/gtkcheckbutton.[ch] gtkradiobutton.c: Add ::indicator_size,
255         ::indicator_spacing style properties.
256
257         * gtk/gtkoptionmenu.c: Add ::indicator_size, ::indicator_spacing
258         style properties.
259
260         * gtk/gtk{,h,v}paned.[ch]: Make handle_size a style property
261         rather than a normal property.
262
263         * gtk/gtkwidget.c: Add an ::interior_focus style property to
264         draw focus inside buttons, in the Windows/Java Metal/etc. style.
265
266         * gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtktogglenbutton.c:
267         Honor ::interior_focus.
268         
269         * gtk/gtkentry.c: Don't draw focus at all when ::interior_focus is 
270         TRUE.
271
272         * gtk/gtkrange.[ch] gtk/gtk{h,v}scrollbar.c gtk/gtk{h,v}scale.c:
273         Add ::slider_width, ::trough_border, ::stepper_size,
274         ::stepper_spacing style properties.
275
276         * gtk/gtkscale.[ch] Add ::slider-length style property.
277
278 2001-04-02 Alexander Larsson   <alexl@redhat.com>
279
280         * gdk/linux-fb/gdkwindow-fb.c:
281         Add gdk_window_begin_resize_drag and gdk_window_begin_move_drag. Remove some
282         warnings that were spewed on startup.
283
284         * gtk/gtkwindow-decorate.c:
285         gtk_window_reposition -> _gtk_window_reposition
286
287 Sun Apr  1 21:37:22 2001  Owen Taylor  <otaylor@redhat.com>
288
289         * gtk/gtkwidget.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
290         Add boxed type for GtkRequistion. Use it for ::size-request.
291
292         * gtk/gtkstyle.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
293         Add a new GtkBorder structure useful for geometry properties
294         for widgets. Add corresponding GTK_TYPE_BORDER.
295         
296         * gtk/gtkwidget.c (gtk_widget_class_install_style_property):
297         Support automatic parser selection like
298         gtk_settings_install_property_parser().
299
300         * gtk/gtksettings.c (_gtk_rc_property_select_parser): Export
301         functionality for use by gtk_widget_class_install_style_property.
302         Support GTK_TYPE_BORDER, GTK_TYPE_REQUISITION.
303
304 Sun Apr  1 20:48:59 2001  Owen Taylor  <otaylor@redhat.com>
305
306         * gtk/gtkentry.c (gtk_entry_class_init): Make invisible-char
307         g_param_spec_unichar(). 
308
309 Sun Apr  1 23:41:37 2001  Tim Janik  <timj@gtk.org>
310
311         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): raise window for non
312         _NET window managers.
313
314         * gtk/gtkmenufactory.[hc]: cvs removed those files now.
315
316 Sun Apr  1 08:00:13 2001  Tim Janik  <timj@gtk.org>
317
318         * gtk/gtkwidget.[hc]: got rid of gtk_widget_popup(), a function that
319         bad needs to be nuked, not just deprecated.
320
321         * gtk/gtktooltips.c (gtk_tooltips_draw_tips): don't use 
322         gtk_widget_popup().
323
324         * gtk/*.[hc]: s/activate_mnemonic/mnemonic_activate/g;
325         
326         * gtk/gtkmenufactory.[hc]: removed this long-standingly deprecated
327         widget.
328         
329         * docs/Changes-2.0.txt: updates.
330         
331 Sun Apr  1 01:02:54 2001  Jonathan Blandford  <jrb@redhat.com>
332
333         * gtk/gtktreestore.c (gtk_tree_store_sort_iter_changed):
334         for (i = 0; i < 100; i ++)
335           g_print ("I will confirm it compile before committing\n");
336
337 Sun Apr  1 00:52:06 2001  Jonathan Blandford  <jrb@redhat.com>
338
339         * gtk/gtktreestore.c: Initial work on implementing the
340         GtkTreeSortable interface.  Basicaly a big cut'n'paste job.
341
342 Sun Apr  1 03:28:14 2001  Tim Janik  <timj@gtk.org>
343
344         * gtk/gtkwidget.c: fixed a bunch of notifications, added
345         reference counts around emissions where the widget is used afterwards.
346         added freeze/thaws around multiple properties being notified.
347         (_gtk_widget_get_aux_info): cleanups.
348         
349         * gtk/gtksettings.c (gtk_settings_install_property): provide
350         default parsing functions for gdkcolor, enums and flags.
351
352         * gtk/gtkwindow.[hc]: partially reverted patch from havoc,
353         applied by owen.
354         backed out gtk_window_get_location(), gtk_window_set_location(),
355         gtk_window_get_size() and gtk_window_set_size(), these
356         have to be sorted out wrg x/y/width/height/default_with/default_height
357         properties.
358         kept a flag in GtkWindowGeometryInfo to handle user
359         resetting default sizes.
360         cleaned up ZVT comments.
361         bunch of assorted bug fixes, notification fixes.
362         (_gtk_window_reposition): make this a really internal function.
363         
364         * gtk/testgtk.c: fixups.
365         
366 2001-03-31  Hans Breuer  <hans@breuer.org>
367
368         * config.h.win32.in : disable USE_MMX for msvc build cause
369         the assembler doesn't fit and is out of my scope. Disable
370         USE_GMODULE for msvc build as wel. The right way to share
371         binaries on win32 would be to use libtiff.dll etc. To reduce
372         installation hassles IMO it's better to include all fileformats
373         builtin to gdk-pixbuf
374
375         * gdk-pixbuf/makefile.msc : new file
376
377         * gdk/gdk.def : updated
378
379         * gdk/win32/gdkevents-win32.c : don't erase the background if
380         .no_bg is set. It improves the scrolling (e.g. of testgtk main
381         buttons
382         * gdk/win32/gdkgeometry-win32.c : added comment about the above
383
384         * gdk/win32/gdkwindow-win32.c : added three new functions like
385         the X version. Only one is implemented, because the other two
386         "gdk_window_begin_(resize|move)_drag" got no docs and appear to
387         be default behaviour on win32 anyway ...
388
389         * gtk/gtk.def : updated
390
391         * gtk/makefile.msc.in : update for new files, use glib-genmarshal
392         from where it was built and add an additional rule to automagically
393         build gtkmarshal.[hc]
394
395         * gtk/gtkfilesel.c (open_new_dir) : don't increase n_entries
396         before array access for the current entry isn't finished
397
398         * gtk/gtktreeitem.c (gtk_tree_item_subtree_button_click) :
399         use g_return_val_if_fail
400
401         * gtk/testgtk.c (window_controls) : don't use the *wrong* size
402         for the static array, but let the compiler calculate it. It
403         makes me wonder if gcc isn't capable to catch bugs like this ...
404
405 2001-03-31  James Henstridge  <james@daa.com.au>
406
407         * gtk/gtkwidget.c (gtk_widget_size_adjust): fix use of magic
408         constant "-1" in the aux info structure.
409
410 2001-03-30  Alexander Larsson  <alexl@redhat.com>
411
412         * gtk/gtkbutton.c (gtk_button_get_property):
413         * gtk/gtklabel.c:
414         Remove leaks.
415         
416         * gtk/gtkcontainer.c:
417         * gtk/gtkhscale.c:
418         * gtk/gtkhscrollbar.c:
419         * gtk/gtklayout.c:
420         * gtk/gtkmisc.c:
421         * gtk/gtkprogress.c:
422         * gtk/gtkprogressbar.c:
423         * gtk/gtkrange.c:
424         * gtk/gtktable.c:
425         * gtk/gtkviewport.c:
426         * gtk/gtkvscale.c:
427         * gtk/gtkvscrollbar.c:
428         * gtk/gtkwidget.c:
429         Property patches, based on patches from John Margaglione and Lee Mallabone.
430
431 Thu Mar 29 21:20:38 2001  Mike Kestner  <mkestner@ameritech.net>
432
433         * gtk/gtkspinbutton.c : added value_changed signal which proxies for the
434         adjustment. Cleaned redundant preconditions (spin != NULL). Added
435         inline API function docs.
436         (gtk_spin_button_new_with_range): New convenience constructor.
437         (gtk_spin_button_set_increments): New adjustment helper.
438         (gtk_spin_button_set_range): New adjustment helper.
439
440         * gtk/testgtk.c : added test of the new convenince constructor and
441         value_changed signals.
442
443 Thu Mar 29 20:20:38 2001  Jonathan Blandford  <jrb@redhat.com>
444
445         * gtk/gtktreemodel.c (gtk_tree_row_ref_reordered_callback): Now we
446         listen to the reorder signal.
447
448 Wed Mar 28 20:30:26 2001  Owen Taylor  <otaylor@redhat.com>
449
450         * gtk/gtkwidget.[ch] (_gtk_widget_get_aux_info): Add private function
451         to get the aux info structure fo the widget.
452
453         * gtk/gtklabel.c gtk/gtkscrolledwindow.c gtk/gtkwindow.c: Use
454         above function.
455
456         [ Patch from  Havoc Pennington  <hp@redhat.com> ]
457
458         * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): function
459         to get the size of the window manager frame, basically the same
460         code that gdk_window_get_root_origin() had
461         (gdk_window_get_root_origin): use gdk_window_get_frame_extents()
462
463         * gtk/gtkwindow.c (gtk_window_set_default_size): use
464         gdk_window_resize() if the window is realized and resizeable
465
466         * gdk/x11/gdkwindow-x11.c (gdk_window_set_geometry_hints): fix
467         typo so that setting gravity works
468
469         * gtk/gtkwindow.c (gtk_window_move_resize): don't ever use
470         allocation if auto_shrink is on, even if the default size
471         has not changed.
472
473         * gtk/gtkwidget.c (gtk_widget_render_icon): remove bogus
474         g_return_if_fail
475
476 Thu Mar 29 16:29:12 2001  Jonathan Blandford  <jrb@redhat.com>
477
478         * gtk/gtkliststore.c (gtk_list_store_iter_changed): Massive
479         reordering/sorting work.  Now pretty much works.
480
481         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): Lots of work to make
482         reorder mostly work.  Still need to get the parity correct.
483
484         * gtk/gtktreeviewcolumn.c: Listen for "model" property changed
485         signal, so I can listen for the sort_column_changed signal so I
486         can change my "sort_indicator" property.  Cool.
487
488 Wed Mar 28 00:03:10 2001  Owen Taylor  <otaylor@redhat.com>
489
490         [ Patch from Havoc Pennington, hp@redhat.com ]
491
492         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c:
493         Add functions gdk_window_begin_resize_drag/begin_move_drag
494         to start resizing or moving a toplevel window. This
495         is done either using the _NET_WM_MOVERESIZE protocol,
496         or, if that isn't present, by emulation.
497
498         * gtk/gtkwindow.[ch]: Add functions gtk_begin_move/resize_drag
499         to export the above to GTK+-land.
500
501         * gtk/gtkstyle.[ch]: Add ->draw_resize_grip() paint func.
502         
503         * gtk/gtkwindow.c gdk/gdkwindow.[ch] (gdk_window_constrain_size):
504         Move this function into gdkwindow, since we need it
505         when implementing fallback resizing.
506
507         * gdk/x11/gdkwindow-x11.c: gdk_window_set_geometry_hints.
508         Fix typo when setting gravity.
509
510         * gtk/gtkstatusbar.[ch] (gtk_statusbar_set_has_resize_grip):
511         Add an optional (but on by default) resize grip for resizing 
512         the parent window.
513
514 01-03-29  Alexander Larsson  <alexl@redhat.com>
515
516         * gtk/gtktooltips.c (gtk_tooltips_event_handler):
517         Don't return TRUE from the event handler, that blocks all
518         event signals on the tooltip widget. Now you can press buttons
519         in toolbars again.
520
521 Wed Mar 28 19:20:43 2001  Owen Taylor  <otaylor@redhat.com>
522
523         * gtk/testtext.c (create_buffer): Add missing NULL on
524         valist.
525
526         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Fix
527         c-n-p problem with INCONSISTENT property.
528
529         [ Patch from Havoc Pennington  <hp@redhat.com> ]
530
531         * gtk/gtkentry.h (struct _GtkEntryClass): add same populate_popup
532         hook.
533
534         * gtk/gtktextview.h (struct _GtkTextViewClass): add populate_popup
535         signal as a hook for extending the default popup menu
536
537         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
538         use radio menu items for the input method menuitems
539
540         * gtk/gtkimcontextsimple.c (check_hex): do better validation of 
541         inserted unicode from Ctrl-Shift-hex input method
542
543         * gtk/gtktextbtree.c (_gtk_text_btree_insert): remove utf8
544         validatation here, already done at GtkTextBuffer level.
545
546         * gtk/gtkwidget.c (gtk_widget_class_init): add binding set, add
547         popup_menu run action signal and Shift+F10 and Menu keybindings.
548
549         * gtk/gtkentry.c: implement a default handler for popup_menu
550
551         * gtk/gtktextview.c: implement a default handler for popup_menu
552
553         * gtk/gtkmenu.c (gtk_menu_popup): select first item if popup is
554         from a key event
555         
556         * gtk/gtklabel.c: remove "trailer" cruft
557
558 Wed Mar 28 17:27:12 2001  Jonathan Blandford  <jrb@redhat.com>
559
560         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): new function to
561         handle reordering of trees.  Seems to mostly work w/ the exception
562         of the parity flag.
563
564         * gtk/gtktreeview.c (gtk_tree_view_reordered): handle "reordered"
565         signal.
566
567 Wed Mar 28 21:12:37 2001  Tim Janik  <timj@gtk.org>
568
569         * gtk/gtkwidget.h: c++ fixes.
570
571 Sun Mar 25 15:51:28 2001  Owen Taylor  <otaylor@redhat.com>
572
573         * gtk/gtksettings.c (gtk_settings_init): Fix use of uninitialized
574         memory.
575
576 Tue Mar 27 22:36:07 2001  Owen Taylor  <otaylor@redhat.com>
577
578         * gtk/gtkwidget.h gtk/gtkrange.h: Apply patch from 
579         Nils Barth fixing event return values. (#51041)
580
581         * gtk/gtkwidget.c: Fix some return values for default
582         functions.
583
584         * gtk/gtk[vh]scrollbar.c gtk/gtk[vh]range.c: Fix
585         return values for trough_keys functions.
586
587         * gtk/gtkwidget.h (struct _GtkWidgetClass): Fix return
588         value for add_accelerator (shoudl have been a void
589         return.)
590
591         * gtk/gtkcellrenderer.[ch]: gtkcellrenderertoggle.h:
592         Fix return type of EVENT.
593
594         * gtk/gtkmarshal.list gtk/gtktexttag.c: Make EVENT
595         signal return a boolean.
596
597 Tue Mar 27 22:07:44 2001  Jonathan Blandford  <jrb@redhat.com>
598
599         * gtk/gtkliststore.c (gtk_list_store_sort): Fix arguments to
600         reordered signal.
601
602         * tests/testtreesort.c (main): fix spelling.
603
604 Tue Mar 27 20:55:29 2001  Jonathan Blandford  <jrb@redhat.com>
605
606         * gtk/gtkliststore.c: More work on implementing sortable
607         interface.
608
609 Mon Mar 26 15:48:45 2001  Owen Taylor  <otaylor@redhat.com>
610
611         * gtk/gtkwindow.c (gtk_window_list_toplevels): Don't
612         reference the widgets in the resulting list. (#11821)
613         This makes this consistent with gtk_container_children.
614
615         * gtk/gtkwindow.c gtk/gtkwidget.c: Fix up the two
616         uses of gtk_window_list_toplevels.
617
618 Mon Mar 26 15:26:17 2001  Owen Taylor  <otaylor@redhat.com>
619
620         * gtk/gtkimcontext.c (gtk_im_context_set_use_preedit): Add
621         a virtual function to set whether the IM context should use 
622         the preedit string. (#51922)
623         
624 Mon Mar 26 14:42:59 2001  Owen Taylor  <otaylor@redhat.com>
625
626         * gdk/gdkpango.h: Remove stale FIXME comment.
627
628 2001-03-26  Alexander Larsson  <alla@lysator.liu.se>
629
630         * gtk/gtkfilesel.c (gtk_file_selection_get_filename):
631         Fixed bug that returned NULL if a filename was selected.
632
633 2001-03-24  Havoc Pennington  <hp@pobox.com>
634
635         * gtk/gtkthemes.c (gtk_theme_engine_load): improve error message
636         to contain the word "theme"
637
638 2001-03-24  Havoc Pennington  <hp@pobox.com>
639
640         * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much
641         slower but finer-grained
642         (gtk_hsv_focus): get initial focus on the ring or triangle 
643         according to tab direction
644
645         * gtk/testgtk.c (main): get rid of weird sleep(1) on exit
646
647 2001-03-23  Havoc Pennington  <hp@pobox.com>
648
649         * gtk/gtkhsv.c: make this somewhat key-navigable
650
651         * gtk/gtkfontsel.c: mnemonics
652
653         * gtk/gtkgamma.c: mnemonics
654
655         * gtk/gtkcolorsel.c: add mnemonics to labels
656
657 2001-03-22  Havoc Pennington  <hp@pobox.com>
658
659         Applied big patch from Seth Lytle to fix event handler return
660         values, slightly modified.
661
662         * gtk/gtkcalendar.c (gtk_calendar_button_press): return TRUE if
663         handled.
664         (gtk_calendar_key_press): return TRUE for GDK_space triggers
665         select_day
666
667         * gtk/gtkclist.c (gtk_clist_button_press): return TRUE if handled
668         (gtk_clist_button_release): return TRUE if handled
669
670         * gtk/gtkcolorsel.c (mouse_release):
671         (palette_activate): 
672         (palette_press): 
673         (palette_new): 
674         (mouse_press): 
675         (get_screen_color): 
676         fixed return type (void to gboolean), return TRUE,
677         added GTK_SIGNAL_FUNC cast
678
679         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fixed return type
680         (void to gboolean), and return TRUE
681         (gtk_combo_button_release): changed return value to TRUE after
682         gtk_grab_add on combo->popwin
683
684         * gtk/gtkctree.c (gtk_ctree_button_press): return TRUE if triggers a
685         collapse or expand
686
687         * gtk/gtkcurve.c (gtk_curve_graph_events): return TRUE for
688         button/motion
689
690         * gtk/gtkdnd.c (gtk_drag_source_event_cb): return TRUE for button
691         press/release and motion that trigger act
692
693         * gtk/gtkentry.c (gtk_entry_button_release): return TRUE
694
695         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): return TRUE
696         for GDK_Return
697         
698         * gtk/gtklist.c (gtk_list_button_press): return TRUE mostly
699         (gtk_list_button_release): return TRUE if selection
700
701         * gtk/gtklistitem.c (gtk_list_item_button_press): return TRUE on
702         press
703
704         * gtk/gtkmenushell.c (gtk_menu_shell_button_press):
705         (gtk_menu_shell_button_release): chain parent_menu_shell retval
706
707         * gtk/gtknotebook.c (gtk_notebook_button_press): return FALSE if
708         nothing triggered
709         (gtk_notebook_button_release): return TRUE if we do anything
710
711         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): 
712         (gtk_spin_button_button_release): return TRUE or chained retval
713
714         * gtk/gtktext.c (gtk_text_button_press): 
715         (gtk_text_button_release): return TRUE
716         (gtk_text_key_press): remove redundant retval code
717         
718         * gtk/gtktreeitem.c (gtk_tree_item_button_press): return TRUE if button
719         and sensitive
720         (gtk_tree_item_subtree_button_click): changed type to gint, and return
721         TRUE if sensitive
722
723         * gtk/gtktooltips.c (gtk_tooltips_event_handler): deactivate implies 
724         return TRUE
725
726 2001-03-23  Havoc Pennington  <hp@redhat.com>
727
728         * gtk/testgtk.c: fix warnings
729
730         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): fix return value
731
732         * gtk/gtktextview.c: fix warnings
733
734         * gtk/gtktext.c (find_cursor_at_line): fix warning
735
736         * gtk/gtkselection.c (gtk_selection_notify): fix warning 
737
738         * gtk/gtkitemfactory.c (gtk_item_factory_menu_pos): fix signature
739         of this function
740
741         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
742         fix warning
743
744         * gtk/gtkhandlebox.c (gtk_handle_box_style_set): fix warning
745
746         * gtk/gtkfontsel.c: fix warning
747
748         * gtk/gtkcolorsel.c: fix warnings
749
750 2001-03-23  Havoc Pennington  <hp@redhat.com>
751
752         * gtk/gtkhandlebox.c: Apply property patch from Lee Mallabone
753
754         * gtk/gtkbox.c: Apply property patch from Lee Mallabone
755
756         * gtk/gtkcheckmenuitem.c: Apply property patch from Lee Mallabone,
757         and deprecated gtk_check_menu_item_set_show_toggle().
758         
759         * gtk/gtkbutton.c: Apply property patch from Lee Mallabone
760
761         * gtk/gtkfilesel.c: Apply property patch from Lee Mallabone
762
763         * gtk/gtkframe.c: Apply property patch from Lee Mallabone
764
765 2001-03-23  Havoc Pennington  <hp@redhat.com>
766
767         * gtk/gtktoolbar.c, gtk/gtkimcontext.c, gtk/gtklabel.c: fix up
768         some docs
769
770 Fri Mar 23 16:13:43 2001  Jonathan Blandford  <jrb@redhat.com>
771
772         * gtk/gtktreeviewcolumn.h (GtkCellDataFunc): Forgot to namespace
773         this.
774
775         * gtk/gtktreestore.c (gtk_tree_store_set_value): change from
776         set_cell to set_value
777
778         * gtk/gtkliststore.c (gtk_list_store_set_value): change from
779         set_cell to set_value
780
781 Thu Mar 22 19:27:34 2001  Jonathan Blandford  <jrb@redhat.com>
782
783         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
784         fix braino.
785         * gtk/gtktreesortable.[ch]: New interface to add cleanup sortable
786         support.
787
788         * gtk/gtktreeview.c: Addition of initial sortable support.
789
790         * gtk/gtktreestore.c: Addition of initial sortable support.
791
792         * gtk/gtkliststore.c: Addition of initial sortable support.
793
794         * gtk/gtkmarshal.list: yet another marshaller.
795
796         * gtk/gtktreedatallist.[ch]: shared code between the store models
797         for handling sorting headers.
798
799 2001-03-22  Havoc Pennington  <hp@redhat.com>
800
801         * gtk/gtkcontainer.c (gtk_container_set_focus_chain): 
802         (gtk_container_unset_focus_chain): Add ability to override the 
803         focus chain for a container explicitly
804
805 Thu Mar 22 13:01:44 2001  Tim Janik  <timj@gtk.org>
806
807         * gtk/gtklabel.[hc]: some cleanups, fixed mnemonic_widget handling,
808         added PROP_MNEMONIC_WIDGET.
809
810         * gtk/gtkwindow.c (gtk_window_activate_mnemonic): 
811         (gtk_window_remove_mnemonic): 
812         (gtk_window_add_mnemonic): fixed assertions.
813         (gtk_window_activate_mnemonic): constrain modifier checks to those
814         permitted by gtk_accelerator_get_default_mod_mask().
815         got rid of gtk_window_get_default_accel_group().
816
817         * gtk/gtkwidget.c (gtk_widget_real_activate_mnemonic): handle non
818         activatable widgets either by focussing or a warning.
819         added a signal accumulator to ::activate_mnemonic which stops the
820         emission once a handler returned TRUE.
821
822 2001-03-22  Havoc Pennington  <hp@pobox.com>
823
824         * gtk/gtktoolbar.c (gtk_toolbar_insert_stock): handle mnemonics in
825         the stock item label
826
827         * gtk/gtklabel.c: s/@gtk_func/gtk_func()/ in docs
828
829         * gtk/gtkstock.c (builtin_items): add mnemonics where missing
830
831         * demos/gtk-demo/*.c: Add mnemonics all over the place
832
833         * gtk/gtklabel.h: mark parse_uline deprecated
834
835 2001-03-21  Alexander Larsson  <alexl@redhat.com>
836
837         * gtk/gtkitemfactory.[ch]:
838         Add support for stock and normal imagemenuitems.
839         
840         * gtk/testgtk.c:
841         Add some tests for mnemonics, stock toolbars, stock
842         and image menuitems in itemfactory and gdk_window_scroll.
843
844 2001-03-21  Alexander Larsson  <alexl@redhat.com>
845
846         * gtk/gtkbutton.[ch]:
847         * gtk/gtkdialog.c:
848         Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and
849         removed accel_group argument. Renamed gtk_button_new_accel() to
850         gtk_button_new_with_mnemonic() and removed accel_group argument.
851
852         * gtk/gtkcheckbutton.[ch]:
853         New function gtk_check_button_new_with_mnemonic().
854
855         * gtk/gtkentry.c:
856         Override activate_mnemonic and just grab focus.
857
858         * gtk/gtkitemfactory.c:
859         Don't add menu uline accel group, instead use mnemonics support.
860
861         * gtk/gtklabel.[ch]:
862         New support for mnemonics.
863
864         * gtk/gtkmarshal.list:
865         Needed BOOLEAN:BOOLEAN for activate_mnemonic.
866
867         * gtk/gtkmenu.[c]:
868         * gtkmenushell.c:
869         Use mnemonics instead of accel groups for uline
870         support in menu items.
871         Removed gtk_menu_get_uline_accel_group() and
872         gtk_menu_ensure_uline_accel_group().
873
874         * gtk/gtkmenuitem.c:
875         Override activate_mnemonic to handle switching between
876         menu items if there are collisions.
877         
878         * gtk/gtknotebook.c:
879         Connect to activate_mnemonic on the tab_label, so that
880         activating it switches to that notebook page.
881
882         * gtk/gtkwidget.[ch]:
883         Add activate_mnemonic signal. New function
884         gtk_widget_activate_mnemonic() to emit it.
885         Default implementation does activate/grab_focus.
886
887         * gtk/gtkwindow.[ch]:
888         Add support for mnemonics in windows.
889         New functions:
890         gtk_window_add_mnemonic, gtk_window_remove_mnemonic,
891         gtk_window_activate_mnemonic, gtk_window_set_mnemonic_modifier
892
893         * gtk/testgtk.c:
894         Update to function name changes.
895         
896 2001-03-21  Alexander Larsson  <alexl@redhat.com>
897
898         * gtk/gtkimagemenuitem.[c]:
899         Add gtk_image_menu_item_new_from_stock()
900
901 Tue Mar 20 15:00:43 2001  Jonathan Blandford  <jrb@redhat.com>
902
903         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
904         Fix buglet in meeting.
905
906 2001-03-19  Havoc Pennington  <hp@redhat.com>
907
908         * gtk/gtkiconfactory.c: Make GtkIconSource an opaque datatype, and
909         add a bunch of accessor functions. This is because we have
910         reasonable expectations of extending what fields it contains in
911         the future.
912
913         * gtk/gtkstyle.c (gtk_default_render_icon): adapt to icon source
914         changes
915
916         * gtk/gtkrc.c (gtk_rc_parse_icon_source): fix to use new
917         GtkIconSource   
918
919 Mon Mar 19 15:53:36 2001  Owen Taylor  <otaylor@redhat.com>
920
921         * gtk/gtkitemfactory.c gtk/testgtk.c: Handle quoting of / with \; properly
922         handle __ in paths, quote " and \n in gtk_item_factory_dump_items().
923
924         * gtk/gtkadjustment.[ch] gtk/gtkclist.c gtk/gtkhruler.c gtk/gtklayout.c 
925           gtk/gtklist.c gtk/gtkprogress.[ch] gtk/gtkprogressbar.[ch] gtk/gtkrange.[ch]
926           gtk/gtkruler.[ch] gtk/gtkscale.c gtk/gtkscrolledwindow.c gtk/gtkspinbutton.[ch]
927           gtk/gtktext.c gtk/gtktextview.c gtk/gtkvruler.c gtk/testgtk.c:
928         Change float to double everywhere with the exception of 0<->1.0 alignment
929         and GtkCurve.
930
931 2001-03-19  Tor Lillqvist  <tml@iki.fi>
932
933         * gdk/win32/gdkdrawable-win32.c
934         * gdk/win32/gdkimage-win32.c: Use correct casts in debugging
935         output.
936
937         * demos/testpixbuf-drawable.c: If GDK_WINDOWING_WIN32, include
938         gdkwin32.h.
939
940 2001-03-18  Tor Lillqvist  <tml@iki.fi>
941
942         * gdk/win32/gdkevents-win32.c (print_window_state): New function.
943         print_event_state, print_event): Use preprocessor macro to make
944         code more compact. Print also GDK_WINDOW_STATE events.
945         (synthesize_crossing_events): Remove the old #ifdeffed-out code.
946         
947         * gtk/gtk.def
948         * gtk/makefile.mingw.in: Update.
949
950         * gtk/gtkmain.h: Check for G_PLATFORM_WIN32, not only G_OS_WIN32,
951         to catch also Cygwin.
952
953 Sun Mar 18 01:15:30 2001  Tim Janik  <timj@gtk.org>
954
955         * gtk/gtkspinbutton.[hc]: added rc-style argument
956         GtkSpinButton::shadow_type.
957         removed spin_button->shadow_type, gtk_spin_button_set_shadow_type()
958         and ARG_SHADOW_TYPE as it doesn' make much sense to try to override
959         rc-style settings.
960
961         * gtk/gtkfixed.c: removed gtk_fixed_paint() (was unused).
962
963         * gtk/gtkwidget.c: quark cleanups.
964
965         * gtk/gtkrc.[hc]: added gtk_rc_scanner_new() to create an rc-file
966         scanner with appropriate configuration, renamed GtkRcStyleClass.clone
967         to create_rc_style() (we don't do cloning in standard OO sense).
968         added per rc style properties.
969         
970         * gtk/gtkstyle.[hc]: added code to retrive pspec conformant rc-style
971         property values and for caching those. some cleanups.
972         
973         * gtk/Makefile.am: -DG_DISABLE_CONST_RETURNS.
974         
975         * gtk/gtksettings.[hc]: new file for global rc-file properties
976         (at least currently, should get extended to support X properties
977         and other communication mechanisms).
978         
979         * gtk/gtkwidget.[hc]: added style property support:
980         (gtk_widget_class_install_style_property_parser): install style
981         property pspec with parser function for rc-file values other
982         than LONG, DOUBLE or STRING.
983         (gtk_widget_class_install_style_property): same as above without
984         parser (parsers are going to be needed quite infrequently).
985         (gtk_widget_style_get_property): retrive style property value.
986         (gtk_widget_style_get_valist): same as above with varargs support,
987         has NOCOPY semantics.
988         (gtk_widget_style_get): wrapper around gtk_widget_style_get_valist().
989
990 Fri Mar 16 18:24:53 2001  Jonathan Blandford  <jrb@redhat.com>
991
992         * demos/gtk-demo/main.c (row_activated_cb): modified to use
993         "row_activated" signal.
994
995         * gtk/gtktreeview.c (gtk_tree_view_row_activated): oh, the
996         stupidity.  Lets actually pass in the row with this signal...
997
998 Fri Mar 16 18:01:17 2001  Jonathan Blandford  <jrb@redhat.com>
999
1000         * gtk/gtktreeviewcolumn.[ch]: s/GTK_TREE_COLUMN/GTK_TREE_VIEW_COLUMN
1001
1002         * gtk/gtktreeview.c (gtk_tree_view_row_activated): New signal.
1003
1004         * gtk/gtktreeview.c (gtk_tree_view_destroy): moved pretty much
1005         everything into the ::destroy function, and freed a lot more.
1006
1007 2001-03-16  Havoc Pennington  <hp@redhat.com>
1008
1009         * gtk/gtkwidget.h (struct _GtkWidgetAuxInfo): change to use gint
1010         instead of gint16, to avoid overflow issues, since sizes > 16-bit
1011         are now allowed.
1012
1013 2001-03-16  Havoc Pennington  <hp@redhat.com>
1014
1015         * Applied patch from Nils Barth (bug # 51041) to 
1016         replace "gint" with "gboolean" and 0/1 with TRUE/FALSE
1017         in various places.
1018
1019 2001-03-15  Havoc Pennington  <hp@redhat.com>
1020         
1021         * gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): add varargs 
1022         for properties to set on the tag.
1023
1024         * gtk/testtext.c: fixups to reflect create_tag change
1025         
1026         * gtk/gtktexttag.c (gtk_text_tag_set_property):
1027         background/foreground stipple are objects, not boxed.
1028
1029         * demos/gtk-demo/textview.c: intellihancing
1030
1031 Fri Mar 16 11:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
1032
1033         * gtk/gtktreeview.c (gtk_tree_view_set_model): Fixed some
1034         braindeadness spotted by Jamie Strachan <frostfreek@yahoo.com>.
1035
1036 2001-03-16  Alexander Larsson  <alexl@redhat.com>
1037
1038         * gdk/x11/gdkgeometry-x11.c (_gdk_window_process_expose):
1039         Fix sign error with queued region translations.
1040
1041 2001-03-15  HideToshi Tajima  <tajima@happy>
1042
1043         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_set_cursor_location): 
1044         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_location):
1045         * gtk/gtkentry.c (update_im_cursor_location): 
1046         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_location):
1047         * gtk/gtkimcontext.h (struct _GtkIMContextClass): rename
1048         set_cursor_pos to set_cursor_location in GtkInputContext class
1049
1050 Thu Mar 15 18:22:44 2001  Jonathan Blandford  <jrb@redhat.com>
1051
1052         * gtk/gtkcellrenderer.h: Changed prototype to allow for getting
1053         the location of the cell relative to its area.
1054         * gtk/gtkcell*: modified for above change
1055         * gtk/gtktreeview.c: modified for above change.
1056
1057 Wed Mar 14 13:58:32 2001  Jonathan Blandford  <jrb@redhat.com>
1058
1059         * gtk/gtktreeview.c (gtk_tree_view_set_model): Ref the model.
1060          (gtk_tree_view_finalize): actually unref the model.  Thanks to
1061         Jamie Strachan <frostfreek@yahoo.com> for noticing this error.
1062
1063 2001-03-14  Havoc Pennington  <hp@redhat.com>
1064
1065         * gtk/gtkdata.h, gtk/gtkdata.c: Delete.
1066         
1067         * gtk/gtk.h: remove gtkdata.h
1068
1069         * gtk/Makefile.am: remove gtkdata
1070         
1071         * gtk/gtktext.c (gtk_text_set_adjustments): connect to "destroy"
1072         not "disconnect" on the adjustments.
1073         
1074         * gtk/gtktooltips.h, gtk/gtktooltips.c: derive from GtkObject not
1075         GtkData
1076
1077         * gtk/gtkadjustment.h, gtk/gtkadjustment.c: derive from GtkObject
1078         not GtkData
1079
1080         * configure.in: handle case where X render exists, but Pango lacks
1081         Xft support.
1082
1083 2001-03-15 Alexander Larsson  <alexl@redhat.com>
1084
1085         * gtk/gtktoolbar.[ch]:
1086         New functions gtk_toolbar_set_icon_size and gtk_toolbar_insert_stock
1087         to add stock items to toolbars.
1088
1089         * gtk/Makefile.am:
1090         Remove ../gdk/gdkim.h from gdk_headers.
1091
1092 2001-03-15  Sven Neumann  <sven@gimp.org>
1093
1094         * gdk/gdkim.h: removed
1095         
1096         * gdk/gdkprivate.h
1097         * gdk/x11/gdkim-x11.c: do not include gdkim.h 
1098
1099 2001-03-14  HideToshi Tajima  <tajima@happy.sunsoft.eng.sun.com>
1100
1101         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos):
1102         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos):
1103         * gtk/gtkimcontext.h (struct _GtkIMContextClass): add
1104         set_cursor_pos() virtual method
1105
1106         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init):
1107         (gtk_im_context_xim_set_cursor_pos): add implementation for
1108         set_cursor_pos() method
1109
1110         * gtk/gtkentry.c (recompute_idle_func): set current cursor
1111         position to input methods
1112
1113 Mon Mar 12 21:02:08 2001  Jonathan Blandford  <jrb@redhat.com>
1114
1115         * gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus
1116         code a lot.
1117
1118         * gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use
1119         g_mem_chunk.
1120         (_gtk_tree_data_list_alloc): use g_mem_chunk.
1121         (_gtk_tree_data_list_node_to_value): Fix to switch on
1122         G_TYPE_FUNDAMENTAL.
1123         (_gtk_tree_data_list_value_to_node): Fix to switch on
1124         G_TYPE_FUNDAMENTAL.
1125         (_gtk_tree_data_list_node_copy): Fix to switch on
1126         G_TYPE_FUNDAMENTAL.
1127
1128 2001-03-12  Havoc Pennington  <hp@redhat.com>
1129
1130         * gtk/gtkwindow.c (gtk_window_class_init): Patch from John Margaglione 
1131         to convert to new property API. Also, change default_width and
1132         default_height get_property to return 0 as the flag value for
1133         "unset"; -1 is not a valid value for these fields.
1134
1135 2001-03-12  Havoc Pennington  <hp@redhat.com>
1136
1137         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an
1138         enum with registration for icon sizes, instead of strings.
1139
1140         * gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, 
1141         gtkwidget.c: Fix to reflect GtkIconSize
1142         
1143 2001-03-12  Alexander Larsson  <alexl@redhat.com>
1144
1145         Make GtkFB compile and link.
1146         
1147         * gdk/linux-fb/gdkdrawable-fb2.c:
1148         window->mapped to GDK_WINDOW_IS_MAPPED(). 
1149         
1150         * gdk/linux-fb/gdkwindow-fb.c:
1151         window->mapped to GDK_WINDOW_IS_MAPPED(). 
1152         Added gdk_window_shape_combine_region.
1153         Added assorted placeholders for unimplemented new GdkWindow API calls.
1154
1155 2001-03-12  Alexander Larsson  <alexl@redhat.com>
1156
1157         * gtk/gtkfilesel.c:
1158         Add more test when converting filenames from/to utf-8.
1159         Don't allow entering text in the filename entry which isn't allowed in
1160         a filename. Just beep instead.
1161
1162 2001-03-12  Alexander Larsson  <alexl@redhat.com>
1163
1164         * gtk/gtkclist.c:
1165         Scroll using gdk_window_scroll(). Don't wait for exposes.
1166         Move the column headers in an order that makes them flash less.
1167
1168 2001-03-10  Hans Breuer  <hans@breuer.org>
1169
1170         * gdk/gdk.def : updated
1171
1172         * gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
1173         to offseting the clip_mask at the right place
1174
1175         * gdk/win32/gdkwindow-win32.c : don't create background brushes
1176         for all the gdkClasses, especially not for the input_only case.
1177         Otherwise flickering wont be avoidable, because we don't get
1178         WM_ERASEBKGND message for these windows.
1179
1180         * gdk/win32/gdkevents-win32.c : initialize event->expose.region
1181         and fixed massive redraw problems apparently triggered by Alexanders 
1182         recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
1183         but it seems to work quite well :-)
1184
1185         * gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose
1186         prototype
1187
1188 Sat Mar 10 12:15:31 2001  Jonathan Blandford  <jrb@redhat.com>
1189
1190         * gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
1191         (gtk_list_store_set_cell): Fix a stupid typo.
1192
1193 Fri Mar  9 20:36:21 2001  Jonathan Blandford  <jrb@redhat.com>
1194
1195         * gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
1196         select_all not work if you're in SINGLE mode (it doesn't make that
1197         much sense, anyway.)
1198
1199         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
1200         handle types more sanely.
1201         (_gtk_tree_data_list_value_to_node): handle types more sanely.
1202         (_gtk_tree_data_list_node_copy): handle types more sanely.
1203
1204         * gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
1205         GValue better. Converts the type as well.
1206
1207         * gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
1208         GValue better. Converts the type as well.
1209
1210 Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
1211
1212         * gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
1213         gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c 
1214         gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
1215         gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
1216
1217         * gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
1218         gdk_im/gdk_ic.
1219
1220 2001-03-09  Hans Breuer  <hans@breuer.org>
1221
1222         * gdk/gdk.def : updated
1223
1224         * gdk/win32/gdkevents-win32.c : don't ask input_only windows
1225         for their palette
1226
1227         * gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
1228         removing
1229
1230         * gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
1231         removing and implemented Havoc's GdkWindow state functions; 
1232         stick/unstick only as no-op, cause I don't know how to emulate 
1233         on win32 ...
1234
1235         * gtk/gtk.def : updated
1236
1237         * gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
1238
1239         * gtk/gtktypeutils.c : #include <string.h>
1240
1241         * gtk/gtkwindow.h : declare gtk_window_set_decorated ()
1242
1243 Fri Mar  9 09:31:55 2001  Tim Janik  <timj@gtk.org>
1244
1245         * gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with
1246         GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object,
1247         not a boxed.
1248
1249 2001-03-09  Alexander Larsson  <alexl@redhat.com>
1250
1251         * docs/Changes-2.0.txt:
1252         Document expose event->region change and that gtk_widget_event
1253         doesn't allow passing expose events.
1254
1255         * gdk/gdkevents.h:
1256         Add region to expose event.
1257         
1258         * gdk/gdkevents.c:
1259         Handle event->region in gdk_event_copy() and gdk_event_free().
1260
1261         * gdk/gdkwindow.c (gdk_window_process_updates_internal):
1262         Generate expose_event->region when creating expose events.
1263
1264         * gdk/x11/gdkevents-x11.c:
1265         Generate expose events with regions when translating X events.
1266
1267         * gtk/gtkcontainer.[ch]:
1268         Default expose handler that propagates expose events to NO_WINDOW
1269         children. New function gtk_container_propagate_expose()
1270
1271         * gtk/gtkwidget.[ch]:
1272         Moved gtk_widget_event implementation to gtk_widget_event_internal.
1273         gtk_widget_event calls gtk_widget_event_internal but doesn't allow
1274         expose events. New function gtk_widget_send_expose() to send expose
1275         events. New function gtk_widget_region_intersect() to calculate
1276         window/region intersections.
1277         
1278         * gtk/gtkmain.c (gtk_main_do_event):
1279         Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
1280         Use gtk_widget_send_expose() to send expose events.
1281         
1282         * gtk/gtkbin.c:
1283         * gtk/gtkbox.c:
1284         * gtk/gtkfixed.c:
1285         * gtk/gtkimagemenuitem.c:
1286         * gtk/gtklist.c:
1287         * gtk/gtkpacker.c:
1288         * gtk/gtktable.c:
1289         * gtk/gtktree.c:
1290         Remove expose handler, using the default container implementation
1291         instead.
1292         
1293         * gtk/gtkbutton.c:
1294         * gtk/gtkcheckbutton.c:
1295         * gtk/gtkeventbox.c:
1296         * gtk/gtkfixed.c:
1297         * gtk/gtkhandlebox.c:
1298         * gtk/gtklayout.c:
1299         * gtk/gtklistitem.c:
1300         * gtk/gtkmenu.c:
1301         * gtk/gtkmenubar.c:
1302         * gtk/gtkmenuitem.c:
1303         * gtk/gtknotebook.c:
1304         * gtk/gtkoptionmenu.c:
1305         * gtk/gtkpaned.c:
1306         * gtk/gtkscrolledwindow.c:
1307         * gtk/gtktogglebutton.c:
1308         * gtk/gtktoolbar.c:
1309         * gtk/gtktreeitem.c:
1310         * gtk/gtkviewport.c:
1311         Chain expose handler to parent class handler. Use
1312         gtk_container_propagate_expose() to propagate exposes.
1313
1314         * gtk/gtkclist.c (check_exposures):
1315         * gtk/gtktext.c (process_exposes):
1316         Use gtk_widget_send_expose instead of gtk_widget_event.
1317
1318 Thu Mar  8 19:40:28 2001  Jonathan Blandford  <jrb@redhat.com>
1319
1320         * gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function.
1321
1322 Thu Mar  8 19:18:27 2001  Jonathan Blandford  <jrb@redhat.com>
1323
1324         * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually
1325         unref the nodes.   Fixes bug #50058.
1326
1327         * gtk/gtktreemodel.c (gtk_tree_model_ref_node): change
1328         "::ref_iter" to "::ref_node".
1329         (gtk_tree_model_unref_node): change "::unref_iter" to
1330         "::unref_node". Fixes bug #50064.
1331
1332 Thu Mar  8 17:40:09 2001  Jonathan Blandford  <jrb@redhat.com>
1333
1334         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add
1335         support for invisible cells.
1336          (gtk_tree_view_bin_expose): ditto
1337
1338 Thu Mar  8 16:36:00 2001  Jonathan Blandford  <jrb@redhat.com>
1339
1340         * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
1341         on gobjects.
1342
1343         * tests/testtreefocus.c (main): New test file.
1344
1345         * tests/testtreeview.c: update to latest glib changes.
1346
1347         * tests/testtreecolumns.c: update to latest glib changes.
1348
1349 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
1350
1351         * gtk/testgtk.c: re-enabled event watcher emission hooks.
1352
1353 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
1354
1355         * *.c: added accumulator data argument to g_signal_newc()
1356         functions.
1357
1358         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
1359         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
1360         * gtk/treestoretest.c (make_window):
1361         s/g_signal_connect/g_signal_connectc/.
1362
1363         * gtk/gtktextbuffer.c: completed signal arg fixups,
1364         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
1365
1366 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
1367
1368         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
1369         G_CONST_RETURN.
1370
1371         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
1372         ::hierarchy-changed signal when a widget changes
1373         from anchored to unanchored or vice versa.
1374         (anchored means 
1375          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
1376         Use a private flag to keep track of this efficiently.
1377
1378 2001-03-07  Havoc Pennington  <hp@redhat.com>
1379
1380         * gtk/testgtk.c (create_spins): uglify so that size request gets
1381         tested.
1382
1383         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
1384         request on values for upper/lower, completes #6152
1385
1386 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
1387
1388         * Makefile.am: Remove gtk-config-2.0 again.
1389         (Grrrr, pkg-config. And stops make loops.)
1390
1391 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
1392
1393         * gtk/gtksignal.[hc]: removed old emission hook API.
1394         
1395         * docs/Changes-2.0.txt: fixed sections.
1396         
1397         * gtk/gtktextbuffer.c: signal arg fixups.
1398
1399 2001-03-07  Havoc Pennington  <hp@redhat.com>
1400
1401         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
1402
1403         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
1404         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
1405         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
1406         validation and the redraw which is higher priority than the
1407         validation.
1408
1409 2001-03-07  Havoc Pennington  <hp@redhat.com>
1410
1411         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
1412         (gtk_entry_set_property): remove trailer
1413
1414         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
1415         (gtk_entry_get_width_chars): new functions, to set size request to 
1416         a given number of characters
1417
1418         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
1419
1420         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
1421         (gtk_dialog_get_has_separator): new function
1422         (run_delete_handler): fix to not emit "response" signal
1423         because we already did in the delete event handler installed
1424         at dialog creation time.
1425         
1426         * gtk/gtkdialog.h: add a has_separator property,
1427         add GTK_DIALOG_NO_SEPARATOR flag
1428
1429 2001-03-07  Havoc Pennington  <hp@redhat.com>
1430
1431         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
1432         off decorations for a window.
1433
1434         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
1435         changes
1436
1437         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
1438         to get location of PangoLayout inside the label, closes #51198
1439
1440         * gtk/testgtk.c (create_bbox): fix up button box usage
1441
1442         * gtk/testcalendar.c (create_calendar): fix up button box usage
1443
1444         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
1445
1446         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
1447
1448         * gtk/gtkhbbox.h: deprecations
1449
1450         * gtk/gtkvbbox.h: deprecations
1451
1452         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
1453         emulate deprecated gtk_button_box_get_spacing
1454
1455         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
1456         the "set global default" functions
1457         (struct _GtkButtonBox): remove "spacing" field, use the one from 
1458         GtkBox base class
1459
1460         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
1461
1462         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
1463         render the icon, return the missing image icon.
1464
1465         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
1466         image icon if the load fails.   
1467
1468         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
1469         when no image is found; should be the Netscape "missing image"
1470         icon eventually but for now is a random image
1471
1472         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
1473         role for the session manager
1474
1475         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
1476
1477         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
1478         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
1479
1480         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
1481
1482 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
1483
1484         * gtk/*.c: marshaller fixes.
1485         
1486         * gtk/gtkmarshal.list: extreme cleanup.
1487
1488         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
1489         param spec for now.
1490
1491         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
1492         where appliable.
1493
1494         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
1495         special cased autogenerated boxed types from gtktypebuiltins_ids.c
1496         which are not reference counted:
1497         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
1498         PangoFontDescription, GtkTreeIter and GtkTreePath.
1499
1500 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
1501
1502         * gtk/gtktreeselection.h: 
1503         * gtk/gtktreemodel.c:
1504         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
1505         file should be included directly, and gobject/gmarshal.h
1506         as well as gtk/gtkmarshal.h even can't be included directly.
1507
1508         * Makefile.am: grr, install gtk-config-2.0.
1509
1510         * gtk/testgtk.c:
1511         * gtk/simple.c:
1512         * gtk/gtkmenu.c:
1513         * gtk/gtkitemfactory.c: use g_object_connect() instead of
1514         passing "*signal*::*" args to gtk_widget_set().
1515         
1516         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
1517         
1518         * gtk/*.c: removed trailer arg from property setters and getters.
1519         macro fixups.
1520
1521 2001-03-07  Alexander Larsson  <alexl@redhat.com>
1522
1523         * gtk/gtklabel.c (set_markup): Removed warning
1524
1525 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
1526
1527         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
1528         field to allow you to hide cell renderers.
1529
1530         * gtk/gtkcellrenderer.c: Add support for invisible cells.
1531
1532         * gtk/gtktreeview.c: Add support for invisible cells.
1533
1534 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
1535
1536         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
1537         Add "clicked" signal back to columns.
1538
1539         * ChangeLog: remove conflict markers.
1540
1541 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
1542
1543         * gtk/gtkbutton.c: Add animation of activation by, on 
1544         activate, pressing the button, and adding a timeout that 
1545         releases the button after 250ms or on key release and
1546         emits ::clicked. (#51501)
1547
1548         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
1549         action area, we connect to ::clicked instead of ::activate
1550         so the dialog stays up through the animation.
1551
1552 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
1553
1554         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
1555         check the ignore_enter flag for the menu shell that
1556         the item is actually a child of, not for attached
1557         submenus. (#51536)
1558
1559 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
1560
1561         * gtk/gtkmain.c (gtk_propagate_event): Only do special
1562         special key-press grab handling for widgets within
1563         GtkWindows. Otherwise, fall through to normal case.
1564
1565         This prevents key events being sent twice to GtkInvisible
1566         widgets, which can cause all sorts of mischief.
1567
1568 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
1569
1570         * gtk/gtkmain.c (gtk_propagate_event): When a grab
1571         widget is in effect, give the grab widget a first
1572         crack at KEY_PRESS/RELEASE events. (#424)
1573
1574 2001-03-06  James Henstridge  <james@daa.com.au>
1575
1576         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
1577         offset for the window_state_event to point at window_state_event
1578         rather than no_expose_event.
1579
1580 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
1581
1582         * gtk/gtkimmodule.h: fix busted /* comment */
1583
1584 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
1585
1586         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
1587         object properties.
1588
1589 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
1590
1591         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
1592         add object properties.
1593
1594         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
1595         to add object properties.
1596
1597         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
1598         object properties.
1599
1600         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
1601         add object properties.
1602
1603         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
1604         object properties.
1605
1606 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
1607
1608         * gtk/gtktreemodel.c: renamed "child_toggled" to
1609         "has_child_toggled".
1610
1611         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
1612         handle new signal name.
1613
1614         * gtk/gtktreestore.c: Updated to handle new signal name.
1615         * gtk/gtklisttore.c: Updated to handle new signal name.
1616         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
1617
1618 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1619
1620         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
1621         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
1622
1623 2001-03-05  Michael Natterer  <mitch@gimp.org>
1624
1625         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
1626         pixbuf-engine coincidentially also failed to make one of it's
1627         parent_class pointers static, causing overwriting of GtkLabel's
1628         parent_class pointer in pixbuf_style_class_init().
1629         (Will commit the fix to the pixbuf-engine too).
1630
1631 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1632
1633         * gdk/gdkwindow.h:
1634         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
1635         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
1636         gdk_window_set_icon_list for net wmspec functionality.
1637
1638         * gdk/x11/gdkwindow-x11.c:
1639         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
1640         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
1641         gdk_window_set_icon_list.
1642         Added gdk_wmspec_change_state helper function and used it in the code.
1643         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
1644
1645         * gtk/gtkdialog.c (gtk_dialog_init):
1646         Set GDK_WINDOW_TYPE_HINT_DIALOG.
1647
1648         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
1649         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
1650
1651         * gtk/gtkwindow.c:
1652         new function gtk_window_set_type_hint.
1653         On realize, set type hint and modal hint.
1654
1655         * gtk/gtkwindow.h:
1656         Added type_hint field and gtk_window_set_type_hint.
1657
1658 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1659
1660         * gtk/gtklabel.[ch]:
1661         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
1662         New function gtk_label_get_accel_keyval () to get the underline accelerator
1663         of the label. Setting the label pattern overrides other attributes.
1664
1665 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
1666
1667         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
1668         Added missing initializers to gtk_rc_style_init().
1669
1670 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
1671
1672         * gtk/gtktextview.c: fixed bug #51097 about setting 
1673         gtk_text_view_set_border_window_size() if the widget is 
1674         already realized.
1675
1676 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
1677
1678         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
1679
1680         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
1681         comment. Won't do to have duplicated doc comments between
1682         the platform subdirs.
1683
1684 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
1685
1686         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
1687           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
1688
1689         Detectable auto-repeat - make a repeating key generate
1690         press/press/press/release instead of press/release pairs.
1691
1692         If we have Xkb and XkbSetDectableAutoRepeat supports
1693         that, we do it that way. Otherwise, when we get
1694         a release event, we check ahead with XPending to see
1695         if the next key is a KeyPress with the same keycode
1696         and timestamp. (Not 100% reliable, but pretty close.)
1697           
1698 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
1699         
1700         * gtk/gtkmain.c (gtk_propagate_event): Only do special
1701         special key-press grab handling for widgets within
1702         GtkWindows. Otherwise, fall through to normal case.
1703  
1704         This prevents key events being sent twice to GtkInvisible
1705         widgets, which can cause all sorts of mischief.
1706  
1707 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
1708  
1709         * gtk/gtkmain.c (gtk_propagate_event): When a grab
1710         widget is in effect, give the grab widget a first
1711         crack at KEY_PRESS/RELEASE events. (#424)
1712  
1713 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
1714
1715         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
1716         to extend the selection. (Roughly based on patch
1717         from Jay Cox, #50939)
1718
1719         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
1720         to properly handle previous GDK_BUTTON_PRESS. 
1721         (Patch from Jay Cox, #50938)
1722
1723         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
1724         '\0' back along with the deleted text. (#51148)
1725
1726 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
1727
1728         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
1729         the group when extracting it from the X keyboard event.
1730
1731         * modules/input/Makefile.am modules/input/imipa.c: 
1732         Simple module for entering IPA. (Do we need a 
1733         gtk-stupid-input-tricks CVS module?)
1734
1735 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
1736
1737         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
1738         const.
1739
1740         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
1741
1742         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
1743         is no focus widget for the dialog currently, grab the focus as well
1744         as the default.
1745
1746         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
1747         the action area's children to iterate through, not the
1748         dialog's children.
1749
1750 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
1751
1752         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
1753         Add plug-socket tests. (Won't work worth a darn until I commit
1754         the rest of the plug-socket changes, but no reason these
1755         can't go into CVS now.)
1756
1757 2001-03-02  Havoc Pennington  <hp@redhat.com>
1758
1759         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
1760         _gdk_region_get_xrectangles()
1761
1762         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
1763
1764         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
1765
1766         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
1767         function, contributed by Ron Steinke    
1768
1769         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
1770         gdk_net_wm_supports
1771
1772         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
1773         New function, contributed by Ron Steinke
1774
1775         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
1776         used to line up the text in the entry when using the entry for
1777         editable sheet cell hacks
1778
1779         * gtk/testgtk.c (create_entry): test the activate_default setting
1780         on GtkEntry
1781
1782         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
1783         cause the entry to activate the default button for a dialog when 
1784         activated
1785         (gtk_entry_get_activates_default): new function
1786
1787 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
1788
1789         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
1790         Hwang to move call to sync_selection() up a few lines
1791         to before the row list is modified, to fix crash when
1792         removing rows in the undo_selection list.
1793
1794         (Test case provided by Daniel Elstner:
1795
1796         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
1797
1798 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
1799
1800         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
1801         of tree->root_tree in parent_set rather than _map(), 
1802         fixing #50892 in a bit better manner.
1803
1804 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
1805
1806         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
1807
1808 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
1809
1810         * gtk/gtkstyle.c : Remove duplicate fwd decl for
1811         gtk_default_draw_shadow.
1812
1813 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
1814
1815         * gdk/gdkimage.c (gdk_image_new): Remove excess 
1816         warning, make warnings more verbose, treat a error
1817         in shmat as permanent, and don't try again.
1818         (#51163, Ed Randall.)
1819
1820 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
1821
1822         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
1823         delay for the first click before starting to scroll.
1824         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
1825
1826         * gtk/gtktext.c: GtkText should have I-beam cursor. 
1827         (based on gtk-enf-990513-1.patch, Eric Fisher.)
1828
1829 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
1830
1831         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
1832         cleanup to remove some references to unused
1833         ->xoffset, ->yoffset.
1834
1835 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
1836
1837         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
1838         mask. (#51039, fix from Martin Maierhofer)
1839
1840 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
1841
1842         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
1843         for unshifted + and shifted = for non-us keyboards.
1844         Make <Control>+ and <Control>- work as well as 
1845         <Control>KP_Plus, <Control>KP_Minus for recursive
1846         open/close.  (#2682, René Seindal)
1847
1848 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
1849
1850         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
1851         the active menu item before deactivating the menu,
1852         so gtk_menu_popdown doesn't change the history. (#50964)
1853         
1854 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
1855
1856         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
1857         draw lines with text_gc rather than black_gc.
1858         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
1859
1860 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
1861
1862         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
1863         Move handling of buttons fully in gtktreeviewcolumn.  This code is
1864         less interrelated then it was, but it still requires the
1865         GtkTreeView to map it.
1866
1867         * test/testtreecolumn.c: Now I can add a column to one view,
1868         remove it, add it to the another view, remove it, then re-add it
1869         to the first.  Nifty.
1870
1871 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
1872
1873         * docs/tutorial/gtk-tut.sgml: Minor corrections
1874
1875 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
1876
1877         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
1878         GtkRowReference.
1879
1880 2001-02-28  Havoc Pennington  <hp@redhat.com>
1881
1882         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
1883         draw_default
1884         (gtk_widget_draw_focus): remove this function; we could instead
1885         make it just gtk_widget_draw(), but in most cases I think the
1886         result would be broken user code, so think it's better to have
1887         that code not compile and get fixed
1888         (gtk_widget_draw_default): ditto
1889
1890         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
1891         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
1892         
1893         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
1894         widgets lose/get the default, instead of calling draw_default
1895         
1896         * docs/Changes-2.0.txt: note about all this
1897
1898         Then fixed every widget in GTK, I won't list all the filenames.
1899
1900 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
1901
1902         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
1903         _gtk_tree_row_reference_deleted.
1904         (inserted_callback): Proxy out to
1905         _gtk_tree_row_reference_inserted.
1906         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
1907         get around signal emission ordering problem.
1908
1909         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
1910         fix to work with SINGLE 
1911         (_gtk_tree_selection_internal_select_node): Major sanitization on
1912         selections.  SINGLE now seems to work.
1913
1914         * tests/Makefile.am: add testtreecolumn.c:
1915
1916         * tests/testtreecolumn.c: New test.  Mostly points out selection
1917         bugs currently, but will test columns later.
1918
1919         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
1920         selection bug.  I hate touching this code -- it's scary.
1921
1922 2001-02-26  Havoc Pennington  <hp@redhat.com>
1923
1924         * gtk/testgtk.c: test the window state stuff
1925
1926         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
1927         window come to the user's attention as if it were just created
1928         (gtk_window_iconify): new function
1929         (gtk_window_deiconify): new function
1930         (gtk_window_stick): new function
1931         (gtk_window_unstick): new function
1932         (gtk_window_maximize): new function
1933         (gtk_window_unmaximize): new function
1934
1935         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
1936
1937         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
1938
1939         * gdk/x11/gdkevents-x11.c: create window state events when
1940         appropriate
1941         (gdk_wmspec_supported): new function
1942
1943         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
1944         iconification before showing the window
1945         (gdk_window_deiconify): new function
1946         (gdk_window_stick): new function
1947         (gdk_window_unstick): new function
1948         (gdk_window_maximize): new function
1949         (gdk_window_unmaximize): new function
1950
1951         * gdk/gdkwindow.c: store the window state in the window; 
1952         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
1953         window->mapped.
1954         (gdk_window_get_state): return the current window state
1955
1956         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
1957         (gdk_event_get_state): handle GDK_WINDOW_STATE
1958         (gdk_synthesize_window_state): function to create the window state
1959         events
1960
1961         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
1962         event, for changes to "window state" such as maximized, sticky, 
1963         etc.
1964         
1965         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
1966         focuses a window
1967
1968         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
1969         finds out if we support a given WM spec hint
1970
1971 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
1972
1973         * docs/faq/gtk-faq.sgml: New question re memory leaks.
1974
1975 2001-02-25  Hans Breuer  <hans@breuer.org>
1976
1977         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
1978         cause we want to loose those prototypes only in the latter case
1979
1980         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
1981         GdkPixmapImplWin32 because it itsn't derived from it. Use the
1982         impl member variable instead
1983
1984         * gtk/gtk.def : updated
1985
1986         * gtk/gtklist.c : 
1987         * gtk/gtkmenus.c : include <string.h> for memset ()
1988
1989         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
1990         for everthing built here, but for gtk-x.x.dll only. This solves
1991         problem of indifferent gtk type definitions
1992
1993 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@redhat.com>
1994
1995         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
1996
1997 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
1998
1999         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
2000         column that is exposed.
2001
2002         (_gtk_tree_view_update_size): Changed name from set_size, and
2003         changed function to do more work, and not force people calling it
2004         to figure out the size.  Simplifies a lot of code elsewhere.
2005
2006 2001-02-23  Alexander Larsson  <alexl@redhat.com>
2007
2008         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
2009         return solid masks for xpms that have no transparent color.
2010         This makes the ..._create_from_xpm... API backwards
2011         compatible.
2012
2013 2001-02-23  Tor Lillqvist  <tml@iki.fi>
2014
2015         * README.win32: Update. Mention the gtk-1-3-win32-production
2016         branch.
2017
2018         * gdk/win32/bdfcursor.c: New file. A program that generates
2019         xcursors.h. Thanks to Stefan Ondrejicka.
2020
2021         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
2022         compact format.
2023
2024         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
2025
2026         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
2027         function, uses xcursors.h.
2028         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
2029         cursor from inline data instead of using LoadCursor() to generate
2030         it from a resource.
2031
2032         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
2033         event, must check the Windows message for mouse button state, as
2034         the GDK event state might not have been built if it is
2035         undelivered. Remove one goto.
2036
2037         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
2038         SetCursor() if the current cursor as returned by GetCursor() is
2039         the window's previous cursor. The ChildWindowFromPoint() test
2040         apparently didn't work correctly.
2041
2042         * gdk/win32/rc/*.cur: Remove.
2043
2044         * gdk/win32/rc/gdk.rc.in: Remove cursors.
2045
2046         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
2047
2048         * gtk/makefile.{mingw,msc}.in: Updates.
2049
2050 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
2051
2052         * gtk/gtktreemodel.h: add functions for signal emission.
2053
2054         * gtk/gtktreestore.c: move to use above functions instead of
2055         g_signal_emit.
2056
2057         * gtk/gtkliststore.c: ditto
2058
2059 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
2060
2061         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
2062         GObject instead of GtkObject.
2063
2064         * gtk/gtkliststore.c: ditto.
2065
2066         * gtk/gtktreemodelsort.c: ditto.
2067
2068         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
2069         GtkTreeModelIface, instead of in each model.
2070
2071 2001-02-21  Havoc Pennington  <hp@redhat.com>
2072
2073         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
2074         unbreak this function
2075
2076         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
2077         properties
2078
2079         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
2080         properties
2081
2082         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
2083         properties
2084
2085         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
2086         mean unset the max length
2087
2088 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
2089
2090         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
2091         Changed name to be set_cell_data_func to make it clear what
2092         the functino does.  Close bug #51069.
2093
2094 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
2095
2096         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
2097         have memory actually freed.  Keeps box running longer.
2098
2099 2001-02-21  Alexander Larsson  <alexl@redhat.com>
2100         
2101         * gtk/gtkseparatormenuitem.[ch]:
2102         Added new menu separator item. The drawing and size handling
2103         is still done in GtkMenuItem, but the API is a bit more sane.
2104         
2105         * gtk/Makefile.am:
2106         Add gtkseparatormenuitem.[ch].
2107
2108         * gtk/gtk.h:
2109         Add gtkseparatormenuitem.h.
2110         
2111         * gtk/gtkentry.c:
2112         * gtk/gtkmenufactory.c:
2113         * gtk/gtktextview.c:
2114         Use the new API for menu separators.
2115         
2116         * demos/gtk-demo/menus.c (create_menu):
2117         Add some GtkSeparatorMenuItem demo code.
2118
2119 2001-02-20  Havoc Pennington  <hp@redhat.com>
2120
2121         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
2122         Lee Mallabone
2123
2124         * gtk/gtkarrow.c: Convert to new property API, patch from 
2125         Lee Mallabone
2126
2127 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
2128
2129         * tests/testtreeview.c (toggled_callback): fix to reflect change
2130         in GtkTreeModelStore.
2131
2132 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
2133
2134         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
2135         function to create an icon set from a pixbuf.
2136
2137 2001-02-20  Alexander Larsson  <alexl@redhat.com>
2138
2139         * gtk/gtkcellrenderertext.[ch]:
2140         Add a "markup" property.
2141
2142         * gtk/treestoretest.c:
2143         Use the markup property, remove some leftover stuff from
2144         GtkTreeModelMapping.
2145
2146 2001-02-20  Alexander Larsson  <alexl@redhat.com>
2147
2148         * gtk/gtklabel.c (gtk_label_set_selectable):
2149         Queue a redraw if the selectable setting was changed.
2150
2151 2001-02-20  Alexander Larsson  <alexl@redhat.com>
2152
2153         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
2154         Actually copy the whole gc, not just the public parts.
2155         
2156         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
2157         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
2158         labels.
2159
2160 2001-02-19  Havoc Pennington  <hp@pobox.com>
2161
2162         * gdk/gdkwindow.c: docs
2163
2164         * gdk/gdkrgb.c: docs
2165
2166         * gdk/gdkregion-generic.c: docs
2167
2168         * gdk/gdkgc.c (gdk_gc_set_values): docs
2169
2170         * gdk/gdkdraw.c: docs
2171
2172         * gdk/gdkdrawable.h: deprecate drawable get/set data
2173
2174 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
2175
2176         * demos/gtk-demo/dialog.c: Add simple new demo.
2177
2178 2001-02-19  Havoc Pennington  <hp@redhat.com>
2179
2180         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
2181         insert_child_anchor signal, bug #50245
2182
2183         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
2184         from create_child_anchor, so the anchor is passed in
2185
2186         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
2187         (_gtk_widget_segment_new): have the child anchor object passed in, 
2188         instead of creating it.
2189
2190         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
2191         to gtk_text_buffer_get_modified
2192
2193 2001-02-19  Havoc Pennington  <hp@redhat.com>
2194
2195         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
2196         changed GLib without fixing GTK
2197
2198         * gtk/gtkrange.h: Rename all the stupid implementation detail 
2199         functions to have an underscore in front. Most of them should 
2200         probably just go away, but for starters don't export them.
2201         Bug #50482
2202
2203 2001-02-19  Havoc Pennington  <hp@redhat.com>
2204
2205         * gdk/gdkcolor.h: test was backward, so deprecated functions were
2206         excluded by default
2207
2208         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
2209         clean up the old code a bit
2210
2211         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
2212         inconsistent state
2213
2214         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
2215         draw inconsistent state
2216
2217         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
2218         (create_menu): add inconsistent test
2219
2220         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
2221         new function
2222         (gtk_check_menu_item_get_inconsistent): new function
2223         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
2224         state (using etched in for now)
2225
2226         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
2227         draw inconsistent state
2228
2229         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
2230         function, used when the user has selected a range of stuff in
2231         different states
2232         (gtk_toggle_button_get_inconsistent): accessor for that
2233         (gtk_toggle_button_paint): draw inconsistent state (etched in?
2234         don't know what else to do)
2235
2236 2001-02-19  Hans Breuer <hans@breuer.org>
2237
2238         * gtk/gtk.def : updated exported symbols
2239
2240         * gtk/makefile.msc.in : updated
2241
2242         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
2243         a colormap, when invoked from testgtk::entry. I'm not sure where
2244         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
2245         avoids immediate crashing ...
2246
2247         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
2248         any objections ?
2249
2250         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
2251         0 parameter. At least msvc doesn't like macros with var args. 
2252         I simply removed the extra 0, was it a feature or a typo ?
2253
2254         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
2255         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
2256         because the value assignment to the internal struct wasn't working.
2257         I'm not absolutely sure. The problem could have been resolved by
2258         changing the "func" declartion in the struct, but was the pointer
2259         to the function pointer intended ?
2260
2261         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
2262
2263         * gdk/gdk.def : updated exported symbols
2264
2265         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
2266         only use SetDIBitsToDevice if there is a palette at the drawable
2267         and the image is GDK_VISUAL_PSEUDO_COLOR
2268
2269         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
2270
2271         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
2272
2273         * gdk/*/makefile.msc : updated
2274
2275 2001-02-19  Havoc Pennington  <hp@redhat.com>
2276
2277         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
2278         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
2279
2280         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
2281         (gdk_key_repeat_restore): nuke
2282
2283         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
2284         (gdk_init_check): no atexit func
2285
2286         * gdk/gdkrgb.h: mark some stuff deprecated
2287
2288         * gdk/gdkcolor.h: mark some stuff deprecated
2289         
2290         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
2291
2292         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
2293
2294 2001-02-16  Havoc Pennington  <hp@redhat.com>
2295
2296         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
2297         scroll steps.
2298
2299         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
2300         steps, and add Ctrl-arrow shortcuts for paging visually as with
2301         HScale, since Page Up and Page Down move logically.
2302
2303         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
2304         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
2305         
2306         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
2307         steps
2308         (gtk_range_scroll): handle the visual steps
2309
2310         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
2311         scroll steps
2312
2313         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
2314         steps, not the logical ones.
2315
2316         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
2317         (scroll_vertical): handle up/down steps
2318
2319 2001-02-19 Alexander Larsson  <alexl@redhat.com>
2320
2321         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
2322         Copy data and free data with free().
2323
2324         * gdk-pixbuf/gdk-pixbuf.c:
2325         * gdk-pixbuf/io-jpeg.c:
2326         * gdk-pixbuf/io-png.c:
2327         Use g_try_malloc/g_free instead malloc/free.
2328         
2329         * gdk-pixbuf/test-gdk-pixbuf.c:
2330         Must... initialize... gobject...
2331         
2332         * gdk-pixbuf/pixops/timescale.c:
2333         * gtk/gtkcalendar.c:
2334         Use g_malloc instead of malloc.
2335         
2336 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
2337
2338         * gtk/testgtkrc:
2339         Comment out property assignments, these don't work yet.
2340
2341 2001-02-17  Havoc Pennington  <hp@pobox.com>
2342
2343         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
2344         bit.
2345
2346 2001-02-17  Havoc Pennington  <hp@pobox.com>
2347
2348         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
2349         shadowed variables that had broken size request in some cases,
2350         leading to bogus tooltips (#50996)
2351
2352 2001-02-06  Jon K Hellan  <hellan@acm.org>
2353
2354         Implement fast browsing of tooltips, bug #50619
2355         
2356         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
2357         and last_popdown
2358         
2359         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
2360         use_sticky_delay and last_popdown.
2361         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
2362         time of popdown.
2363         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
2364         is NULL.
2365         (gtk_tooltips_recently_shown): New static function.  Return true
2366         if < sticky_delay has elapsed since last popdown.
2367         (gtk_tooltips_event_handler): Display window after sticky_delay
2368         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
2369         since last popdown.
2370         
2371 2001-02-17  Havoc Pennington  <hp@pobox.com>
2372
2373         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
2374         instead of (). #6394
2375
2376         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
2377         G_CONST_RETURN, make it return by reference, #50473
2378         
2379 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
2380
2381         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
2382         generated ENTER_NOTIFY event with 0, otherwise not explicitely
2383         setup fields contain garbage (e.g. subwindow, breaking
2384         gdk_drawable_ref() upon event copy).
2385         (gtk_menu_stop_navigating_submenu_cb): same here.
2386
2387         * gtk/gtklist.c (gtk_list_vertical_timeout): 
2388         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
2389         * gtk/gtkclist.c (vertical_timeout): 
2390         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
2391         default-zero-intialization for unions to memset(,0,), as unions are
2392         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
2393         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
2394
2395         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
2396         g_closure_sink() warning.
2397
2398         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
2399         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
2400         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
2401         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
2402         
2403 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
2404
2405         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
2406         gtk_*_store_get, and moved to GtkTreeModel.
2407
2408         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
2409
2410         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
2411
2412         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
2413
2414         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
2415         set the func.
2416
2417         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
2418         freeze/thaw notify between setting all the properties for a cell.
2419
2420         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
2421
2422 2001-02-15  Havoc Pennington  <hp@redhat.com>
2423
2424         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
2425         the X coordinates so they're with respect to the line, rather than 
2426         with respect to the layout.
2427
2428         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
2429         Mallabone
2430
2431         * gtk/testgtk.c (create_range_controls): add vscale tests, 
2432         and inverted test
2433
2434         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
2435         #50806
2436
2437         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
2438
2439         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
2440         gtk_text_iter_is_end
2441
2442         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
2443         rename gtk_text_buffer_get_end_iter
2444
2445         * gtk/testgtk.c (create_labels): Add test for selectable
2446
2447         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
2448         the selection stuff. This code is kind of broken since it doesn't 
2449         use the theme engine.
2450
2451         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
2452         fix infinite loop and y offset problem
2453         (gdk_draw_layout_line_with_colors): fix foreground color handling
2454
2455         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
2456         that makes the label selectable.
2457         
2458         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
2459         layout when the style is set, since fonts etc. could have changed.      
2460
2461 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
2462
2463         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
2464
2465         * gtk/gtktreemodelsimple.[ch]: removed.
2466
2467 2001-02-16  Alexander Larsson  <alexl@redhat.com>
2468
2469         * gtk/gtktreemodelmapping.[ch]:
2470         New files. Implement GtkTreeModelMapping.
2471         
2472         * gtk/Makefile.am:
2473         Add gtktreemodelmapping.[ch].
2474         
2475         * gtk/gtk.h:
2476         Add gtktreemodelmapping.h
2477
2478         * gtk/treestoretest.c:
2479         Test the GtkTreeModelMapping
2480
2481 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
2482
2483         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
2484         have a demo, we might as well pass in real values.  Thanks to
2485         clahey for pointing this out.
2486
2487 2001-02-14  Havoc Pennington  <hp@pobox.com>
2488
2489         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
2490         "static" to a private function
2491         (gtk_image_menu_item_class_init): remove destroy handler,
2492         add "image" object property
2493
2494 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
2495
2496         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
2497         Add a shortcut if the window and the current clip_region doesn't
2498         overlap. This is needed when there are a lot of windows in a
2499         window. The layout test in testgtk is a good test.
2500
2501         * gdk/linux-fb/gdkwindow-fb.c:
2502         Whitespace fix.
2503
2504 2001-02-13  Sven Neumann  <sven@convergence.de>
2505
2506         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
2507
2508 2001-02-13  Alexander Larsson  <alexl@redhat.com>
2509
2510         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
2511         Don't reference last_cursor if it is null. Fixes crash when rotating
2512         the screen before having moved the mouse.
2513
2514         * gdk/linux-fb/gdkcc-fb.c: Zapp!
2515
2516         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
2517
2518         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
2519         when using 90 or 270 degrees rotation.
2520
2521 2001-02-12  Havoc Pennington  <hp@pobox.com>
2522
2523         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
2524         it always set the foreground, even if we were only using
2525         a stipple.
2526         (gdk_draw_layout_line_with_colors): new function, allow
2527         override colors
2528         (gdk_draw_layout_with_colors): new function, allow override
2529         colors
2530         (gdk_pango_layout_line_get_clip_region): function to get the clip
2531         region for a logical text range
2532         (gdk_pango_layout_get_clip_region): get the clip region for a
2533         logical text range
2534
2535         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
2536         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
2537         the right number of arguments.
2538
2539         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
2540         enhance the function to check that node data corresponds to a 
2541         view still belonging to the tree.
2542
2543         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
2544         GtkTreePath
2545         (gtk_tree_view_inserted): ditto
2546         (gtk_tree_view_child_toggled): ditto
2547
2548         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
2549         simplify this code.
2550
2551         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
2552         a PangoAttrList
2553
2554         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
2555
2556         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
2557
2558         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
2559         size in the size request 
2560         (gtk_menu_bar_size_allocate): consider toggle size here
2561
2562         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
2563         that displays a widget in the toggle slot
2564
2565         * gtk/testgtk.c: test GtkImageMenuItem
2566
2567         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
2568         
2569         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
2570         request and allocation
2571
2572         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
2573
2574         * gtk/gtkcheckmenuitem.c
2575         (gtk_check_menu_item_toggle_size_request): ditto
2576         
2577 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
2578
2579         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
2580         reference.
2581
2582         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
2583         and refuse to initialize GTK+ if they fail.
2584
2585 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
2586
2587         * configure.in: Add check for gtk-doc version.
2588
2589 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
2590
2591         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
2592         where the xpad/ypad was only being used on one side!
2593
2594 2001-02-11  Tor Lillqvist  <tml@iki.fi>
2595
2596         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
2597         function, copied from X11 version.
2598
2599         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
2600         DestroyCursor failures. The reason for the problem (despite the
2601         inconsistent messages from GetLastError()) was that
2602         DestroyCursor() cannot be called while a cursor is set in a
2603         window. Set the new cursor first and then destroy the old one.
2604         Thanks to jpe@archaeopteryx.com.
2605
2606         * gdk/win32/gdkcc-win32.c: Remove.
2607
2608         * gdk/win32/Makefile.am: Remove from here, too.
2609         
2610         * gdk/gdk.def
2611         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
2612
2613         * gtk/gtk.def
2614         * gtk/makefile.mingw.in: Updates.
2615
2616 2001-02-08  Havoc Pennington  <hp@redhat.com>
2617
2618         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
2619         add a widget to a bin that already has a child.
2620
2621         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
2622
2623         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
2624         
2625         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
2626
2627         * gdk/gdk.h: remove gdkcc.h
2628
2629         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
2630
2631         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
2632         GdkPixbuf, since the previous implementation was GdkColorContext
2633         dependent.
2634
2635         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
2636         
2637 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
2638
2639         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
2640         a sane value!
2641
2642 2001-02-08  Havoc Pennington  <hp@redhat.com>
2643
2644         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
2645         lighten them.
2646
2647 2001-02-08  Havoc Pennington  <hp@redhat.com>
2648
2649         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
2650         validation idle
2651
2652         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
2653         cell renderer
2654
2655         * demos/pixbuf-demo.c (timeout): remove deprecated
2656         gtk_widget_draw
2657
2658         * demos/testpixbuf-save.c (main): remove deprecated
2659         gtk_drawing_area_size
2660
2661         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
2662         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
2663         at the start of the allocation.
2664         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
2665         unsetup or NULL model.
2666
2667         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
2668         even/odd/sorted cells in the tree view.
2669
2670         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
2671         bugfixes
2672
2673         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
2674         backgrounds with draw_flat_box using different detail for even/odd
2675         rows.
2676
2677         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
2678         row, so we can draw the alternating colors thing
2679
2680         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
2681         property from a synonym property, notify for the synonym.
2682         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
2683         (gtk_text_tag_get_property): Always return the font, even if
2684         all its fields aren't set
2685
2686         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
2687         store the attr list; it leaves us with no way to change attributes
2688         in _render according to the render flags, and no way to implement
2689         get_property. Instead store all the specific text attributes. 
2690         Separate whether an attribute is enabled from its value. Sync all
2691         properties with GtkTextTag, make them all consistent, etc.
2692
2693         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
2694         renderers can highlight the sort row/column     
2695
2696         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
2697         accessor functions to get values; this has the side effect of
2698         showing up which accessor functions were missing. Added those.
2699
2700         * gtk/gtktreeviewcolumn.h: Replace set_justification with
2701         set_alignment, to be consistent with GtkLabel, GtkMisc
2702
2703         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
2704         arrow.
2705
2706         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
2707
2708         * gtk/gtktreesortable.h: updates in here
2709
2710 2001-02-07  Sven Neumann  <sven@convergence.de>
2711
2712         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
2713         pango dimensions after painting the background. We used to draw
2714         gigantic flat boxes here.
2715
2716 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
2717
2718         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
2719         error introduced with earlier commit) (pointed out by
2720         Ollie Lho)
2721
2722 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
2723
2724         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
2725         which are no longer necessary.
2726
2727 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
2728
2729         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
2730
2731 2001-02-04  Tor Lillqvist  <tml@iki.fi>
2732
2733         * gdk/gdk.def
2734         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
2735         Provide dummy implementations.
2736
2737 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
2738
2739         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
2740
2741         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
2742         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
2743         deprecated this function.
2744
2745         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
2746         argument.
2747
2748 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
2749
2750         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
2751
2752 2001-02-03  Havoc Pennington  <hp@pobox.com>
2753
2754         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
2755         Mikael Hermansson with patch from Mikael (if there was a toggle
2756         start one after the first character in the range, this function
2757         was broken). Bug #50380
2758
2759 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
2760
2761         * configure.in: Remove confusing comment about X11.
2762
2763 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
2764
2765         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
2766         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
2767         
2768 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
2769
2770         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
2771         it breaks things on BSD. If you want to compile GTK+ with
2772         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
2773         when configuring, since GTK+ simply can't be "pure ANSI" 
2774         in the header files it uses. (#8170, Greg Hudson)
2775
2776 2001-02-02  Havoc Pennington  <hp@redhat.com>
2777
2778         * gtk/gtkwindow.c: docs
2779
2780         * gtk/gtkwidget.c: docs
2781         (gtk_widget_set_colormap): add a reference to the colormap
2782         (gtk_widget_get_default_colormap): add a reference to the colormap
2783
2784         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
2785
2786         * gtk/gtktextiter.c: docs
2787
2788         * gtk/gtkmain.c (gtk_propagate_event): docs
2789
2790         * gtk/gtkpaned.c (gtk_paned_get_position): docs
2791         (gtk_paned_set_position): docs
2792
2793         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
2794         sort interface, no implementation yet.
2795
2796         * demos/testpixbuf.c (new_testrgb_window): replace
2797         gtk_drawing_area_size() with gtk_widget_set_usize()
2798
2799         * demos/testpixbuf-drawable.c (main): ditto
2800         
2801         * gtk/testgtk.c: remove use of GtkStatusbarMsg
2802
2803         * gtk/gtktextbuffer.c: docs
2804
2805         * gtk/gtkstock.c: docs
2806
2807         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
2808
2809         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
2810
2811         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
2812         
2813         * gtk/gtkimage.c: add some docs in here
2814         (gtk_image_size_request): change name of
2815         gtk_widget_render_stock_icon
2816         (gtk_image_get_icon_set): don't dup returned string
2817         (gtk_image_get_icon_set): don't dup returned string
2818
2819         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
2820         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
2821         and gtkiconfactory.h functions
2822
2823         * gtk/gtkiconfactory.c: add some docs in here
2824
2825         * gtk/gtkmain.c (gtk_get_default_language): document
2826         (gtk_get_current_event): document
2827         (gtk_get_current_event_state): document
2828         (gtk_get_event_widget): document
2829
2830         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
2831
2832         * gtk/gtkcontainer.c: Add some documentation
2833         (gtk_container_add): give a more explanatory warning on adding an
2834         already-parented widget, this is kind of a FAQ and also a common
2835         typo that's easier to debug with a nice warning 
2836
2837         * gtk/gtkcellrenderertoggle.c
2838         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
2839         adding this, it's useless
2840         (gtk_cell_renderer_toggle_set_active): remove
2841         (gtk_cell_renderer_toggle_get_radio): add
2842
2843         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
2844         the NULL cell renderer, that doesn't make any sense to me. 
2845
2846         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
2847         demo code should never use deprecated features.
2848
2849         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
2850         code should never use deprecated features.
2851
2852         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
2853         gtk_widget_queue_clear_area deprecated
2854
2855         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
2856         deprecated
2857
2858         * gtk/gtklabel.h: mark gtk_label_get() deprecated
2859
2860         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
2861         a GdkImage deprecated, replaced by new consistently-named
2862         functions       
2863
2864         * gtk/gtkmain.h: Mark gtk_exit() deprecated
2865
2866         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
2867
2868         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
2869         deprecated
2870
2871         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
2872         so it won't appear in docs and confuse people.
2873
2874         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
2875
2876         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
2877         macros deprecated. (can't mark the type itself deprecated, since
2878         GtkProgressBar is not deprecated and we need the type decl to use
2879         GtkProgressBar)
2880
2881         * gtk/gtkpixmap.h: Mark deprecated
2882
2883         * gtk/gtkoldeditable.h: Mark deprecated
2884
2885         * gtk/gtklist.h: Mark deprecated
2886
2887         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
2888         for anything anymore.
2889
2890         * gtk/gtkctree.h: Mark deprecated
2891
2892         * gtk/gtkclist.h: Mark deprecated
2893
2894         * gtk/gtkpreview.h: Mark deprecated
2895
2896         * gtk/gtkpacker.h: Mark deprecated
2897
2898         * gtk/gtktipsquery.h: Mark deprecated
2899
2900         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
2901
2902         * gtk/gtkvruler.h: Add comment that it will move out of GTK
2903
2904         * gtk/gtkhruler.h: Add comment that it will move out of GTK
2905
2906         * gtk/gtkruler.h: Add comment that it will move out of GTK
2907
2908         * gtk/gtkgamma.h: Add comment that it will move out of GTK
2909
2910         * gtk/gtkcurve.h: Add comment that it will move out of GTK
2911
2912 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
2913
2914         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
2915         gdk_colormap_sync private since it was never exported
2916         in a header file.
2917
2918         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
2919         colormap->colors[] for StaticGray, StaticColor colormaps.
2920
2921         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
2922         was being used as if it was image->bits_per_pixel.
2923
2924         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
2925         for the image in the GdkImage structure since it isn't
2926         reconstructable, and we need it to handle packed types
2927
2928         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
2929         the assumption that on Win32 image->bits_per_pixel == image->depth,
2930         always.
2931
2932         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
2933
2934         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
2935         warning message if no converter can be found. 
2936
2937 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
2938
2939         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
2940         chars to isupper() / tolower(). (#567)
2941
2942         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
2943         to clear up 64-bit warnings. (#567)
2944
2945 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
2946
2947         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
2948         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
2949
2950         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
2951         since some people set $(libdir) separately. (#1290, David Kaelbling)
2952
2953 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
2954
2955         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
2956         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
2957         MAXPATHLEN, but the code here depends on a fixed value.)
2958         (#4524)
2959
2960 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
2961
2962         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
2963         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
2964
2965 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
2966
2967         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
2968         viewable there is no way that moving the node will cause the 
2969         focus row to become not viewable, so omit check on the visibility
2970         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
2971
2972 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
2973
2974         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
2975         selection before inserting new text.
2976
2977 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
2978
2979         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
2980         Make the sensitivity of the reparented child track that of
2981         the original parent menu item. (#34218, David Hodson)
2982
2983         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
2984         the case where the current item is destroyed properly.
2985
2986         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
2987         some edge cases with child-less menuitems.
2988         
2989 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
2990
2991         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
2992         key pop down window. (#12074, Jon K Hellan)
2993
2994 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
2995
2996         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
2997         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
2998         The solution here isn't perfect - you get an extraneous
2999         emission of "toggle", which could conceivably confuse an app,
3000         but better than the current situation. LXR search seems to
3001         indicate that no apps in GNOME CVS connect to "toggle".
3002
3003 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
3004
3005         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
3006         gtk_public_h_sources to directly here to avoid warning when
3007         building srcdir != builddir. (#9656)
3008
3009 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
3010
3011         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
3012         handlers in gtkrange.c return the proper values (TRUE == handled)
3013         (#10316).
3014
3015         This is just the tip of the iceberg, but gtkrange.c is the
3016         most common place where the propagation is problematical,
3017         and also a place where it is almost certainly safe to change
3018         this in the stable branch.
3019
3020         (You don't want right click popups on a range control or anything...)
3021
3022 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
3023
3024         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
3025         area on focus out, even if a background pixmap isn't set.
3026         (#13941)
3027         
3028 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
3029
3030         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
3031         to deal with setting the shape properly when scrolling arrows are
3032         turned on, but not visible because there is sufficient space.
3033         (#13432)
3034
3035 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
3036
3037         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
3038         items with submenus, destroy the item along with the submenu.
3039         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
3040         properly.
3041
3042         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
3043         later.
3044
3045 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
3046
3047         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
3048         the focus widget sometimes wasn't drawn with the default if there
3049         was no default widget.
3050
3051         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
3052         unreference pixmaps. 
3053
3054         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
3055         for some extra safety.
3056
3057 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
3058
3059         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
3060         the text of a cell to the old pointer value better, by
3061         copying the new text before freeing the old text. Some code
3062         cleanup. (#8079, Karl Nelson)
3063
3064 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
3065
3066         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
3067         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
3068
3069 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
3070
3071         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
3072         item from a menu, check to see if it matches 
3073         menu->old_active_menu_item, and if so, unref and clear
3074         old_active_menu_item (Patch from Pavel Cisler)
3075
3076         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
3077         menu_shell->active_menu_item, if it is the child being
3078         removed. (Patch based on that of Gene Ragan, #50337)
3079
3080 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
3081
3082         * gdk/linux-fb/gdkselection-fb.c: 
3083         * gdk/linux-fb/gdkcolor-fb.c: 
3084         * gdk/linux-fb/gdkdrawable-fb2.c: 
3085         * gdk/linux-fb/gdkfont-fb.c: 
3086         * gdk/linux-fb/gdkim-fb.c: 
3087         * gdk/linux-fb/gdkinput.c: 
3088         * gdk/linux-fb/gdkkeyboard-fb.c: 
3089         * gdk/linux-fb/gdkmain-fb.c: 
3090         * gdk/linux-fb/gdkrender-fb.c: 
3091         A bunch of whitespace cleanup.
3092         
3093 2001-01-30  Havoc Pennington  <hp@pobox.com>
3094
3095         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
3096         #ifdef GTK_ENABLE_BROKEN.
3097
3098         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
3099         GTK_ENABLE_BROKEN just before including the broken headers.
3100         
3101         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
3102         deprecated types registered.
3103
3104         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
3105         we have to test the broken stuff.
3106
3107         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
3108         
3109 2001-01-30  Havoc Pennington  <hp@redhat.com>
3110
3111         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
3112         here where prev pointer was set to the wrong thing
3113
3114         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
3115         (gtk_tree_path_is_descendant): new function
3116
3117         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
3118         cached length
3119         (gtk_list_store_get_iter): don't modify iter if we can't get the
3120         path.
3121
3122         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
3123         
3124         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
3125         GtkTreeDragDest
3126
3127         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
3128         was causing segfault
3129
3130         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
3131         pointer to NULL
3132
3133         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
3134
3135         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
3136         on returning FALSE
3137         (gtk_list_store_iter_children): ditto
3138         (gtk_list_store_iter_nth_child): ditto
3139         (gtk_list_store_iter_nth_child): ditto
3140         (gtk_list_store_iter_parent): ditto
3141
3142         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
3143         on iter->user_data != NULL instead of silently accepting it.
3144         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
3145         we are returning TRUE.
3146         (gtk_tree_store_iter_children): ditto
3147         (gtk_tree_store_iter_nth_child): ditto
3148         (gtk_tree_store_iter_parent): ditto
3149         (gtk_tree_store_insert): remove handling of parent->user_data ==
3150         NULL, replace with parent == NULL       
3151
3152         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
3153         and a comment explaining things
3154
3155         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
3156         interface support to GtkTreeStore.
3157
3158         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
3159         FALSE if no prev, fix
3160
3161         * gtk/gtktreeview.c (set_source_row): use a row reference
3162         (set_dest_row): use a row reference
3163
3164 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
3165
3166         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
3167         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
3168         (gtk_tree_selection_select_iter): The same as above.
3169
3170 2001-01-26  Havoc Pennington  <hp@redhat.com>
3171
3172         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
3173         which holds a handle to a specific row (particular set of values
3174         in the model, i.e. pointer-identity row).
3175
3176         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
3177         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
3178         Still need to use it for the src/dest row saved on the drag context.
3179
3180 2001-01-26  Havoc Pennington  <hp@redhat.com>
3181
3182         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
3183
3184         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
3185         not offset by TREE_VIEW_HEADER_HEIGHT
3186         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
3187         TREE_VIEW_HEADER_HEIGHT
3188
3189         * configure.in (included_loaders): for me, --with-included-loaders
3190         generates the error "the specified loader yes does not exist",
3191         i.e. the arg defaults to "yes", so change test for value ""
3192         to test for value "yes", and include all loaders in that case.
3193
3194         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
3195
3196         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
3197         handle TREE_VIEW_VERTICAL_SEPARATOR
3198         (gtk_tree_view_bin_expose): fix to consider the row offset as
3199         pointing halfway into vertical separator.       
3200         (gtk_tree_view_draw_node_focus_rect): ditto
3201
3202         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
3203         --gtk-debug=updates, which causes gdk_window_set_debug_updates
3204         (TRUE) to be called.
3205
3206         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
3207         debug mode where the invalid region is colored in on invalidate,
3208         so you can see the flicker and know whether your redraw code is 
3209         doing a good job.
3210
3211         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
3212         tree window coordinates (clip rect is in tree window coords)
3213
3214         * gtk/Makefile.am: add gtktreednd.[hc]
3215
3216         * gtk/gtkliststore.c: implement gtktreednd interfaces.
3217
3218         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
3219         drag-and-drop data operations on a model (so we can set up tree
3220         drag-and-drop automatically)
3221
3222         * gtk/testgtk.c: Add a window to change sensitivity in the
3223         GtkLabel test; add a way to change the entry frame in GtkEntry
3224         test
3225
3226         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
3227         (gtk_entry_get_has_frame): new functions to remove the frame
3228         around an entry
3229         (gtk_entry_size_request): shrink requisition if no frame
3230         (gtk_entry_draw_focus): don't draw frame if no frame
3231
3232         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
3233         checks inside a cell renderer
3234         (gtk_default_draw_option): ditto for options
3235
3236         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
3237         children from the alignment, not the button
3238         (gtk_tree_view_column_init): ref/sink the column, to emulate
3239         GObject refcounting.
3240
3241         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
3242         
3243         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
3244         Use theme functions to draw the toggles 
3245
3246         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
3247
3248         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
3249         GdkPangoAttrEmbossed to use in rendering insensitive text
3250
3251         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
3252
3253         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
3254         using new GDK features
3255         
3256 2001-01-24  Alexander Larsson  <alexl@redhat.com>
3257
3258         * gtk/gtkimage.c:
3259         Splitted gtk_image_clear into gtk_image_clear() and
3260         gtk_image_reset(). Call gtk_image_clear() in ::destroy
3261         to avoid leaks.
3262
3263         * gtk/gtklabel.c (set_markup):
3264         Don't leak text.
3265
3266         * gtk/gtktextlayout.c:
3267         Always free display->shaped_objects.
3268
3269         * gtk/testgtk.c (create_clist):
3270         Don't leak custom style.
3271
3272 2001-01-23  Alexander Larsson  <alexl@redhat.com>
3273
3274         * gtk/gtkcolorsel.c (grab_color_at_mouse):
3275         Don't leak image. Simplify using gdk_colormap_query_color().
3276         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
3277
3278         * linux-fb/gdkcolor-fb.c:
3279         Implemented gdk_colormap_query_color.
3280
3281 2001-01-23  Alexander Larsson  <alexl@redhat.com>
3282
3283         * linux-fb/gdkcursor-fb.c:
3284         Don't leak built-in cursors.
3285
3286         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
3287         Don't leak tmp_points.
3288
3289         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
3290         Don't modify desc. Don't leak font if the PangoFont
3291         isn't found.
3292         
3293         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
3294         Free dash_list.
3295
3296         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
3297         Don't leak string.
3298         
3299 2001-01-20  Havoc Pennington  <hp@pobox.com>
3300
3301         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
3302         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
3303         me, matches Pango
3304
3305 2001-01-22  Havoc Pennington  <hp@redhat.com>
3306
3307         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
3308
3309         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
3310
3311         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
3312         Remove, move back to gdk-pixbuf
3313
3314         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
3315         to all the word functions
3316
3317         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
3318         before doing anything on NULL layout or if we don't have the focus
3319
3320         * gtk/testtext.c (fill_example_buffer): "justification"
3321
3322         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
3323         to be called "justification" not "justify"
3324
3325         * demos/gtk-demo/textview.c (create_tags): "justification"
3326         
3327         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
3328
3329 2001-01-22  Alexander Larsson  <alexl@redhat.com>
3330
3331         * gdk/gdkwindow.c (gdk_window_invalidate_region):
3332         Don't leak visible_region. Use visible_region instead of region.
3333         
3334         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
3335         Don't do extra gdk_drawable_ref(). This is not X.
3336         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
3337         gdk_fb_focused_window is ref:ed.
3338         (gdk_fb_window_send_crossing_events): Watch out for destroyed
3339         windows.
3340
3341 2001-01-22  Alexander Larsson  <alexl@redhat.com>
3342
3343         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
3344         Don't leak the PangoFontDescriptor.
3345
3346 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
3347
3348         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
3349         when not realized.
3350         (gtk_tree_view_scroll_to_cell): Make work when not realized.
3351         (gtk_tree_view_realize): add scroll_to support
3352         (gtk_tree_view_finalize): add a finalize method.  Populate.
3353         (gtk_tree_view_insert_column): ref and sink the column.
3354         (gtk_tree_view_append_column): ref and sink the column.
3355         (gtk_tree_view_queue_draw_node): New function to handle redrawing
3356         individual nodes.  Should make the code much more efficient, if
3357         actually used.
3358
3359 2001-01-19  Havoc Pennington  <hp@redhat.com>
3360
3361         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
3362         byte_offset variable was being used to mean both "offset into
3363         layout" and "offset into buffer line" which was no longer true
3364         with addition of preedit string; fix
3365
3366 2001-01-19  Havoc Pennington  <hp@redhat.com>
3367
3368         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
3369
3370         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
3371         function
3372
3373         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
3374         implement
3375
3376         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
3377         scroll_to_cell, matches TextView scroll functions better
3378         (gtk_tree_view_tree_to_widget_coords): new function
3379         (gtk_tree_view_widget_to_tree_coords): new function
3380         (gtk_tree_view_get_visible_rect): new function
3381         (gtk_tree_view_get_path_at_pos): accept negative coordinates
3382         (gtk_tree_view_draw_node_focus_rect): new function moved from
3383         draw_focus, also, use width of bin_window as width of the focus
3384         rect
3385         (gtk_tree_view_expand_row): fix bug where it didn't recognize
3386         already-expanded rows
3387         (gtk_tree_view_get_cell_rect): new function
3388         (gtk_tree_view_get_path_at_pos): return the click position
3389         relative to the passed-in cell
3390         (gtk_tree_view_set_expander_column): new function
3391
3392         * configure.in: remove gtk-config-2.0 chmod
3393
3394         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
3395         and properly handle drags with targets we don't understand
3396         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
3397         scrolling anyway
3398         (gtk_text_view_drag_drop): stop scrolling here though, and set the
3399         mark invisible
3400
3401         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
3402         function
3403         (gtk_drag_dest_get_target_list): new function
3404         (gtk_drag_dest_set_target_list): new function
3405         
3406         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
3407
3408         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
3409         related to drag-and-drop
3410
3411 2001-01-19  Alexander Larsson  <alexl@redhat.com>
3412
3413         * gdk/linux-fb/gdkprivate-fb.h:
3414         Define EMULATE_GDKFONT.
3415         Add extra pango_font stuff to GfkFontPrivate.
3416         
3417         * gdk/linux-fb/gdkdrawable-fb2.c:
3418         * gdk/linux-fb/gdkfont-fb.c:
3419         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
3420         emulation using PangoFont.
3421
3422 2001-01-17  Havoc Pennington  <hp@pobox.com>
3423
3424         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
3425         all the non-deprecated set_foo functions. Added missing object
3426         properties, and added g_object_notify() to setters. 
3427         Wrote docs.
3428         
3429 2001-01-18  Tor Lillqvist  <tml@iki.fi>
3430
3431         * gtk/gtkmain.c
3432         * gtk/gtkrc.c: (Win32) Use the new
3433         g_win32_get_package_installation_(sub)directory() functions.
3434
3435         * config.h.win32.in: New file.
3436         
3437         * config.h.win32: Removed.
3438
3439         * configure.in: Output config.h.win32.
3440
3441         * Makefile.am: Add it to EXTRA_DIST.
3442
3443         * gtk/gtk.def: Update.
3444
3445 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
3446
3447         * gtk/gtklabel.c (gtk_label_size_request): Set the
3448         attributes onto the PangoLayout even if they are newly
3449         created from label->pattern.
3450
3451 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
3452
3453         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
3454
3455         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
3456         structures in functions. Fixes bug where gtk_dataset_*
3457         was accidentally still being used in one place, causing
3458         every dest side event to be treated independently.
3459
3460         * gtk/gtkdnd.c: Remove last vestages of handling
3461         ::draw (fixes warning)
3462         
3463         * gtk/gtkentry.[ch]: Add drag and drop support.
3464
3465         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
3466         new function gtk_check_drag_threshhold() for checking
3467         to check if (dx,dy) has exceeded the threshhold for starting
3468         a drag and use it everywhere.
3469
3470 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
3471
3472         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
3473         add -I{includedir}/gtk-2.0.
3474
3475         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
3476         gdk/gdk-pixbuf.h: Doc fixups.
3477         
3478         * gtk/gtkobject.h: Remove trailing , from enum
3479
3480 2001-01-17 Alexander Larsson <alexl@redhat.com> 
3481
3482         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
3483         Doh! Mixed up x and y.
3484
3485         * gdk/linux-fb/gdkglobals-fb.c:
3486         Removed gdk_fb_pointer_grab_window_events,
3487         added _gdk_fb_pointer_grab_owner_events and
3488         _gdk_fb_keyboard_grab_owner_events.
3489
3490         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
3491         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
3492         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
3493         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
3494         Send crossing events after ungrab finished.
3495         (gdk_keyboard_grab): Set ..._owner_events
3496         (type_masks): Move out of function.
3497         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
3498         gdk_fb_keyboard_event_window): New functions, return the
3499         window an event should be targeted at. Handles grabs and
3500         event propagation. Can return NULL.
3501         (gdk_event_make): Remove event_mask checking. Now always
3502         returns an event.
3503                 
3504         * gdk/linux-fb/gdkkeyboard-fb.c:
3505         * gdk/linux-fb/gdkproperty-fb.c:
3506         * gdk/linux-fb/gdkselection-fb.c:
3507         Use new event_window/gdk_event_make() behaviour.
3508         
3509         * gdk/linux-fb/gdkmouse-fb.c:
3510         Use new event_window/gdk_event_make() behaviour.
3511         Only send motion events if in the same window.
3512         If grabbed, use cursor from window if sibling of grabbed
3513         window, and cursor from grabbed window otherwise.
3514
3515         * gdk/linux-fb/gdkprivate-fb.h:
3516         Update gdk_fb_window_send_crossing_events, gdk_event_make
3517         and grab varaible declarations. Add gdk_fb_*_event_window().
3518
3519         * gdk/linux-fb/gdkwindow-fb.c:
3520         Use new event_window/gdk_event_make() behaviour.
3521         Keep correct track of focus window.
3522         (gdk_window_set_events): Set all specific button motion masks
3523         if GDK_BUTTON_MOTION_MASK set.
3524
3525         * gtk/gtkdnd.c (gtk_drag_update):
3526         Free info->last_event if gdk_drag_motion returned FALSE.
3527
3528 2001-01-16  Tor Lillqvist  <tml@iki.fi>
3529
3530         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
3531         Eliminate redraws when input-only windows are shown or
3532         hidden. Thanks to jpe@archaeopteryx.com.
3533
3534 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
3535
3536         * docs/faq/gtk-faq.sgml: FAQ update:
3537           - Update to bugzilla
3538           - Add GTK+ and security/SUID/SGID
3539           - Add DnD question
3540
3541 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
3542
3543         * gdk/linux-fb/gdkdnd-fb.c:
3544         Some cleanups.
3545         
3546 2001-01-15  Havoc Pennington  <hp@pobox.com>
3547
3548         * tests/testtreeview.c: add test stuff for CellRendererToggle
3549
3550         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
3551         accessor
3552
3553         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
3554         only toggle on button press (would do release like GtkButton, but
3555         we'd need implicit grab code for treeview cells)
3556
3557 2001-01-16  Tor Lillqvist  <tml@iki.fi>
3558
3559         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
3560
3561         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
3562         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
3563
3564         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
3565         to g_{locale,filename}_{to,from}_utf8 to match current API.
3566
3567         * gtk/makefile.msc.in (gtk_OBJECTS)
3568         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
3569
3570         * gtk/gtk.def: Update.
3571
3572 2001-01-15  Tor Lillqvist  <tml@iki.fi>
3573
3574         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
3575         implementaion that more closely mimics the events that an X server
3576         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
3577         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
3578         with nested preview widgets, for instance, more responsive when
3579         you move the mouse quickly into them.
3580         (find_window_for_pointer_event): Make it actually compile.
3581         (gdk_event_translate): Set send_event to the value of
3582         InSendMessage (). This doesn't really mean the same as X11's
3583         send_event flag, but is close enough, says jpe@archaeopteryx.com
3584
3585 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3586
3587         * gdk/linux-fb/gdkdnd-fb.c:
3588         Implemented drag and drop.
3589         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
3590         when it tries to free and then copy the same event (info->last_event).
3591         I am not sure about why this happens, but will continue looking.
3592
3593 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3594
3595         * gdk/linux-fb/gdkwindow-fb.c:
3596         Use gdk_window_invalidate_rect instead of
3597         gdk_window_invalidate_rect_clear to minimise flashing.
3598         When hiding windows you need to clear the root window though.
3599
3600 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3601
3602         * gdk/linux-fb/gdkdrawable-fb2.c:
3603         For optization, add an full_shapes argument to gdk_fb_clip_region.
3604         If this is false, only the cliprects of the shapes are used.
3605
3606         * gdk/linux-fb/gdkprivate-fb.h:
3607         Export gdk_fb_window_peek_shape.
3608         Add full_shapes to gdk_fb_clip_region.
3609
3610         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
3611         When moving a window, don't clear everything under the it, just the
3612         root window. Makes stuff faster and flash less.
3613         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
3614         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
3615         offset of the shape.
3616         
3617
3618 2001-01-12  Havoc Pennington  <hp@redhat.com>
3619
3620         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
3621         current invalid region, fixes redraw bug while scrolling the 
3622         text widget
3623
3624         * gtk/gtktextview.c, gtk/gtktextview.h:
3625         Rearrange the scrolling/validation/etc. code in a major way, 
3626         so it seems to make sense to me. Probably isn't genuinely that
3627         much better, but...
3628
3629         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
3630         notifies
3631
3632         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
3633
3634 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
3635
3636         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
3637         Hide mouse pointer while rotation. Show it afterwards.
3638
3639 2001-01-12  Alexander Larsson  <alexl@redhat.com>
3640
3641         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
3642         windows in consideration when generating clip region.
3643
3644         * gdk/linux-fb/gdkfb.h:
3645         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
3646
3647         * gdk/linux-fb/gdkprivate-fb.h:
3648         Add shape to GdkWindowFBDatat.
3649         exported gdk_fb_window_get_abs_shape().
3650         removed gdk_fb_draw_lines declaration.
3651
3652         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
3653         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
3654         send focus changes when there is a grabbed window.
3655         (gdk_window_get_pointer): Handle shaped windows.
3656         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
3657         (gdk_fb_window_peek_shape): Returns the shape for a window,
3658         handles GDK_FB_USE_CHILD_SHAPE.
3659         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
3660         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
3661         (gdk_window_shape_combine_mask): Implement.
3662
3663         * gtk/gtkwindow-decorate.c:
3664         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
3665         setting the shape of a window makes the window transparent.
3666
3667 2001-01-11  Havoc Pennington  <hp@redhat.com>
3668
3669         * gtk/gtktreemodelsimple.h: Oops, broke some macros
3670
3671 2001-01-10  Havoc Pennington  <hp@redhat.com>
3672
3673         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
3674         add this function, bug 40251
3675
3676         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
3677         of type macro   
3678
3679 2001-01-11  Alexander Larsson  <alexl@redhat.com>
3680
3681         * acconfig.h:
3682         Added ENABLE_SHADOW_FB
3683
3684         * configure.in:
3685         Added --disable-shadowfb
3686
3687         * gdk/linux-fb/gdkcursor-fb.c:
3688         Update shadowfb when updating cursor
3689
3690         * gdk/linux-fb/gdkdrawable-fb2.c:
3691         Added wrappers for shadowfb that calls  the normal drawable
3692         methods, but calls gdk_shadow_fb_update(bounding box) when
3693         GdkWindows are drawed to.
3694         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
3695         which also returns the bounding box.
3696
3697         * gdk/linux-fb/gdkfb.h:
3698         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
3699
3700         * gdk/linux-fb/gdkgeometry-fb.c:
3701         Update shadowfb when scrolling window.
3702
3703         * gdk/linux-fb/gdkglobals-fb.c:
3704         Add _gdk_fb_screen_angle.
3705         
3706         * gdk/linux-fb/gdkkeyboard-fb.c:
3707         Test code for screen rotation. Shift-F2 in the xlate driver
3708         rotates the screen.
3709
3710         * gdk/linux-fb/gdkmain-fb.c:
3711         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
3712
3713         * gdk/linux-fb/gdkmouse-fb.c:
3714         Use fb_width/height instead of modeinfo.xres/yres.
3715
3716         * gdk/linux-fb/gdkprivate-fb.h:
3717         Added fb_men, fb_width, fb_height & fb_stride. When using
3718         shadow fb these can differ from the framebuffer stuff.
3719         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
3720         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
3721         _gdk_fb_screen_angle. Removed CM, RP.
3722
3723         * gdk/linux-fb/gdkrender-fb.c:
3724         Added code for shadowfb handling and screen rotation using
3725         shadowfb.
3726
3727         * gdk/linux-fb/gdkwindow-fb.c:
3728         Use fb_mem, fb_stride, fb_width, fb_height.
3729         Added recompute_rowstride to reset the rowstride of all windows.
3730         Added gdk_fb_recompute_all() which recomputes rootwindow size,
3731         window abs positions and window rowstrides. Usefull when the
3732         rotation has changed.
3733
3734 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
3735
3736         * docs/faq/gtk-faq.sgml: update to make web site updating easier
3737
3738 2001-01-10  Havoc Pennington  <hp@redhat.com>
3739
3740         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
3741         where sibling == iter
3742         (gtk_tree_store_insert_after): handle sibling == iter
3743         (gtk_tree_store_prepend): remove stamp checks
3744         (gtk_tree_store_insert_before): ditto
3745         (gtk_tree_store_append): ditto
3746         (gtk_tree_store_get_path): ditto
3747         (gtk_tree_store_get_value): ditto
3748         (gtk_tree_store_iter_has_child): ditto
3749         (gtk_tree_store_iter_n_children): ditto
3750         (gtk_tree_store_iter_nth_child): ditto
3751         (gtk_tree_store_insert_after): ditto
3752         (gtk_tree_store_is_ancestor): ditto
3753         (gtk_tree_store_iter_depth): ditto
3754         (gtk_tree_store_insert_before): assert that sibling's parent is
3755         the same as the passed-in parent
3756         (gtk_tree_store_insert_after): assert that sibling's parent is
3757         the same as the passed-in parent
3758
3759         
3760         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
3761         function to get the first iterator in a model
3762         
3763         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
3764         conventionally the "root" in this sense is just NULL afaict.
3765
3766         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
3767         where sibling == iter
3768         (gtk_list_store_insert_after): handle case where sibling == iter
3769
3770         * tests/testtreeview.c (run_automated_tests): fairly lame basic
3771         automated tests for ListStore, TreeStore
3772
3773         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
3774         (gtk_list_store_insert): update tail pointer, and fix it to work
3775         (gtk_list_store_insert_before): update tail pointer, and fix it to work
3776         (gtk_list_store_append): use tail to be faster
3777         (gtk_list_store_prepend): fix it, update tail pointer
3778         (gtk_list_store_insert_after): fix it, update tail pointer
3779
3780         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
3781         the list
3782
3783 2001-01-09  Havoc Pennington  <hp@redhat.com>
3784
3785         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
3786         is NULL due to a pending resize
3787
3788         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
3789         column width to values less than 1
3790
3791         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
3792         width to be between min/max width, and still set the width 
3793         even if autosize is turned on, so the tree view can use this 
3794         function in order to autosize.
3795         (gtk_tree_view_column_init): set initial width to 1 not 0
3796
3797         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
3798         setter function to modify column width, so we get notification
3799         (gtk_tree_view_insert_iter_height): ditto
3800         (gtk_tree_view_calc_size): ditto
3801         (gtk_tree_view_check_dirty): ditto
3802
3803         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
3804         properties to change all the interesting attributes of the tree
3805         view column.
3806         (gtk_tree_view_column_set_header_clickable): rename set_clickable
3807         (gtk_tree_view_column_get_clickable): add
3808         (gtk_tree_view_column_set_cell_renderer): don't unset the current
3809         attributes; assume a cell renderer with equivalent object
3810         properties has been swapped in. Do g_object_notify().
3811         (gtk_tree_view_column_set_visible): g_object_notify
3812         (gtk_tree_view_column_get_sizing): rename from get_col_type
3813         (gtk_tree_view_column_set_sizing): g_object_notify
3814         (gtk_tree_view_column_set_width): add g_object_notify
3815         (gtk_tree_view_column_set_min_width): ditto
3816         (gtk_tree_view_column_set_max_width): ditto
3817         (gtk_tree_view_column_set_title): ditto
3818         (gtk_tree_view_column_set_clickable): ditto
3819         (gtk_tree_view_column_set_widget): ditto
3820         (gtk_tree_view_column_set_justification): ditto
3821
3822 2001-01-09  Havoc Pennington  <hp@redhat.com>
3823
3824         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
3825         there are no rows in the model
3826
3827         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
3828         NULL, then return the start of the list
3829
3830         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
3831         if we can't get any rows from an empty model 
3832
3833         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
3834         extraneous * after function pointer typedef usage
3835
3836         * Makefile.am: don't specify full path to cp and rm
3837
3838         * gtk/gtkcellrenderertextpixbuf.c
3839         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
3840         NULL before dereferencing, fixes a segfault that happened from
3841         time to time
3842
3843         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
3844         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
3845         and reindent the function
3846         (gtk_cell_renderer_pixbuf_get_size): indentation
3847
3848         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
3849         we quit it
3850         (gtk_dialog_add_buttons_valist): add g_return_if_fail
3851         (gtk_dialog_set_default_response): New function, to set default
3852         button
3853         (gtk_dialog_set_response_sensitive): New function, to set 
3854         sensitivity of buttons
3855
3856         * gtk/gtkcellrendererpixbuf.c
3857         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
3858         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
3859
3860         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
3861         handle any G_TYPE_OBJECT subclass, not just the base class, and 
3862         also boxed types.
3863         (_gtk_tree_data_list_value_to_node): ditto
3864
3865         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
3866         --gtk-debug=tree
3867
3868         * gtk/gtkmain.c: add GTK_DEBUG_TREE
3869
3870         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
3871
3872 2001-01-09  Tor Lillqvist  <tml@iki.fi>
3873
3874         * gdk/win32/gdkevents-win32.c: Implement better mouse
3875         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
3876         (find_window_for_pointer_event): New function.
3877         (gdk_event_translate): Use it when handling mouse events.
3878
3879 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
3880
3881         * configure.in:
3882         Added --with-included-loaders option
3883
3884         * gdk-pixbuf/Makefile.am:
3885         * gdk-pixbuf/gdk-pixbuf-io.c:
3886         Add support for including selected gdk-pixbuf loaders only.
3887
3888         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
3889         gtk_window_set_has_frame):
3890         Added inline documentation.
3891
3892         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
3893         * docs/reference/gdk/tmpl/windows.sgml:
3894         Added inline documentation.
3895
3896 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
3897
3898         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
3899         realizing buttons that have already been realized.
3900
3901 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
3902
3903         * tests/testtreeview.c (main): Show menu items before adding to
3904         option menu.
3905
3906         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
3907         around if we kill them.
3908
3909         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
3910         Return if we pass in a NULL model.
3911
3912 2001-01-08  Havoc Pennington  <hp@redhat.com>
3913
3914         * tests/testtreeview.c: hack on this some
3915
3916         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
3917         gtk_tree_store_set_valist, v is for arrays, valist for varargs
3918         list
3919         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
3920
3921         * gtk/gtkliststore.h: Add varargs set() and get() convenience
3922         functions
3923
3924 2001-01-08  Alexander Larsson  <alexl@redhat.com>
3925
3926         * gtk/gtkwindow-decorate.[hc]:
3927         * gtk/Makefile.am:
3928         New files. Contains an implementation of a minimal WM for
3929         linux-fb.
3930
3931         * gtk/gtkwindow.h:
3932         Add the possibility for GtkWindows to specify a frame. This
3933         is used for the window decoration code, but could concievably
3934         be used for X programs too (xmms style windows).
3935         GtkWindow->frame is the toplevel window if the window is framed.
3936         The signal frame_event gets all events that are targeted to
3937         GtkWindow->frame.
3938         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
3939         
3940         * gtk/gtkwindow.c:
3941         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
3942         Call out to gtkwindow-decorate.c for WM support in linx-fb.
3943
3944 2001-01-08  Alexander Larsson  <alexl@redhat.com>
3945
3946         * docs/README.linux-fb:
3947         Correct filename ~/.pangoft2_aliases
3948
3949         * gdk/gdkwindow.h:
3950         Added new function gdk_window_get_decorations.
3951
3952         * gdk/linux-fb/gdkfb.h:
3953         Removed _gdk_window_get_decorations declaration.
3954         Renamed _gdk_window_set_child_handler to
3955         gdk_fb_window_set_child_handler.
3956
3957         * gdk/linux-fb/gdkwindow-fb.c:
3958         Renamed _gdk_window_set_child_handler to
3959         gdk_fb_window_set_child_handler.
3960
3961         * gdk/x11/gdkwindow-x11.c:
3962         New function gdk_window_get_mwm_hints().
3963         Implemented gdk_window_get_decorations.
3964
3965         * docs/reference/gdk/tmpl/windows.sgml:
3966         * docs/reference/gdk/gdk-sections.txt:
3967         Added gdk_window_get_decorations docs.
3968         
3969 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
3970
3971         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
3972         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
3973         gdk_fb_window_send_crossing_events):
3974         Possibly send focus events when the mouse moves from one
3975         window to another.
3976
3977 2001-01-07  Tor Lillqvist  <tml@iki.fi>
3978
3979         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
3980         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
3981         to match current API.
3982
3983         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
3984         environment variable is set, don't call g_error when on a
3985         palettized (PseudoColor) display. Some people want to use GTK+ 
3986         in 256-colour mode even though works only partially.
3987
3988         * gdk/gdk.def
3989         * gtk/gtk.def
3990         * gtk/makefile.mingw.in: Update.
3991
3992 2001-01-05  Havoc Pennington  <hp@redhat.com>
3993
3994         * tests/testtreeview.c: hack on this a bit
3995
3996         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
3997         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
3998
3999         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
4000         was spelled incorrectly
4001         (GTK_IS_TREE_MODEL_SIMPLE): ditto
4002
4003         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
4004         from gtk_tree_view_set_headers_active   
4005
4006         * gtk/gtktexttag.c:
4007         (gtk_text_tag_get_property): handle PROP_DIRECTION
4008         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
4009         properties, bug 40235
4010
4011         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
4012         forward_to_line_end
4013
4014 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
4015
4016         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
4017         modules/input/gtkimcontextxim.c: Adapt to new prototypes
4018         for unicode,locale,filename conversion functions.
4019
4020 2001-01-05  Havoc Pennington  <hp@redhat.com>
4021
4022         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
4023         broken if called on the first position in the buffer.
4024
4025         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
4026         forward_to_delimiters to be called only if we aren't already at
4027         the delimiters.
4028
4029 2001-01-05  Havoc Pennington  <hp@redhat.com>
4030
4031         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
4032
4033 2001-01-05  Alexander Larsson  <alexl@redhat.com>
4034
4035         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
4036         colormap in here. Sync from X port.
4037         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
4038         Sync from X port.
4039         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
4040         This happens now and then, and i don't think it is a bug.
4041         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
4042         != endpoint.
4043         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
4044         GDK_LINE_SOLID.
4045
4046         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
4047         some of the fields filled in at least.
4048
4049         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
4050         miLineArcD is no more, remove it from the function definition.
4051
4052 2001-01-04  Havoc Pennington  <hp@redhat.com>
4053
4054         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
4055         this
4056
4057         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
4058         user_data instead of tree_node
4059
4060         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
4061         TREE_VIEW_COLUMN_SIZE
4062
4063         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
4064         "size" field to "width" finishes bug 40061
4065
4066         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
4067         for bitfields, bug 40268
4068
4069 2001-01-04  Havoc Pennington  <hp@redhat.com>
4070
4071         Rename some stuff:
4072         
4073         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
4074
4075         s/GtkModelSimple/GtkTreeModelSimple/g;
4076         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
4077         s/gtk_model_simple/gtk_tree_model_simple/g;
4078         s/gtkmodelsimple/gtktreemodelsimple/g;
4079
4080         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
4081
4082         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
4083         s/column_set_col_type/column_set_sizing/g;
4084
4085         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
4086         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
4087
4088         s/GtkCellRendererType/GtkCellRendererState/g;
4089         
4090         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
4091         (gtk_cell_renderer_toggle_class_init): change "state" property to
4092         "active", to match GtkToggleButton
4093         (gtk_cell_renderer_toggle_get_active): new function, bug
4094         40269
4095         (gtk_cell_renderer_toggle_set_active): new function
4096         (gtk_cell_renderer_toggle_set_property): route changes to toggle
4097         state through gtk_cell_renderer_set_active
4098
4099 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
4100
4101         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
4102         temporarily until they work again.  Brought up to date with
4103         changes in the model.
4104         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
4105         model.
4106
4107 2001-01-04  Havoc Pennington  <hp@redhat.com>
4108
4109         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
4110         equal to the line length, then position iterator before paragraph 
4111         separators. Fixes crash reported by Mikael Hermansson when
4112         pressing left arrow from the start of a line.   
4113
4114         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
4115         about byte indexes off the end
4116         (iter_set_from_char_offset): add g_error about char offsets
4117         off the end
4118
4119 2001-01-03  Havoc Pennington  <hp@redhat.com>
4120
4121         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
4122
4123         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
4124         of private functions; remove inclusion of private headers.
4125
4126         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
4127         function, so we don't need private functions in gtktextdisplay.c
4128
4129         * gtk/gtktextiterprivate.h: underscore-ification
4130
4131         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
4132         to instead say "only useful to implement widgets"
4133
4134         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
4135         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
4136         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
4137
4138         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
4139         This function was completely broken
4140
4141         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
4142
4143         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
4144
4145         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
4146
4147         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
4148
4149         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
4150
4151         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
4152
4153         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
4154         gtk_paint_layout
4155
4156         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
4157         gtk_paint_layout
4158
4159         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
4160         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
4161         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
4162         which were not implemented.     
4163
4164         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
4165         insert_pixbuf signal. Rename delete_text to delete_range since it
4166         also deletes pixbufs and child anchors. This almost closes bug
4167         40245 (still need to deal with child anchors)
4168
4169         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
4170         insert_pixbuf, change signal names as appropriate, change types of
4171         signals taking marks/tags to have the specific type, not just
4172         G_TYPE_OBJECT
4173         
4174         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
4175         closes bug 40051
4176
4177         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
4178         unnecessary remove_contents() call
4179         (gtk_option_menu_class_init): add a "changed" signal, closes
4180         bug 40039
4181         (gtk_option_menu_update_contents): emit "changed" if the 
4182         active menu item changes
4183
4184         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
4185         cast to GtkObject, reported by Jonas Borgstrom
4186         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
4187         we can't do stuff with side effects in finalize. Instead, spew a
4188         warning if the loader isn't closed.
4189
4190         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
4191         colormap in here, non-X ports probably need to sync to this change
4192
4193         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
4194         assertion that colormap != NULL, you can set the colormap to NULL
4195         if you like.
4196         
4197         * Makefile.am: remove gtk-config-2.0
4198
4199         * configure.in: Use pkg-config to locate GLib. Remove
4200         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
4201         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
4202         Use pkg-config to locate Pango. Output correct Pango libs to
4203         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
4204
4205         * Makefile.am (pkgconfig_DATA): install only target-specific pc
4206         files
4207         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
4208         X11 pc files
4209
4210         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
4211         unref from here
4212
4213 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
4214
4215         * configure.in:
4216         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
4217
4218 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
4219
4220         * gtk/gtktextlayout.c
4221         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
4222         variable when moving back onto a single line.
4223
4224 2001-01-01  Havoc Pennington  <hp@redhat.com>
4225
4226         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
4227
4228         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
4229
4230         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
4231         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
4232
4233 2001-01-01  Havoc Pennington  <hp@redhat.com>
4234
4235         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
4236
4237         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
4238         GtkTextAttributes
4239
4240         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
4241         #40246
4242         (gtk_text_attributes_copy_values): rename from 
4243         gtk_text_attributes_copy
4244         (gtk_text_attributes_copy): a more standard GTK copy function, 
4245         which returns a new object
4246
4247 2001-01-01  Havoc Pennington  <hp@redhat.com>
4248
4249         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
4250         
4251         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
4252         don't fill in tree_view->priv->selection, kind of an unexpected
4253         side effect
4254
4255         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
4256         gtkintl.h
4257         
4258         * gtk/gtkcellrenderer.c: Remove definition of _ and include
4259         gtkintl.h
4260         (gtk_cell_renderer_get_property): remove calls to g_value_init
4261
4262         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
4263         gtkintl.h
4264
4265         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
4266         and include gtkintl.h
4267         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
4268         property names
4269
4270         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
4271         GtkTreeSelection
4272         (_gtk_tree_selection_new_from_with_view): rename, return
4273         GtkTreeSelection
4274         (_gtk_tree_selection_set_tree_view): rename with uscore
4275         (gtk_tree_selection_get_selected): fill in the "model" out param
4276         first, so it gets filled in even if we return at the top of the 
4277         function
4278         (gtk_tree_selection_real_select_all): add a comment and an else{}
4279         to clarify this a bit
4280         (gtk_tree_selection_real_unselect_all): add the same else{}
4281
4282         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
4283         set_tree_view to have underscore prefixes, move them to the
4284         private header, fix return type of new_with_tree_view
4285         (struct _GtkTreeSelection): mark struct
4286         fields private  
4287
4288         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
4289         GtkTreeModelFlags, not a guint
4290         (gtk_tree_path_prev): return gboolean not gint
4291         (gtk_tree_path_up): return gboolean not gint
4292
4293         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
4294         return GtkTreeModelFlags, not a guint
4295
4296         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
4297         that child model is non-null before unrefing it
4298         (g_value_int_compare_func): make this a qsort compare func, not 
4299         a boolean predicate
4300
4301         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
4302         (add -umn to the end), and mark it unimplemented
4303         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
4304         I don't see what it's for - doesn't the model always sort itself?
4305         (gtk_tree_model_sort_set_compare): this had the wrong signature
4306
4307         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
4308         Fix the docs to say that it destructively replaces existing
4309         attributes (previously said that it added attributes).
4310         (gtk_tree_view_column_set_visible): canonicalize bool before
4311         equality testing. Also, check for realization before
4312         hiding/showing the tree_column->window; if this window could exist
4313         before realization, then it's busted and needs fixing, we can't 
4314         create GDK resources pre-realization. Also, remove
4315         superfluous queue_resize(), since set_size() does that for us.
4316         (gtk_tree_view_column_set_col_type): check realization before 
4317         using tree_column->window
4318
4319         * gtk/gtktreedatalist.c: fix filename in copyright notice
4320
4321 2000-12-31  Havoc Pennington  <hp@pobox.com>
4322
4323         * gtk/gtktextview.c: Rearrange all the
4324         scroll-while-dragging-or-selecting code to be different, not
4325         necessarily better. ;-)
4326         (gtk_text_view_scroll_to_mark): Change this
4327         function to take within_margin as a fraction instead of a pixel
4328         value, and to take alignment arguments (indicating where to align 
4329         the mark inside the visible area)
4330         
4331         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
4332         to GtkObject
4333
4334         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
4335         behavior so that offsets past the end of the line are not 
4336         allowed, and an offset equal to the line length moves the iterator
4337         to the next line
4338         (gtk_text_iter_set_line_index): make parallel change
4339         (gtk_text_iter_get_bytes_in_line): add this function
4340         
4341         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
4342         of byte indexes off the end of the line; byte index at the end of
4343         the line now returns FALSE and doesn't fill in the requested
4344         values, byte index past the end of the line is an error.  Also,
4345         don't allow -1 offset anymore, since its meaning is unclear.
4346
4347         This change exposes some bug in visual cursor motion, where we
4348         end up with a huge invalid byte index; needs fixing. Symptom of 
4349         bug is a crash when you hit up arrow.
4350         
4351         (_gtk_text_line_char_locate): match the change to byte_locate
4352
4353         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
4354         from start of line properly. fixes bug reported by Mikael
4355         Hermansson where backspace would delete all text before the
4356         cursor.
4357
4358 2000-12-30  Tor Lillqvist  <tml@iki.fi>
4359
4360         * gdk/win32/gdkwindow-win32.c
4361         (gdk_window_impl_win32_get_visible_region): New function, as in
4362         the X11 backend.
4363         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
4364         instead of duplicating the same code here.
4365
4366         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
4367         GDK_COLORMAP macro.
4368
4369         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
4370         destroy function.
4371         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
4372         access that.
4373
4374         * gtk/gtk.def: Update.
4375
4376         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
4377
4378 2000-12-30  Havoc Pennington  <hp@pobox.com>
4379
4380         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
4381         colormap on input only windows, to avoid special cases all over
4382         the code for these windows.
4383
4384 2000-12-26  Tor Lillqvist  <tml@iki.fi>
4385
4386         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
4387         we are on a palettized display ("PseudoColor" in X11), as the code
4388         for that doesn't work anyway, and never has.
4389
4390 2000-12-22  Alexander Larsson  <alexl@redhat.com>
4391
4392         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
4393         Don't use isprint() for chars > 255.
4394
4395 2000-12-21  Havoc Pennington  <hp@redhat.com>
4396
4397         * tests/testtreeview.c: more work
4398
4399 2000-12-21  Alexander Larsson  <alexl@redhat.com>
4400
4401         * docs/README.linux-fb:
4402         Update the docs to the new pangoft2 way.
4403
4404 2000-12-21  Alexander Larsson  <alexl@redhat.com>
4405
4406         * configure.in:
4407         For linux-fb get the pangoft2 cflags and libs. This needs a recent
4408         pango version.
4409         Remove modules/linux-fb/Makefile.
4410
4411         * gdk/linux-fb/gdkdrawable-fb2.c:
4412         Render glyphs using freetype.
4413
4414         * gdk/linux-fb/gdkfb.h:
4415         Add new fb-specific functions needed for managing windows.
4416
4417         * gdk/linux-fb/gdkmain-fb.c:
4418         Remove gdk_font_init/fini() calls.
4419
4420         * gdk/linux-fb/gdkpango-fb.c:
4421         Remove old implementation. Use pangoft2 instead.
4422
4423         * gdk/linux-fb/gdkprivate-fb.h:
4424         Remove PangoFBFont and related stuff.
4425
4426         * gdk/linux-fb/gdkwindow-fb.c:
4427         Implement drawable->get_visible_region.
4428         Implement support for _gdk_window_set_child_handler () and
4429         _gdk_window_get_decorations().
4430
4431         * modules/Makefile.am:
4432         Remove linux-fb subdir.
4433
4434         * modules/linux-fb/*:
4435         Removed all.
4436         
4437 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
4438
4439         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
4440         calls, as they are no longer needed.
4441
4442         * gtk/gtktreemodelsort.c: Fix up the comparison code.
4443         
4444         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
4445         figure out how to emit a signal on an interface.
4446
4447 2000-12-20  Havoc Pennington  <hp@redhat.com>
4448
4449         * tests: new directory to contain tests, gtk/test* should move
4450         here sometime (with appropriate on-cvs-server hackery)
4451
4452         * tests/testtreeview.c, tests/Makefile.am: a test
4453         
4454         * configure.in (AC_OUTPUT): add tests/Makefile
4455
4456         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
4457         and "invisible_set" which were missing
4458
4459         * gtk/gtkrbtree.h: some cheesy indentation fix
4460         
4461 2000-12-20  Alexander Larsson  <alexl@redhat.com>
4462
4463         * gtk/gtkinvisible.c (gtk_invisible_realize):
4464         Attach the style to the window so that the style it is not
4465         leaked when unrealizing the window.
4466
4467 2000-12-18  Havoc Pennington  <hp@redhat.com>
4468
4469         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
4470         begin/end user action where appropriate
4471         (gtk_text_view_commit_handler): add begin/end user action
4472
4473         * gtk/gtktextbuffer.c: add begin/end user action signals, and
4474         bracket interactive operations with begin/end user action pair.
4475         
4476         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
4477         "interactive" arg from insert_text and delete_text signals.
4478         Add begin_user_action, end_user_action signals
4479         (gtk_text_buffer_begin_user_action): 
4480         (gtk_text_buffer_end_user_action): New functions to delimit 
4481         a user-visible action
4482
4483         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
4484         signals.
4485         
4486 2000-12-18  Havoc Pennington  <hp@redhat.com>
4487
4488         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
4489         was pretty non-working.
4490
4491         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
4492         by passing the length to g_utf8_validate().
4493
4494 2000-12-16  Havoc Pennington  <hp@pobox.com>
4495
4496         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
4497         Port to GObject, can go back in gdk-pixbuf after setting up 
4498         a gdk-pixbuf-marshal.h header over there.
4499
4500         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
4501         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
4502         args
4503         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
4504         set
4505         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
4506         here, do it when we create the buttons later
4507         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
4508         (gtk_tree_view_map): paranoia checks that column->button is shown 
4509         and unmapped
4510         (gtk_tree_view_size_request): only request visible children.
4511         Move header size calculation in here, for cleanliness, and 
4512         to maintain invariants for child widgets if we eventually 
4513         let users set different children inside the buttons
4514         (gtk_tree_view_map_buttons): factor out code to map buttons,
4515         since it was being called several times
4516         (gtk_tree_view_size_allocate_buttons): move_resize the drag
4517         windows instead of just moving them; their height may change 
4518         if we allow random widgets in there, or the theme changes.
4519         (gtk_tree_view_size_allocate): move button size allocation 
4520         above emitting the scroll signals, to ensure a sane state when we
4521         hit user code
4522         (gtk_tree_view_button_release): remove queue_resize after
4523         tree_view_set_size(), set_size() will handle any resize queuing
4524         that's needed
4525         (gtk_tree_view_focus_in): just queue a draw, don't fool with
4526         draw_focus goo
4527         (gtk_tree_view_focus): use gtk_get_current_event() and
4528         gdk_event_get_state()
4529         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
4530         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
4531         semicolon
4532         (gtk_tree_view_create_button): show the button here
4533         (gtk_tree_view_button_clicked): actually emit the clicked signal
4534         on the column
4535         (_gtk_tree_view_set_size): return right away if the size is
4536         unchanged, as a cheesy optimization
4537         (gtk_tree_view_setup_model): rename set_model_realized to 
4538         setup_model to match the flag that indicates whether we've 
4539         called it
4540         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
4541         exist, because set_scroll_adjustment does that and it shouldn't
4542         matter what order you call these in
4543         (gtk_tree_view_get_vadjustment): ditto
4544         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
4545         for paranoia
4546         (gtk_tree_view_set_headers_visible): call
4547         gtk_tree_view_map_buttons() instead of using cut-and-paste code
4548         (gtk_tree_view_append_column): clarify whether the return value
4549         is the count of columns before or after, and do the increment 
4550         separately from the return statement so you can tell from the code.
4551         (gtk_tree_view_remove_column): ditto
4552         (gtk_tree_view_insert_column): ditto
4553         (gtk_tree_view_get_column): remove g_return_if_fail for columns
4554         outside the existing range, the docs say that outside-range
4555         columns are allowed, so we handle them as documented. (Presumably
4556         this allows a nice loop with column != NULL as test.)
4557         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
4558         mean (left/right/center etc.).
4559         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
4560         (gtk_tree_view_expand_row): add docs
4561         (gtk_tree_view_collapse_row): add docs
4562
4563         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
4564         function to emit the clicked signal on a column
4565         
4566         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
4567         state of an event
4568         (gdk_event_get_time): don't treat GDK_SCROLL 
4569         as a button event, remove default case from switch so gcc 
4570         will whine if we don't explicitly handle all event types
4571
4572         * gtk/gtktreeselection.h: added some FIXME 
4573         
4574         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
4575         "columns" to "n_columns" and "column" to "columns" for clarity
4576
4577 2000-12-16  Havoc Pennington  <hp@pobox.com>
4578         
4579         * gtk/gtktextiter.c: General cleanup of the log attr iteration
4580         stuff. This should make e.g. the delete key work again in the
4581         text widget...
4582         (gtk_text_iter_forward_cursor_positions): handle negative count
4583         (gtk_text_iter_backward_cursor_positions): handle negative count
4584         (gtk_text_iter_forward_word_ends): handle negative count
4585         (gtk_text_iter_backward_word_starts): handle negative count
4586
4587         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
4588         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
4589         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
4590         GObject. No doubt will cause breakage.
4591
4592         * demos/gtk-demo/textview.c: remove hacks around
4593         non-GObject-ification of the text objects
4594
4595         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
4596         the text tag
4597         
4598 2000-12-14  Havoc Pennington  <hp@pobox.com>
4599
4600         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
4601         that we have Xrender
4602
4603 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
4604
4605         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
4606         Add two virtualized functions gdk_drawable_get_clip_region - to
4607         get the clip region when drawing.
4608         
4609         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
4610         use invalidate_region.
4611
4612         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
4613         region.
4614
4615         * acconfig.h configure.in: Check for Xft. For now, assume
4616         that if Xft is found, Pango was compiled with Xft support
4617         as well.
4618
4619         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
4620         gdk_colormap_query_color().
4621         
4622         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
4623         with Xft if appropriate.
4624
4625         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
4626         a pangoxft context if we have XFT and the environment
4627         variable GD_USE_XFT is set.
4628         
4629         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
4630         and also possibly an XftDraw structure.
4631
4632         * gtk/gtkfontsel.c: Handle the case where the font from the
4633         style doesn't match any of the fonts a bit better.
4634         
4635         * gtk/testgtk.c: Add tabs between directional segments for
4636         hebrew/arabic test. (Not really necessary, just a little
4637         prettier.)
4638
4639 2000-12-14  Havoc Pennington  <hp@redhat.com>
4640
4641         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
4642         reading a file
4643
4644 2000-12-14  Havoc Pennington  <hp@redhat.com>
4645
4646         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
4647         unused call to get_last_line()
4648
4649         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
4650         here until boxed is working (and maybe after that - we should
4651         really not gratuitously break old code)
4652
4653         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
4654         specific types for font_desc and tabs args, move them to
4655         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
4656         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
4657
4658         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
4659         use GTK_TYPE_POINTER for signal signatures as a hack-around
4660
4661         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
4662         PangoTabArray
4663
4664         * gtk/gtktextlayout.c (line_display_iter_to_index): 
4665         make static
4666         (line_display_index_to_iter): make static
4667
4668         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
4669         to marshal a string not a boxed
4670
4671         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
4672
4673         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
4674         since the UTF-8 isn't validated yet
4675
4676         * gtk/gtktextsegment.c (char_segment_check_func): don't require
4677         lines to end in '\n'
4678         
4679         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
4680         forward_to_delimiters, and grapheme boundaries
4681         (gtk_text_view_delete_from_cursor): properly handle non-newline
4682         delimiters, and grapheme boundaries
4683
4684         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
4685         to gtk_text_iter_forward_to_delimiters, and make it work properly
4686         if empty lines end with a character other than '\n'
4687
4688         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
4689         position
4690
4691 2000-12-15  Tor Lillqvist  <tml@iki.fi>
4692
4693         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
4694
4695         * gtk/gtk.def
4696         * gdk/gdk.def: Update.
4697
4698         * gdk/win32/gdkmain-win32.c
4699         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
4700         gdkmain-win32.c here.
4701
4702         * gdk/win32/makefile.mingw.in (all): No need to make
4703         gdk-win32res.o here, the makefile one step up will call us to make
4704         it.
4705
4706         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
4707         gdkkeys-win32.
4708
4709         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
4710
4711         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
4712         call to g_source_add().
4713
4714         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
4715         leak. Thanks to Andreas Kemnade.
4716
4717 2000-12-13  Havoc Pennington  <hp@pobox.com>
4718
4719         * gtk/gtktextbtree.h: Remove double _ in front of some functions
4720
4721         * gtk/gtktext*.[hc]: update accordingly
4722         
4723 2000-12-13  Havoc Pennington  <hp@pobox.com>
4724
4725         * gtk/gtktextbtree.h: Put _ in front of every function in this 
4726         header file
4727
4728         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
4729
4730 2000-12-13  Alex Larsson  <alexl@redhat.com>
4731
4732         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
4733         Add support for ps2 intellimouse.
4734
4735         * gdkkeyboard-fb.c:
4736         Move shift-F1 repaint handling to xlate handler only.
4737         
4738         * docs/README.linux-fb:
4739         Add imps2 to docs.
4740         Document the new refresh keys.
4741         
4742 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
4743
4744         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
4745
4746         * gtk/gtkbox.c: change property types from (u)long to (u)int for
4747         ::position and ::padding.
4748
4749         * gtk/gtkcontainer.c: make ::border_width an INT property.
4750
4751         * gtk/gtkpacker.c: make ::position an INT property.
4752
4753         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
4754         guard against NULL h/v scrollbars, since this is used at construction
4755         time.
4756
4757         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
4758         internal gtk_clist_constructor().
4759
4760         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
4761         gtk_ctree_constructor().
4762
4763         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
4764         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
4765
4766         * docs/reference/Makefile.am: fun stuff, disabled docs generation
4767         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
4768
4769         * gtk/gtkwidget.[hc]:
4770         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
4771         and gtk_widget_get().
4772         (gtk_widget_new): use g_object_new_valist().
4773         (gtk_widget_set): use g_object_set_valist().
4774
4775         * gtk/gtkobject.[hc]:
4776         removed gtk_object_arg_get_info(), gtk_object_getv(),
4777         gtk_object_query_args(), gtk_object_newv(),
4778         gtk_object_class_add_signals(),
4779         gtk_object_class_user_signal_new(),
4780         gtk_object_class_user_signal_newv(),
4781         gtk_object_arg_set(), gtk_object_arg_get(),
4782         gtk_object_args_collect(),
4783         gtk_object_default_construct(),
4784         gtk_object_constructed(),
4785         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
4786         removed nsignals, signals and n_args members from GtkObjectClass.
4787         (gtk_object_new): use g_object_new_valist().
4788         (gtk_object_set): use g_object_set_valist().
4789         (gtk_object_get): use g_object_get_valist().
4790         
4791         * gtk/gtkcompat.h: define gtk_object_default_construct().
4792         
4793         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
4794         g_object_new().
4795
4796         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
4797         fucntions, cleaned up method assignments (make sure your structures
4798         are setup properly before calling out). removed all GTK_CONSTRUCTED
4799         hacks ;)
4800
4801 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
4802
4803         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
4804         off-by-one error in checks. (Dave Lambert)
4805
4806 2000-12-12  Alexander Larsson  <alexl@redhat.com>
4807
4808         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
4809         Don't free gdk_fb_keyboard twice.
4810
4811 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
4812
4813         * gtk/testgtk.c:
4814         (create_tooltips): 
4815         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
4816         use GObject swapped_signal:: properties instead.
4817
4818         * gtk/gtkcellrenderertoggle.c: 
4819         * gtk/gtkcellrenderertextpixbuf.c: 
4820         * gtk/gtkcellrenderertext.c: 
4821         * gtk/gtkcellrendererpixbuf.c: 
4822         * gtk/gtkcellrenderer.c:
4823         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
4824         missing warnings for invalid property ids, install properties
4825         with g_object_class_install_property() now.
4826         
4827         * gtk/gtksignal.c:
4828         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
4829         
4830 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
4831         
4832         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
4833         to determine if a window is the focus widget within
4834         its toplevel.
4835
4836         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
4837         to be boolean.
4838
4839         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
4840         of the case where the container CAN_FOCUS to here instead
4841         of having it in each individual move-the-focus place.
4842
4843         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
4844         focusing to be geometric in a much more obvious sense. Arrowing
4845         around is still non-intuitive because it isn't perfect and
4846         because entries, etc, grab the arrow keys, but it at least
4847         usually will do what you expect now.
4848         
4849         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
4850         file.
4851
4852         * gtk/gtknotebook.c: Change tabs to be a single item in
4853         the focus chain. Make movement of focus on tabs with arrow
4854         keys wrap around.
4855         
4856         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
4857         CHECK_FIND_CHILD macro to give informative error messages
4858         instead of silent returns.
4859
4860         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
4861         flag since we handle GdkReturn on the tabs.
4862
4863         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
4864         windows rather than sending expose events directly.
4865
4866         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
4867         definition for GtkNotebookPage into .c file, since it is private.
4868
4869         * gtk/testgtk.c (create_notebook): Add option for 
4870         testing borderless notebook.
4871
4872         * gtk/testgtk.c (page_switch): Removed egregious poking
4873         around in GTK+ internals.
4874
4875         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
4876
4877         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
4878         properly through gtk_clist_focus. Make the title headers a
4879         single item in the tab-focus chain, and make left-right wrap
4880         around.
4881
4882         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
4883         focus method so that wrapping around works properly.
4884
4885         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
4886         that is handled for the widget now. 
4887
4888 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
4889
4890         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
4891         widgets as TOPLEVEL.
4892
4893         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
4894         TOPLEVEL widgets are containers.
4895
4896         * gtk/gtkinvisible.h: Remove useless include.
4897
4898 2000-12-11  Havoc Pennington  <hp@redhat.com>
4899
4900         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
4901         Handle chopping off \r\n and 0x2029 in addition to \n before
4902         passing to PangoLayout
4903
4904         * gtk/gtkimcontextsimple.c
4905         (gtk_im_context_simple_get_preedit_string): 
4906         return an empty string if no match is pending
4907
4908         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
4909         assertion that the returned preedit string was sane
4910
4911         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
4912         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
4913         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
4914
4915 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
4916
4917         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
4918         Fix up finalizer to chain to its parent.
4919
4920 2000-12-11  Alexander Larsson  <alexl@redhat.com>
4921
4922         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
4923         Clearified the difference between the keyboard types. Wrote a note
4924         about the magic sysrq key to get out of raw mode.
4925
4926 2000-12-09  James Henstridge  <james@daa.com.au>
4927
4928         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
4929         member to hold masks for detecting the start of a protocol packet.
4930         (mouse_devs): add packet start masks for ps2 and ms device types.
4931         Left the mask for fidmour blank, as I have no idea what it should
4932         be.
4933         (handle_mouse_io): skip bytes until we get to the start of a
4934         packet.  My Logitech mouse seems to be passing an extra NULL pad
4935         byte, and GPM does a similar thing here.
4936         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
4937         this is the ms mouse driver.
4938         (gdk_fb_mouse_ms_packet): fix up button handling, which was
4939         completely broken except for button1.  It was checking the wrong
4940         bit in the packet for the status of the right mouse button, and
4941         wrongly assuming right == button2 rather than 3.  I fixed that and
4942         also added support for middle button (button2).
4943
4944 2000-12-08  Havoc Pennington  <hp@redhat.com>
4945
4946         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
4947         that cause a segfault on text insertion
4948
4949         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
4950         warning
4951
4952         * gtk/gtktextiter.c (test_log_attrs): use
4953         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
4954
4955         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
4956         Get log attrs for a line, using a cache stored on the buffer
4957         
4958         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
4959         reported by Jeff Franks
4960
4961 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4962
4963         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
4964         /dev/ttyS0 -> /dev/mouse
4965
4966 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4967
4968         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
4969         Added dummy gdk_fontset_load.
4970
4971 2000-12-08  Alexander Larsson  <alexl@redhat.com>
4972
4973         * docs/README.linux-fb:
4974         * docs/Makefile.am:
4975         Initial GtkFB docs.
4976         
4977         * gdk/linux-fb/Makefile.am:
4978         Define GDK_DATA_PREFIX.
4979
4980         * gdk/linux-fb/gdkmain-fb.c:
4981         Fix typo.
4982         Change default display to /dev/fb0.
4983
4984         * gdk/linux-fb/gdkpango-fb.c:
4985         Add $(prefix)/share/fonts/ to font path.
4986         
4987 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4988
4989         * gdk/linux-fb/gdkkeyboard-fb.c:
4990         New file containing the abstracted keyboard driver. Most code
4991         taken from gdkinput-ps2.c
4992
4993         * gdk/linux-fb/gdkinput-ps2.c:
4994         Removed file.
4995         
4996         * gdk/linux-fb/Makefile.am:
4997         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
4998
4999         * gdk/linux-fb/gdkcolor-fb.c:
5000         display->fb was renamed to display->fb_fd.
5001
5002         * gdk/linux-fb/gdkcursor-fb.c:
5003         gdk_mouse_get_info -> gdk_fb_mouse_get_info
5004
5005         * gdk/linux-fb/gdkinput.c:
5006         Moved gdk_input_init here from gdkinput-ps2.c
5007
5008         * gdk/linux-fb/gdkmain-fb.c:
5009         display->fb was renamed to display->fb_fd.
5010         Now the tty and the console is opened here instead
5011         of in the keyboard driver. Also check GDK_VT to see what
5012         tty to open.
5013         Move gdk_beep () here from gdkinput-ps2.c
5014         gdk_mouse_get_info -> gdk_fb_mouse_get_info
5015
5016         * gdk/linux-fb/gdkmouse-fb.c:
5017         Add header.
5018         gdk_mouse_get_info -> gdk_fb_mouse_get_info
5019         Return correct keyboard modifiers.
5020         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
5021
5022         * gdk/linux-fb/gdkprivate-fb.h:
5023         Add tty and vt info to display.
5024         Add orignal modeinfo storage to display
5025         Update global functions
5026
5027         * gdk/linux-fb/gdkwindow-fb.c:
5028         Added gdk_fb_window_find_focus().
5029         gdk_mouse_get_info -> gdk_fb_mouse_get_info
5030
5031 2000-12-07  Havoc Pennington  <hp@pobox.com>
5032
5033         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
5034         function, noticed by Alex
5035
5036 2000-12-06  Elliot Lee  <sopwith@redhat.com>
5037
5038         * configure.in: Detect freetype properly
5039
5040         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
5041         above.
5042
5043 2000-12-06  Alexander Larsson  <alexl@redhat.com>
5044
5045         * gdk/linux-fb/Makefile.am:
5046         Add gdkmouse-fb.c
5047         
5048         * gdk/linux-fb/gdkmouse-fb.c:
5049         New file. Abstracted the mouse drivers a bit.
5050
5051         * gdk/linux-fb/gdkcursor-fb.c:
5052         The cursor hide/show functions was moved here from gdkinput-ps2.c.
5053
5054         * gdk/linux-fb/gdkinput-ps2.c:
5055         Removed old mouse handling code. Moved cursor handling code
5056         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
5057         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
5058         gdk_mouse_get_info.
5059
5060         * gdk/linux-fb/gdkmain-fb.c:
5061         Pass NULL pointers for x,y in gdk_mouse_get_info call.
5062
5063         * gdk/linux-fb/gdkprivate-fb.h:
5064         Removed public gdk_fb_find_common_ancestor, added and renamed
5065         functions for the new mouse handling code.
5066
5067         * gdk/linux-fb/gdkwindow-fb.c:
5068         Moved gdk_fb_window_send_crossing_events here. added global
5069         variable gdk_fb_window_containing_pointer. made
5070         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
5071         renamed to gdk_mouse_get_info.
5072
5073 2000-12-06  Alexander Larsson  <alexl@redhat.com>
5074
5075         * gdk/linux-fb/gdkevents-fb.c:
5076         Update to match latest gmain/gsource changes.
5077
5078         * gdk/linux-fb/gdkinput-ps2.c:
5079         Bogus gdk_keymap_get_entries_for_keycode implementation so that
5080         it links. Will be implemented later.
5081
5082 2000-12-03  Havoc Pennington  <hp@pobox.com>
5083
5084         * gdk/Makefile.am: add gdkkeys.[hc]
5085
5086         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
5087         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
5088
5089         * acconfig.h, configure.in: add checks and command line options
5090         for XKB
5091
5092         * gdk/x11/gdkkeys-x11.c: Implement the above functions
5093         
5094         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
5095         and group in the key event
5096
5097         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
5098         field with the low-level hardware key code, and a group
5099         field with the keyboard group
5100
5101         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
5102         and declare a couple globals used for keymap handling
5103         
5104         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
5105         hold down Shift-Control and type a hex number to get a Unicode 
5106         character corresponding to the hex number
5107         (gtk_im_context_simple_get_preedit_string): Fix cursor position
5108         (return bytes not chars)
5109
5110 2000-12-05  Elliot Lee  <sopwith@redhat.com>
5111
5112         * gdk/gdkcolor.h: Make GdkColor specify element sizes
5113         to avoid waste on 64-bit platforms.
5114
5115 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
5116
5117         * INSTALL: Fix link to PNG home, remove reference
5118         to fribidi.
5119
5120         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
5121         
5122         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
5123         tested.)
5124
5125         * gtk/gtkcheckmenuitem.c: Permanently turn on
5126         always_show_toggle.
5127
5128         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
5129         be NULL. (Vladimir Klebanov, #26545)
5130
5131         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
5132         some signed/unsigned comparison problems. (#6510,
5133         David Kaelbling)
5134
5135         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
5136         return type to boolean (Oskar Liljeblad, #18648)
5137
5138 2000-12-05  Alexander Larsson  <alexl@redhat.com>
5139
5140         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
5141         Remove bogus colormap setting.
5142
5143 2000-12-05  Alexander Larsson  <alexl@redhat.com>
5144
5145         * gdk/linux-fb/gdkcolor-fb.c:
5146         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
5147
5148         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
5149         Must set colormap.
5150         
5151 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
5152
5153         * docs/tutorial/gtk-tut.sgml: DND updates
5154
5155 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
5156
5157         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
5158         Remove old debug g_warning().
5159         (gdk_fb_draw_drawable): The src argument can be either a wrapper
5160         or an implementation, just pass the implementation to draw_drawable_2.
5161         
5162         * gdk/linux-fb/gdkprivate-fb.h:
5163         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
5164
5165         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
5166         clear and invalidate area when window is destroyed.
5167         (send_map_events): Remove old commented out code.
5168
5169 2000-12-05  Alexander Larsson  <alexl@redhat.com>
5170
5171         * gdk/linux-fb/gdkpango-fb.c:
5172         Use italic instead of oblique in font aliases.
5173         
5174         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
5175         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
5176         other unsupported functions.
5177
5178 2000-12-04  Havoc Pennington  <hp@redhat.com>
5179
5180         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
5181
5182         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
5183
5184         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
5185
5186         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
5187         hack to avoid infinite loops (synthetic expose event) - 
5188         Owen has more appropriate fixes in a branch he'll check in later.
5189
5190         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
5191         separator, CR, and CRLF as line ends
5192
5193         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
5194         into lines using pango_find_paragraph_boundary(); other bits of
5195         the widget are still going to be broken if the boundary isn't '\n'
5196         though
5197
5198 2000-12-04  Alexander Larsson  <alexl@redhat.com>
5199
5200         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
5201         multiply.
5202
5203         * gdk/linux-fb/gdkpango-fb.c:
5204         Copied some 26.6 scaling macros from pango to clean up the rounding.
5205         (pango_fb_font_get_glyph_info): Correct sign on x value.
5206
5207         * gdk/linux-fb/gdkprivate-fb.h:
5208         Removed unreferenced external functions.
5209
5210         * modules/linux-fb/Makefile.am: Use ` instead of '.
5211
5212         * modules/linux-fb/basic.c:
5213         Remove dead code. In particular the dummy lang engine which broke all
5214         pango layouts in GtkFB. Don't include tables-big.i anymore.
5215
5216         * modules/linux-fb/tables-big.i:
5217         Upgrade to latest version from pango. Left for reference, basic_ranges
5218         moved to basic.c.
5219         
5220 2000-12-04  Havoc Pennington  <hp@redhat.com>
5221
5222         Fix bugs Alex found:
5223         
5224         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
5225         to "draw"
5226
5227         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
5228
5229         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
5230
5231         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
5232         implementation in here, apparently the expose() implementation was
5233         dead code.
5234
5235 2000-12-04  Alexander Larsson  <alexl@redhat.com>
5236
5237         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
5238         Return positive descent.
5239
5240 2000-12-02  Havoc Pennington  <hp@pobox.com>
5241
5242         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
5243         method and signal
5244         
5245         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
5246         calls gdk_window_process_updates() to push the exposes through
5247         (gtk_widget_class_init): No more draw signal, no
5248         gtk_widget_real_draw()  
5249         
5250         * gtk/gtkbin.c (gtk_bin_draw): remove
5251
5252         * gtk/gtkbox.c (gtk_box_draw): remove
5253
5254         * gtk/gtkbutton.c (gtk_button_draw): remove
5255
5256         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
5257
5258         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
5259
5260         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
5261
5262         * gtk/gtkclist.c (gtk_clist_draw): remove
5263
5264         * gtk/gtkentry.c (gtk_entry_draw): remove
5265
5266         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
5267
5268         * gtk/gtkfixed.c (gtk_fixed_draw): remove
5269
5270         * gtk/gtkframe.c (gtk_frame_draw): remove
5271
5272         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
5273
5274         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
5275
5276         * gtk/gtklayout.c (gtk_layout_draw): remove
5277
5278         * gtk/gtklist.c (gtk_list_draw): remove
5279
5280         * gtk/gtklistitem.c (gtk_list_item_draw): remove
5281
5282         * gtk/gtkmenu.c (gtk_menu_draw): remove
5283
5284         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
5285
5286         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
5287
5288         * gtk/gtknotebook.c (gtk_notebook_draw): remove
5289
5290         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
5291
5292         * gtk/gtkpacker.c (gtk_packer_draw): remove
5293
5294         * gtk/gtkrange.c (gtk_range_draw): remove
5295
5296         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
5297
5298         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
5299
5300         * gtk/gtktable.c (gtk_table_draw): remove
5301
5302         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
5303
5304         * gtk/gtktext.c (gtk_text_draw): remove
5305
5306         * gtk/gtktextview.c (gtk_text_view_draw): remove
5307
5308         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
5309
5310         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
5311
5312         * gtk/gtktree.c (gtk_tree_draw): remove
5313
5314         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
5315
5316         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
5317
5318         * gtk/gtkviewport.c (gtk_viewport_draw): remove
5319
5320         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
5321
5322         * gtk/gtkvscale.c (gtk_vscale_draw): remove
5323
5324         * gtk/gtkwindow.c (gtk_window_draw): remove
5325
5326 2000-20-01  Anders Carlsson  <andersca@gnu.org>
5327
5328         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
5329         a GtkToggleButton is both insensitive and active, it was being
5330         drawn by the GtkButton draw handler which doesn't check the
5331         state. Now it's calling gtk_toggle_button_paint instead.
5332         
5333 2000-12-01  Havoc Pennington  <hp@redhat.com>
5334
5335         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
5336         dangling pointers to the appearance attributes from the 
5337         line display
5338
5339         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
5340         width/height to mean "full width/height of drawable"
5341
5342         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
5343         click to select word/line
5344         
5345         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
5346         when getting log attrs. Get a slice, so that pixmaps and stuff
5347         are properly handled.
5348
5349         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
5350         paste into the selection (replaces selection now, previously
5351         crashed or added to selection). Reveals longstanding btree bug -
5352         select multiple lines, middle-click on the selection, boom. This
5353         isn't related to my changes though.
5354
5355         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
5356         PangoLogAttrs changes
5357         (gtk_entry_move_backward_word): ditto
5358
5359         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
5360         functions return bool whether the iter moved onto a
5361         dereferenceable position.
5362  
5363         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
5364         functions for motion in terms of display lines.
5365
5366         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
5367         get the buffer a mark is inside
5368         
5369 2000-12-01  Alexander Larsson  <alexl@redhat.com>
5370
5371         * gdk/linux-fb/Makefile.am:
5372         * modules/linux-fb/Makefile.am:
5373         Freetype 2 final uses freetype-config
5374
5375         * gdk/linux-fb/gdkpango-fb.c:
5376         Upgrade to use Freetype 2 final.
5377         More flexible support for font aliases, this also fixes a bug with
5378         GtkFontSelector, as the aliases must be visible in the font/family list,
5379         or GtkFontSelector reads uninitialized memory.
5380
5381 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
5382
5383         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
5384         XGetIMValues to properly terminate variable argument list, and do
5385         NULL return check for ic_values and xim_styles.
5386
5387         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
5388         Restore preedit state after XmbResetIC().
5389         
5390         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
5391         XvaCreateNestedList() should take XvaNestedList, but not
5392         XvaNestedList*.
5393
5394         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
5395         preedit_draw_callback, preedit_caret_callback): Match
5396         "preedit-changed" signal name to "preedit_changed" to be
5397         consistent to the spec.
5398
5399         * gtk/gtkimcontextsimple.c (check_table):
5400         Match "preedit-changed" to "preedit_changed" to be consistent
5401         to the spec.
5402
5403 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
5404
5405         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
5406         gc->clip_region == NULL>
5407
5408 2000-11-30  Tor Lillqvist  <tml@iki.fi>
5409
5410         Changes by Hans Breuer:
5411         
5412         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
5413         Dont't use negative width and height as max_hints. This fixes
5414         Owen's recent testgtk changes for win32.
5415
5416         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
5417         gdk_win32_hdc_release): These are exported and may be called with
5418         other drawable types than our GdkDrawableImplWin32 (?).
5419
5420         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
5421         so always #define USE_BACKING_STORE.
5422
5423         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
5424         of printf for debugging output.
5425
5426         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
5427         
5428         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
5429
5430         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
5431         declaration.
5432
5433         * gtk/gtktexttypes.h: Ditto.
5434
5435         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
5436         (GDK_VoidSymbol) also if in case of arg check failure.
5437
5438         * gtk/gtkimcontextsimple.c
5439         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
5440         position to the pointer, but to the variable it points to.
5441
5442         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
5443
5444         * gtk/gtk.def: Updates.
5445
5446 2000-11-29  Elliot Lee  <sopwith@redhat.com>
5447
5448         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
5449         GTK_TYPE_TREE_MODEL.
5450
5451 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5452
5453         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
5454         Set the size of the font from the description.
5455         (gdk_text_width): Gross hack that calculates the width
5456         of text by text_length * size/2. This is necessary because
5457         GtkLabel does some ugly gtk_string_width call to calculate
5458         an good size.
5459         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
5460
5461 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
5462
5463         * docs/tutorial/gtk-tut.sgml: DND updates
5464
5465 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5466
5467         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
5468         If you pass width or height == 0 to gdk_window_clear_area they
5469         should be calculated from the window size.
5470
5471 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5472
5473         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
5474         a grab, but no grab-cursor, use the cursor from the grabbed
5475         window. (gdk_fb_window_send_crossing_events): Send normal
5476         enter/leave notifications if grab and owner_events == TRUE.
5477
5478 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5479
5480         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
5481         Do implicit button grabs, even if the window doesn't
5482         want the event.
5483         (gdk_fb_window_send_crossing_events): If there is a
5484         grab, only the grabbed window gets normal enter/leave
5485         notifications. On ungrab go from grabbed window to current.
5486         Don't send any notification to b when propagating from c -> b.
5487         If setting a grab on window, don't set prev_window.
5488         (handle_mouse_input): Send enter/leave events to the window the
5489         mouse is over, not the grabbed one.
5490         
5491 2000-11-28  Elliot Lee  <sopwith@redhat.com>
5492
5493         * gdk/gdkregion-generic.c: Zap warning.
5494         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
5495         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
5496
5497 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
5498
5499         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
5500         The cursor should be hidden if it is part of either the
5501         source or destination region. Not only if it is in both.
5502         (gdk_window_set_transient_for): Silence warnings.
5503
5504 2000-11-28  Alexander Larsson  <alexl@redhat.com>
5505
5506         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
5507         The default mode in X is Pie Arcs, therefore that is
5508         what Gtk+ uses.
5509
5510 2000-11-28  Alexander Larsson  <alexl@redhat.com>
5511
5512         * gdk/linux-fb/gdkinput-ps2.c:
5513         Implement correct EnterNotify/LeaveNotify:
5514         (gdk_fb_window_send_crossing_events): New function that sends
5515         all GdkCrossingEvents from the last mouse-window to the specified
5516         destination.
5517         (gdk_fb_window_visibility_crossing): Removed function.
5518         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
5519         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
5520         instead of gdk_window_get_pointer() for better readability.
5521
5522         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
5523         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
5524
5525         * gdk/linux-fb/gdkprivate-fb.h:
5526         removed gdk_fb_window_visibility_crossing, added
5527         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
5528
5529         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
5530         New function that finds the least common ancestor of two windows.
5531         (gdk_window_show, gdk_window_hide):
5532         Use gdk_fb_window_send_crossing_events.
5533         (gdk_fb_window_move_resize): Send configure events to toplevel
5534         windows. Use gdk_fb_window_send_crossing_events.
5535
5536 2000-11-27  Havoc Pennington  <hp@redhat.com>
5537
5538         * gtk/gtkprivate.h (enum): Remove a trailing comma
5539
5540 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
5541
5542         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
5543         the "changed" callback of the adjustment.  We need to redraw the
5544         spin button's arrows when the adjustment's range changes.
5545         (adjustment_changed_cb): Draw the arrows.
5546         (gtk_spin_button_value_changed): Draw the arrows.
5547
5548 2000-11-23  Alexander Larsson  <alexl@redhat.com>
5549
5550         * gdk/linux-fb/gdkselection-fb.c:
5551         Initial selection implementation.
5552
5553         * gtk/gtkselection.c:
5554         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
5555         requestor in gtk_selection_request.
5556         
5557         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
5558         Added gdk_selection_property atom.
5559
5560         * gdk/linux-fb/gdkprivate-fb.h:
5561         Export _gdk_selection_window_destroyed.
5562         Removed mask_off_x/y from GdkCursorPrivateFB.
5563         Removed hbearing, added top, left to PangoFBGlyphInfo.
5564
5565         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
5566         Call _gdk_selection_window_destroyed
5567         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
5568         the root window has been created.
5569         (static_dx_hack, static_dy_hack, compare_draw_rects,
5570         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
5571         in region. They are already sorted. Instead just traverse them in
5572         reverse if draw_direction < 0.
5573         
5574         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
5575         Double-clicks must be sent after the normal button_press.
5576         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
5577         
5578         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
5579         Pass _gdk_fb_screen_gc instead of NULL.
5580
5581         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
5582         Initialize gdk_selection_property.
5583         (gdk_event_make): Remove unused code.
5584
5585         * gdk/linux-fb/gdkcursor-fb.c:
5586         Make the pixmap for the cursor the same size as the mask. Also remove
5587         the mask_off_x/y fields in GdkCursorPrivateFB and combine
5588         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
5589         Now the whole cursor is visible.
5590
5591         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
5592         Fix bug where xdest+height instead of ydest+height was used
5593         to calculate if the source and dest overlapped. This fixes the
5594         redraw bug when the main window in testgtk was scrolled when
5595         partially covered by a tall window.
5596         Copy rectangles in region in order depending on draw_direction.
5597         Also moved the draw_direction flipping of start_y and end_y into
5598         the gc functions, as this might not be what all of them want.
5599         (gdk_fb_draw_lines): Support dashed lines.
5600         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
5601         so that the text is positioned correctly (was 1 pixel high).
5602
5603         gdk/linux-fb/gdkgc-fb.c:
5604         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
5605         all lines were drawn a pixel to short. Also checked the default of
5606         the rest of the values, and they're the same as X now.
5607
5608         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
5609         Clean up pixel positioning of the glyphs. Just use bgy->top and
5610         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
5611         to all divisions to get correct rounding behaviour.
5612
5613         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
5614         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
5615         Moved start_y/end_y flip into draw_drawable implementations.
5616         Flip also x rendering when draw_direction < 0.
5617         Remove unneccesary multiply with draw_direction.
5618
5619 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
5620
5621         * docs/tutorial/gtk-tut.sgml:
5622           - get rid of gtk_toggle_button_toggled FUD
5623           - start DND section - needs work - based on:
5624                 http://wolfpack.twu.net/docs/gtkdnd/
5625
5626 2000-11-22  Alexander Larsson  <alexl@redhat.com>
5627
5628         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
5629         Correct calculation of font metrics. Now GtkEntrys have sane
5630         size.
5631
5632 2000-11-22  Alexander Larsson  <alexl@redhat.com>
5633
5634         * gdk/gdktypes.h:
5635         Add new type GdkSpan
5636         
5637         * docs/reference/gdk/gdk-sections.txt,
5638         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
5639         gdk/gdkregion.h:
5640         Implement and document gdk_region_spans_intersect_foreach.
5641
5642         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
5643         Add new file gdkrender-fb.c which contains all core
5644         rendering code.
5645         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
5646         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
5647         (optimized rectangle fillers).
5648
5649         * gdk/linux-fb/gdkdrawable-fb2.c:
5650         Move all rendering code to gdkrender-fb.c.
5651         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
5652         Use the new span intersection functions in gdk_fb_fill_spans.
5653         gdk_fb_draw_rectangle() clips filled rectangles and calls
5654         gc->fill_rectangle with the result.
5655         gdk_fb_fill_spans() gets extra argument "sorted".
5656
5657         * gdk/linux-fb/gdkevents-fb.c:
5658         Remove unused includes and defines.
5659         New function gdk_fb_get_time() to get correct time for events.
5660
5661         * gdk/linux-fb/gdkinput-ps2.c:
5662         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
5663         Make sure to set the time of all events.
5664
5665         * gdk/linux-fb/gdkmain-fb.c:
5666         Use gdk_fb_get_time ().
5667
5668         * gdk/linux-fb/gdkprivate-fb.h:
5669         New virtual GC calls: fill_span & fill_rectangle.
5670         Export gdk_fb_get_time().
5671         gdk_fb_fill_spans() gets extra argument "sorted".
5672
5673         * gdk/linux-fb/mi*.c:
5674         Use GdkSpan instead of GdkRectangle.
5675         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
5676         from XFree 4 source)
5677         
5678 2000-11-22    <jrb@redhat.com>
5679
5680         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
5681         reversing the order in an if statement will do.  Doing so managed
5682         to make the treemodelsort half work.  Other half will follow after
5683         I get the insert function fully fixed.
5684
5685 2000-11-21  Elliot Lee  <sopwith@redhat.com>
5686         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
5687         more than 2 bits. Besides, I need to implement an evil hack. :)
5688
5689 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
5690
5691         * docs/tutorial/gtk-tut.sgml: minor corrections
5692
5693 2000-11-20  Jonathan Blandford <jrb@redhat.com>
5694         * gtk/gtktreemodelsort.h: Add convertion functions to let you
5695           convert to and from relative path's and iters.
5696
5697         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
5698           testing sorting functions a bit better.  Currently broken -- will
5699           fix in morning.
5700
5701 2000-11-20  Havoc Pennington  <hp@redhat.com>
5702
5703         * gtk/gtkwidget.c: Documented a bunch of functions in here
5704         (gtk_widget_realize): Warn if you try to realize
5705         a widget with no parent that isn't a toplevel
5706         (gtk_widget_intersect): return a gboolean
5707
5708 2000-11-20  Havoc Pennington  <hp@redhat.com>
5709
5710         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
5711         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
5712         scrolling to be implemented in GDK to finish. Also, right now
5713         we just size_allocate all children on every layout change,
5714         which is pretty lame. Test commented out of testtext.c, 
5715         until it works better.
5716
5717 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
5718
5719         * gdk/linux-fb/gdkdrawable-fb2.c:
5720         Removed unused arguments from gdk_fb_drawable_get_pixel().
5721
5722         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
5723         Renamed fidur specific mouse packet data in MouseDevice to
5724         generic. Used it in ps2 mouse handling code to avoid blocking
5725         reads.
5726
5727 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
5728
5729         * demos/gtk-demo/main.c: Changed to have the list become
5730         non-italic when the demo window is destroyed through an external
5731         event (like a close button).  Doing so found three bugs in the
5732         widget.
5733
5734         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
5735
5736         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
5737         we actually set the cell.
5738
5739         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
5740
5741         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
5742         free a leaked path.  Thanks memprof.
5743
5744 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
5745
5746         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
5747         off-by-one error when destroying allocated segments
5748         on failure. (Elliot)
5749
5750 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
5751
5752         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
5753         memleaks found by Evan Martin.
5754
5755 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
5756
5757         * Released 1.3.2
5758         
5759         * NEWS: Updates for 1.3.2
5760
5761 2000-11-17  Tor Lillqvist  <tml@iki.fi>
5762
5763         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
5764         but in general for window system specific events.
5765
5766         * gtk/gtk.def
5767         * gtk/makefile.mingw.in
5768         * gtk/makefile.msc.in: Update.
5769         
5770         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
5771
5772 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
5773
5774         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
5775         distribute gtk.immodules.
5776
5777         * gtk/Makefile.am (install-data-local): Don't install the
5778         gtk.immodules file created for the uninstalled modules;
5779         instead run gtk-query-immodules after install
5780
5781 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
5782
5783         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
5784         -rpath to the right install location.
5785
5786         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
5787         -export-dynamic.
5788
5789         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
5790         properly.
5791
5792 2000-11-15  Havoc Pennington  <hp@pobox.com>
5793
5794         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
5795         patch from Mikael Hermansson to temporarily stop blinking while
5796         the user is using the keyboard to type or navigate. 
5797
5798         Also, when blinking, stay on for longer than we stay off. Also,
5799         return from start_cursor_blink if !cursor_visible, to save
5800         checking that flag all over the place before we call
5801         start_cursor_blink.
5802
5803 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
5804
5805         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
5806         only contain a "fontset" line, which is now ignored.
5807
5808         * gtk/gtkentry.c (gtk_entry_button_release): Make 
5809         double-click-to-select-word work.
5810         
5811 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
5812
5813         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
5814         Don't move back one char when we are actually at the end of the 
5815         paragraph.
5816
5817 2000-11-15  Robert Brady  <robert@suse.co.uk>
5818
5819         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
5820         'o' < 'p'.
5821         
5822         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
5823         bind_textdomain_codeset.
5824
5825         (gtk_init_check): Make the warning about translating default:LTR
5826         sterner.
5827         
5828 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
5829
5830         * **/Makefile.am : remove unecessary rules for win32-specific
5831         config-substituted targets. If you want these rules, use
5832         --enable-maintainer-mode (called automatically by autogen.sh).
5833         Stops a lot of unneccessary make-time warnings.
5834
5835         * gtk/gtktext{layout,display}.c: Factor in total width as
5836         well as screen when figuring alignment for word-wrap as well as
5837         no wrap; this is necessary to handle lines that cannot be wrapped
5838         at all.
5839
5840 2000-11-15  Havoc Pennington  <hp@redhat.com>
5841
5842         * gtk/testtext.c: Implement essential color cycling feature
5843
5844 2000-11-15  Havoc Pennington  <hp@redhat.com>
5845
5846         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
5847         when we invalidate the main window.
5848
5849         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
5850         GtkTextView will now invalidate the side windows for us when text
5851         changes.
5852
5853 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
5854
5855         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
5856         unconditionally, since we may need to update the horizontal
5857         scrollbars even if the height didn't change.
5858
5859         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
5860         the extra attrs, since some of them affect size.
5861
5862         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
5863         x_offset correctly.
5864
5865 2000-11-15  Havoc Pennington  <hp@redhat.com>
5866
5867         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
5868         don't move the first line out into the margin, instead move the
5869         whole paragraph in order to make space for the first line within 
5870         the margin
5871
5872 2000-11-15  Havoc Pennington  <hp@redhat.com>
5873
5874         * gtk/gtktextview.c (changed_handler): offset redraw rect by
5875         xoffset in addition to yoffset, so horizontal scrolling doesn't
5876         break redraws
5877
5878 2000-11-15  Havoc Pennington  <hp@redhat.com>
5879
5880         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
5881         from the cursor
5882         (render_layout_line): fix reversed test that caused weird
5883         underlines to get drawn
5884
5885 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
5886
5887         * gdk/linux-fb/gdkprivate-fb.h:
5888         Fix debug macros.
5889         
5890 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
5891
5892         * gdk/linux-fb/gdkprivate-fb.h:
5893         Added virtual functions set_pixel, get_color,
5894         fill_span and draw_drawable to the GC.
5895         Added global _gdk_fb_screen_gc to use instead of
5896         NULL when drawing to the screen.
5897         Added _gdk_fb_gc_calc_state() prototype.
5898
5899         * gdk/linux-fb/gdkgc-fb.c:
5900         Call _gdk_fb_gc_calc_state() on any gc state change.
5901
5902         * gdk/linux-fb/gdkglobals-fb.c:
5903         Add _gdk_fb_screen_gc
5904                 
5905         * gdk/linux-fb/gdkdrawable-fb2.c:
5906         _gdk_fb_gc_calc_state() calculates best functions
5907         for the GC state and depth.
5908         Moved bpp specialized code to separate functions.
5909         Added optimized 24 bpp AA draw_drawable.
5910
5911         * gdk/linux-fb/gdkevents-fb.c:
5912         Silence gcc warning.
5913
5914         * gdk/linux-fb/gdkimage-fb.c:
5915         Use _gdk_fb_screen_gc
5916
5917         * gdk/linux-fb/gdkwindow-fb.c:
5918         Init and use _gdk_fb_screen_gc
5919
5920         * gdk/linux-fb/mitypes.h:
5921         Remove unused types.
5922
5923 2000-11-14  Havoc Pennington  <hp@pobox.com>
5924
5925         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
5926         to pixels
5927
5928 2000-11-14  Havoc Pennington  <hp@pobox.com>
5929
5930         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
5931
5932         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
5933         unknown char, no real reason we were using a variable. 
5934         Remove gtk_text_unknown_char variable. Fix all the text widget
5935         files accordingly.
5936
5937         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
5938         since the Unicode spec seems to prefer that character for our
5939         purposes.
5940
5941 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
5942
5943         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
5944         value of g_getenv() isn't freeable, so g_strdup it.
5945
5946         * modules/input/inuktitut.c: Inuktitut input method.
5947
5948         * modules/input/Makefile.am: Build this.
5949         
5950 2000-11-14  Elliot Lee  <sopwith@redhat.com>
5951
5952         * gtk/Makefile.am: Install gtk.immodules, needed for operation
5953         of gtk programs.
5954
5955 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
5956
5957         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
5958         reversed > that was causing Home to go to end of previous line.
5959
5960         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
5961         modified-keypresses (leave for bindings.)
5962
5963         * modules/input/Makefile.am: Remove useless -export-dynamic
5964         from module LDFLAGS.
5965
5966 2000-11-14  Havoc Pennington  <hp@redhat.com>
5967
5968         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
5969         higher.
5970
5971         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
5972         account. Also, render rise, underline, background, etc. for
5973         pixbufs as well as text. Also, draw underlines one pixel higher.
5974
5975         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
5976         PangoAttribute for the rise, so it gets drawn properly. Also,
5977         add the GtkTextAppearance attribute for pixbuf/widget segments
5978         as well; we should go ahead and have rise, underline, background,
5979         stipple work for those
5980
5981         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
5982         Pango
5983
5984 2000-11-15  Tor Lillqvist  <tml@iki.fi>
5985
5986         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
5987
5988         * gtk/gtk.def: Update.
5989
5990         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
5991         included.
5992         (gtk_rc_get_im_module_file): Use run-time installation directory
5993         on Win32.
5994
5995         * gdk/win32/rc/gdk.rc: Remove.
5996         * gdk/win32/rc/gdk.rc.in: New file.
5997         * gdk/win32/rc/Makefile.am: New file
5998         * gdk/win32/Makefile.am: Corresponding changes.
5999
6000         * gtk/gtk.rc: Remove.
6001         * gtk/gtk-win32.rc.in: New file.
6002         * gtk/Makefile.am: Corresponding changes.
6003
6004         * configure.in: Corresponding changes.
6005
6006         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
6007         has a built gtkcompat.h. Developers using CVS code on Win32 can
6008         hand-edit it from gtkcompat.h.in.
6009
6010         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
6011         gtkcompat.h from gtkcompat.h.win32.
6012
6013 2000-11-14  Havoc Pennington  <hp@redhat.com>
6014
6015         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
6016         to default to GDK_ACTION_MOVE if the drag is within a single
6017         widget. Defaults to GDK_ACTION_COPY between widgets.
6018
6019 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
6020
6021         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
6022
6023         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
6024
6025         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
6026         srcdir != builddir
6027
6028         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
6029
6030         * configure.in (GTK_VERSION): Up to 1.3.2
6031
6032         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
6033         gtkimcontextxim.h
6034
6035         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
6036         missing doc comment.
6037
6038 2000-11-14  Alexander Larsson  <alexl@redhat.com>
6039
6040         * modules/linux-fb/basic.c:
6041         Use the glib iconv wrappers.
6042
6043 2000-11-13  Havoc Pennington  <hp@pobox.com>
6044
6045         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
6046         still more bugs.
6047
6048         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
6049         scroll the GdkWindows before realization.
6050
6051 2000-11-13  Havoc Pennington  <hp@redhat.com>
6052
6053         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
6054         where GC didn't always get updated properly
6055
6056         * demos/gtk-demo/textview.c (create_tags): Use subattributes
6057         of fonts instead of setting the entire font
6058
6059         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
6060         setting entire font
6061
6062         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
6063
6064         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
6065         a bunch of individually-settable font attributes. You can still 
6066         use the "font" and "font_desc" args, they just set all the font
6067         attributes at once.
6068
6069 2000-11-13 Elliot Lee <sopwith@redhat.com>
6070
6071         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
6072
6073 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
6074
6075         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
6076         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
6077
6078         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
6079         work better.
6080
6081 2000-11-13  Havoc Pennington  <hp@redhat.com>
6082
6083         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
6084         the module file.
6085
6086         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
6087         dest->language
6088
6089         * gtk/testtext.c: Test pixels above/below/inside paragraphs
6090         settings
6091
6092         * gtk/gtktextview.c: Implement object args and setters/getters for
6093         all the aspects of the GtkTextAttributes that are not set from
6094         GtkWidget attributes. This is spacing, justification, margins,
6095         etc.
6096
6097         (gtk_text_view_set_arg)
6098         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
6099         args
6100         (gtk_text_view_class_init): Add args for justify, left_margin,
6101         right_margin, indent, and tabs
6102         
6103
6104         * gtk/gtktextlayout.c (set_para_values): fix to display indent
6105         attribute properly
6106
6107         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
6108         replace with indent attribute
6109
6110         * gtk/gtktextlayout.c (set_para_values): multiply indent by
6111         PANGO_SCALE
6112
6113         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
6114         rearranging code to do that
6115         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
6116         i.e. don't subtract the top_margin first, just to keep
6117         all margin-futzing in one place.
6118
6119         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
6120
6121         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
6122         special case of last line, Pango now handles this itself.
6123         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
6124         Y coordinate
6125         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
6126         (find_display_line_above): wasn't moving the byte index as it
6127         iterated over lines, so always returned byte 0. Also, port to use
6128         PangoLayoutIter.
6129         (find_display_line_below): same problem as
6130         find_display_line_above. Also, port to use PangoLayoutIter.
6131
6132 2000-11-13  Alexander Larsson  <alexl@redhat.com>
6133
6134         * gdk/linux-fb/*.[ch]:
6135         Massive reindent to gtk+ standard. My hands hurt.
6136
6137         * gdk/linux-fb/gdkcolor-fb.c:
6138         Move GdkColorPrivateFB from inherited to windowing_data
6139
6140         * gdk/linux-fb/gdkcursor-fb.c:
6141         _gdk_cursor_new_from_pixmap made static
6142
6143         * gdk/linux-fb/gdkdnd-fb.c:
6144         GdkDragContextPrivate moved to windowing_data
6145
6146         * gdk/linux-fb/gdkdrawable-fb2.c:
6147         Removed endian.h, use glib endianness macros instead
6148         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
6149         and GDK_DRAWABLE_IMPL_FBDATA
6150
6151         * gdk/linux-fb/gdkfont-fb.c:
6152         Add empty gdk_font_load(). Needed for linking of Gtk+.
6153
6154         * gdk/linux-fb/gdkimage-fb.c:
6155         Removed endian.h, use glib endianness macros instead
6156         Moved GdkImagePrivateFB to windowing_data
6157         gdk_image_new_bitmap didn't always allocate enough
6158         memory.
6159
6160         * gdk/linux-fb/gdkinput-ps2.c:
6161         Added semi-working support for MS serial mice.
6162
6163         * gdk/linux-fb/gdkprivate-fb.h:
6164         s/GdkWindowPrivate/GdkWindowObject/
6165         Removed GdkWindowPrivate typedef
6166         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
6167         Removed GDK_DRAWABLE_P
6168         Move GdkColorPrivateFB from inherited to windowing_data
6169         Moved GdkImagePrivateFB to windowing_data
6170
6171         * gdk/linux-fb/gdkvisual-fb.c:
6172         Removed some unused debug code.
6173
6174         * gdk/linux-fb/gdkwindow-fb.c:
6175         Use stock cursors instead of including X headers.
6176         s/GdkWindowPrivate/GdkWindowObject/
6177
6178         * gdk/linux-fb/mitypes.h:
6179         Removed unused types.
6180
6181         * modules/linux-fb/basic.c:
6182         Use the pango fribidi wrappers.
6183
6184 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6185
6186         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
6187         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
6188         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
6189         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
6190         GEqualFunc where applicable.
6191         
6192         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
6193         pango_font_description_equal as changed in pango.
6194         
6195         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
6196
6197         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
6198
6199         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
6200
6201         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
6202
6203         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
6204
6205         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
6206
6207         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
6208         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
6209
6210         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
6211         gtk_rc_styles_compare -> gtk_rc_styles_equal.
6212
6213 2000-11-12  Havoc Pennington  <hp@pobox.com>
6214
6215         * demos/gtk-demo/Makefile.am (democodedir): change demo install
6216         dir to datadir/gtk+-2.0/demo
6217
6218         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
6219         sorts of text widget and Pango font bugs. Urgh.
6220
6221         * demos/gtk-demo/Makefile.am (demos): Add textview.c
6222
6223         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
6224         tree that you should double click to see the demo. Fix 
6225         types of variables to reflect changed return values from 
6226         GtkTreeStore and GtkTreeViewColumn constructors.
6227
6228         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
6229         newly-created buffer to prepare for GObject semantics
6230
6231         * gtk/testtext.c: don't leak the buffer with GObject semantics
6232
6233         * gtk/testtextbuffer.c: ditto
6234         
6235 2000-11-12  Havoc Pennington  <hp@pobox.com>
6236
6237         Rename this testgtk to gtk-demo to avoid confusion, and 
6238         install it so people can use it as a supplement to 
6239         the documentation.
6240         
6241         * demos/gtk-demo: Moved from demos/testgtk
6242
6243         * demos/testgtk: Removed
6244
6245         * configure.in: make Makefile in gtk-demo
6246         
6247         * demos/gtk-demo/Makefile.am: Install sample source to 
6248         datadir/gtk-demo (maybe there's a better place?), and 
6249         rename the binary to gtk-demo
6250         
6251         * demos/gtk-demo/main.c (load_file): Load installed sample
6252         source if source isn't found in pwd.
6253
6254 2000-11-09  Havoc Pennington  <hp@pobox.com>
6255
6256         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
6257         argument to set the char displayed when visibility == FALSE
6258         (gtk_entry_create_layout): If !entry->visible, replace 
6259         all chars with the "invisible char"
6260
6261         * gtk/testgtk.c: Test the invisible_char deal
6262         
6263 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
6264
6265         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
6266         can't get a native font in the right encoding.
6267
6268 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
6269
6270         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
6271         respectively.
6272
6273 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
6274
6275         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
6276         Fix warning when moving between paragraphs.
6277
6278         * gtk/gtkentry.[ch]: Change move => move_cursor, 
6279         delete => delete_from_cursor, insert => insert_at_cursor
6280
6281 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
6282
6283         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
6284
6285         * modules/input/imthai-broken.c: A Thai input method for use if
6286         Thai keys are really generating Latin1 keysyms.
6287
6288         * modules/input/Makefile.am: Build these.
6289
6290 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
6291
6292         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
6293         g_filename_{to,from}_utf8 now takes an extra parameter.
6294
6295         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
6296         strftime into UTF-8.
6297
6298         (column_from_x, gtk_calendar_paint_day_names): Support RTL
6299         calendars.
6300
6301         (gtk_calendar_paint_day_names): Draw day names in the right 
6302         place.
6303         
6304 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
6305
6306         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
6307         problem with using result of g_get_charset() backwards -
6308         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
6309
6310         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
6311         negative min_width/height and max_width/height to
6312         mean "requisition"; this allows setting a window
6313         to be user-resizable in only one direction easily.
6314
6315         * gtk/testgtk.c (create_main_window): Remove hard-coded
6316         usize - set a default size in the vertical direction.
6317
6318 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
6319
6320         * gtk/gtkrange.c: Add some missing casts. Support 
6321         2 and 3 button clicks on the arrows to mean 
6322         "move by pages" and "jump to end". (Like gtkspinbutton)
6323
6324 2000-11-12 Hans Breuer <Hans@Breuer.Org>
6325
6326         * gdk/win32/makefile.msc : reflect build module changes
6327
6328         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
6329         from GdkPixmap*, cast implementation member instead.
6330
6331         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
6332         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
6333         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
6334         more Gdi functions return value checking. 
6335         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
6336         GdkImagePrivateWin32 *.
6337
6338         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
6339         menus useable again. Add #pragma message to keep reminded on this issue.
6340         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
6341         windows. This allows to enable backing store on Win32!
6342
6343         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
6344         in drawable is of impl type. Correct specific type checks appropriate.
6345  
6346         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
6347         GDK_WINDOW_DESTROYED before allocating new resources.
6348
6349         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
6350
6351         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
6352         (gdk_window_foreign_new) initialize parent handle.
6353         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
6354
6355         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
6356         Let the GDI invalidate the window on MoveWindow call to fix scrolling
6357         problems (e.g. main buttons in testgtk). 
6358
6359 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
6360
6361         * gtk/gtkentry.c (gtk_entry_key_press): Call 
6362         gtk_widget_activate for GDK_Return.
6363
6364         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
6365         of preedit cursor position.
6366
6367 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
6368
6369         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
6370         static.
6371
6372 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
6373
6374         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
6375         out support for multiple locales; that simple doesn't
6376         work reliably with current Xlib
6377
6378         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
6379         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
6380         Add support for positioning the cursor within the preedit string.
6381
6382 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
6383
6384         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
6385         at XIM input method module.
6386
6387         * gtk/gtktextview.c: Check for bindings after passing
6388         events to im context filter.
6389
6390 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
6391
6392         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
6393         empty attribute lists properly.
6394
6395 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
6396
6397         * gtk/queryimmodules.c (main): Return non-zero exit
6398         status if errors were encountered querying any
6399         modules.
6400
6401         * modules/input/Makefile.am (moduledir): remove
6402         leftover bin program target.
6403
6404         * docs/make-todo: Fix typo in error message.
6405
6406 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
6407
6408         * configure.in: Add modules/input/Makefile
6409
6410 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
6411
6412         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
6413         don't include gtkthemes.h.
6414
6415         * gtk/testgtk.c gtk/testtext.c: Set environment variables
6416         to point
6417
6418         * gtk/Makefile.am: Add new .c and .h files, build 
6419         gtk-query-immodules and use it to create a gtk.immodules
6420         file for use of test programs.
6421
6422         * gtk/gtkpreview.c: remove extra blank line.
6423
6424 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
6425
6426         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
6427         Add the ability to add extra tables beyond the default
6428         one, and also the ability to have compose sequences 
6429         that are prefixes of other compose sequences. 
6430
6431         * gtk/gtkimcontextsimple.c: Export a preedit string which
6432         consists of possible candidates for keystrokes that have
6433         been entered but not yet committed.
6434
6435         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
6436         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
6437
6438         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
6439         Add a function to add input-method switching menu items
6440         to a menu.
6441
6442         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
6443         when switching input methods.
6444
6445         * gtk/gtkimcontextsimple.[ch]: Change the format of
6446         the compose table to allow compose tables of different
6447         lengths / sequence.
6448
6449 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
6450
6451         * gtk/gtkimmodule.[ch]: Support routines for loading
6452         GtkIMContext implementations dynamically at runtime.
6453
6454         * modules/input/imcyrillic-translit.c: A sample input
6455         method (based on GtkIMContextSimple with an extra table),
6456         which demonstrates preedit strings and the module
6457         system for input modules
6458
6459         * gtk/queryimmodules.c: Program to query the available
6460         input modules and write the results into a file.
6461          
6462         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
6463         extra config options "im_module_file" (cache file for
6464         input method modules), and "im_module_path" - path
6465         to look for modules when generating cache file.
6466
6467         This doesn't scale.
6468
6469 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
6470
6471         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
6472         generic code from gtkthemes into a new abstraction
6473         GtkModule which has the logic for implementing
6474         a loadable module which implements a number of 
6475         GObject types.
6476
6477 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
6478
6479         * gtk/gtkeditable.[ch]: Convert GtkEditable from
6480         a class into an interface  
6481         
6482         * gtk/gtkoldeditable.[ch]: Move the old editable
6483         implementation into here, so legacy widgets can
6484         still rely on the implemenation. GtkOldEditable
6485         exports GtkEditable. Make selection handling
6486         code use new text conversion functions (and
6487         handle UTF-8 as a side-effect). Use GtkClipboard
6488         for CLIPBOARD.
6489
6490         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
6491         Adopt to match above changes.
6492
6493         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
6494         avoid GtkOldEditable implementation. Restructure
6495         to reduce number of places that modify state directly.
6496         Move to GtkBindingSet. Display the preedit string.
6497         Queue recomputation of PangoLayout and scroll position
6498         to improve effiency of doing complex changes naively.
6499         Add a menu with cut/copy/paste and input method selection.
6500
6501 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
6502
6503         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
6504         to set preedit string and attributes; display preedit string by
6505         inserting string and attributes at cursor when creating the
6506         GtkTextLineDisplay.
6507
6508         * gtk/gtktextlayout.c: Move all conversions between byte
6509         positions in PangoLayout and GtkTextIter into new functions
6510         line_display_iter_to_index/index_to_iter that properly
6511         handle the preedit string.
6512
6513         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
6514         it to return const char * (eventually will end up
6515         as GCONST char *, most likely.)
6516
6517         * gtk/gtktextview.[ch]: Handle the preedit string, call
6518         gtk_im_context_reset() as necessary, add a menu to switch
6519         input methods.
6520         
6521         * gtk/gtktextlayout.[ch]: Remove useless
6522         gtk_text_layout_get_log_attrs() function.
6523
6524 2000-11-11  Tor Lillqvist  <tml@iki.fi>
6525
6526         * gdk/gdk.def
6527         * gtk/gtk.def: Update.
6528
6529         * gdk/win32/*.c: Add last argument to g_type_register_static()
6530         calls.
6531
6532         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
6533
6534         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
6535         generated by older wheel mouse drivers. Get the correct y
6536         coordinate from WM_MOUSEWHEEL messages.
6537
6538         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
6539         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
6540         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
6541         Debugging functions.
6542
6543         * gdk/win32/gdkprivate-win32.h: Declare them.
6544
6545         * gdk/win32/gdkinput-win32.h: Add declaration for
6546         gdk_input_window_destroy().
6547
6548         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
6549
6550 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
6551
6552         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
6553         function to help handle keeping things in sync.
6554
6555 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
6556
6557         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
6558         BOXED marshallers.
6559
6560         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
6561         (gtk_list_store_class_init): use the new BOXED marshallers.
6562
6563         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
6564         new_with_values to new_with_types.
6565         (gtk_tree_store_get_column_type): add this.
6566         (gtk_tree_store_class_init): use the new BOXED marshallers.
6567
6568         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
6569         mirror some POINTER marshallers.
6570
6571 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
6572
6573         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
6574         allow more interesting iterators.  Also, made the lifecycle of
6575         iterators more explicit.
6576
6577         * gtk/gtktreemodelsort.[ch]: New model for sorting.
6578
6579         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
6580         types.
6581
6582 2000-11-09  Alexander Larsson  <alexl@redhat.com>
6583
6584         * demos/testgtk/menus.c:
6585         Changes to make the new testgtk compile after
6586         gtk_menu_append was removed.
6587
6588         * gdk/linux-fb/gdkdrawable-fb2.c
6589         (gdk_fb_get_depth, gdk_fb_get_visual,
6590         gdk_drawable_impl_fb_class_init): Implement
6591         these drawable functions. Now GtkImages work again.
6592
6593         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
6594
6595         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
6596         
6597         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
6598         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
6599         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
6600         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
6601
6602 2000-11-08  Havoc Pennington  <hp@pobox.com>
6603
6604         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
6605         visible_set args, don't know where these had gone, I thought they
6606         used to be there
6607
6608         * gtk/testtext.c: Add a menu item to apply invisibility tag;
6609         now we can test the feature and see that it's totally broken.
6610
6611 2000-11-08  Havoc Pennington  <hp@pobox.com>
6612
6613         Make DND copy pixbufs and tags when source and target share a 
6614         tag table.
6615         
6616         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
6617         in-process GTK_TEXT_BUFFER_CONTENTS target
6618         (gtk_text_view_drag_data_received): Paste from
6619         GTK_TEXT_BUFFER_CONTENTS if we receive it.
6620
6621 2000-11-08  Alexander Larsson  <alexl@redhat.com>
6622
6623         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
6624         API changes.
6625
6626         * gtk/gtkmenu.c: Add support for scrolling menus.
6627         Remove gtk_menu_append/prepend/insert, these have been moved to
6628         gtkcompat.h as #defines.
6629
6630         * gtk/gtkcompat.h.in:
6631         Add compatibility #defines for gtk_menu_append/prepend/insert
6632
6633         * gtk/gtkmenu.h: Add data needed for scrolling menus.
6634         GtkMenuPositionFunc gets an extra argument push_in.
6635         gtk_menu_append/prepend/insert removed.
6636         
6637         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
6638         positioning behaviour to fit to scrolling menus.
6639
6640         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
6641         into menuitem->submeny. That is wrong, and broke torn
6642         off submenus of torn off menus, since they were unrealized
6643         when the first menu was unrealized.
6644
6645         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
6646         gtk_menu_shell_select_item() since these need to be overridden in
6647         GtkMenu.
6648
6649         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
6650         positioning behaviour to fit to scrolling menus.
6651         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
6652         the current item so that it is prelighted when the menu pops up.
6653         This is a workaround to the fact that the menu doesn't get the
6654         initial enter event (due to grabs).
6655
6656         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
6657         s/gtk_menu_append/gtk_menu_shell_append/
6658
6659         * gtk/gtknotebook.c:
6660         s/gtk_menu_insert/gtk_menu_shell_insert/
6661
6662         * gtk/testgtk.c (create_menu, create_menus):
6663         Create the first menu with 50 items so that menu scrolling
6664         can be tested.
6665         
6666         
6667         Patch from Jonathan Blandford  <jrb@redhat.com>
6668
6669         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
6670         system to handle size requests.  First, we ask what the size of
6671         the toggle is.  Then, when allocating the size, we allocate the
6672         toggle_size first.  This way we can have multiple menu-item
6673         classes w/o needing a seperate class for each.
6674
6675         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
6676         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
6677
6678         * gtk/gtkcheckmenuitem.c
6679         (gtk_check_menu_item_toggle_size_request): New function to handle
6680         the toggle size-request.
6681
6682 2000-11-07  Havoc Pennington  <hp@redhat.com>
6683
6684         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
6685         Half-ass somewhat fix this function, so that scrolling to the
6686         insertion point works. Pango hacking is in the future to really
6687         fix it.
6688
6689         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
6690         length of data, no longer used.
6691
6692         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
6693         method contents in here, get rid of destroy method
6694         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
6695         that were backward. Remove debug spew.
6696         (cut_or_copy): Make the clipboard work with insert_range to
6697         preserve tags and pixbufs, not just the primary selection.
6698
6699 2000-11-07  Havoc Pennington  <hp@redhat.com>
6700
6701         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
6702         to gtk_text_mark_get_visible
6703
6704         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
6705         bug that was generating an invalid iterator
6706
6707         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
6708         ensure_char_offsets() in front of code placing the iter in an
6709         invalid state.
6710
6711         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
6712         make override_location arg const
6713         (paste): Replace the selection if we paste into the 
6714         current selection
6715
6716         * gtk/gtkselection.h: Remove "GtkSelectioData"
6717         (struct _GtkSelectionData): move the definition here.
6718
6719         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
6720         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
6721
6722         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
6723
6724         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
6725         (gtk_text_buffer_insert_range_interactive): implement
6726         (gtk_text_buffer_get_tags): Remove, replaced by
6727         gtk_text_iter_get_tags()
6728
6729         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
6730         limit parameter, to avoid infinite linear scan.
6731         (gtk_text_iter_backward_search): Add search limit
6732         (gtk_text_iter_forward_find_char): Add search limit
6733         (gtk_text_iter_backward_find_char): Add search limit
6734
6735 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
6736
6737         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
6738         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
6739         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
6740         gdk/linux-fb/gdkwindow-fb.c:
6741         use g_object_new() instead of g_type_create_instance() which
6742         is a private function for fundamental type implementations.
6743
6744         * gdk/linux-fb/gdkinput-ps2.c:
6745         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
6746         instead just store the current modifier state. Add a (somewhat broken)
6747         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
6748         Rename exported function gdk_input_ps2_get_mouseinfo to
6749         gdk_input_get_mouseinfo.
6750
6751         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
6752         gdk/linux-fb/gdkwindow-fb.c:
6753         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
6754         
6755
6756 2000-11-02  Havoc Pennington  <hp@redhat.com>
6757
6758         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
6759         use stock buttons. Should be 100% source compatible, appropriate
6760         filesel fields now point to dialog->vbox and dialog->action_area.
6761         On the bizarre side, dialog->action_area and filesel->action_area
6762         are not the same widget.
6763         (gtk_file_selection_init): Put some padding around the selection
6764         entry, so it isn't touching the GtkDialog separator.    
6765
6766         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
6767         use stock buttons, etc. Should also be source compatible.
6768         Set the dialog default title in _init not _new().
6769         
6770         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
6771         Use stock buttons; don't put a button box inside the existing
6772         dialog button box. Don't bother with push/pop colormap anymore.
6773
6774         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
6775         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
6776         for message dialog, and necessary for the font selection and color
6777         selection with help and apply buttons.
6778         
6779         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
6780         to the created button widget. Set GTK_CAN_DEFAULT on the button.
6781         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
6782         between buttons, put less padding around the action area.
6783         (gtk_dialog_run): Exit on unmap rather than on destroy. 
6784         This will also exit the loop if the widget is hidden.
6785         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
6786         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
6787         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
6788         special-case delete event.
6789
6790         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
6791         formatting
6792         
6793 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
6794
6795         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
6796         button to temporarily disable position recording in the
6797         "saved position" test.
6798
6799 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
6800
6801         * gtk/gtkthemes.c: added compat code that temporarily implements
6802         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
6803         going to be revamped by owen's upcoming GtkModule patches, but
6804         untill then people want gtk to build, right? ;)
6805
6806 2000-11-04  Havoc Pennington  <hp@pobox.com>
6807
6808         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
6809         list
6810
6811         * docs/Changes-2.0.txt: Add note about
6812         gtk_container_get_toplevels()
6813
6814         * gtk/gtktextview.h: formatting
6815         
6816         * gtk/gtktextview.c: don't start descriptions with "Returns",
6817         confuses gtk-doc
6818
6819 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
6820
6821         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
6822         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
6823
6824 2000-11-03  Havoc Pennington  <hp@redhat.com>
6825
6826         * gtk/gtktexttagtable.c: Docs
6827         (gtk_text_tag_table_size): return a signed int
6828
6829         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
6830         (gtk_text_tag_event): make the event_object a GObject
6831
6832         * gtk/gtktextview.c: Write API docs for all functions.
6833
6834         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
6835         for gtk_text_view_get_window_type() called on one of the private
6836         windows.
6837
6838         * gtk/gtktextview.c: Instead of accessing text_view->buffer
6839         directly, call get_buffer() which demand-creates a default
6840         buffer. So gtk_text_view_new() can be used to create a view with a
6841         default buffer in it, if you just want an empty text box users can
6842         put data in. Useful for GUI builders also.
6843
6844 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
6845
6846         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
6847         the charset encodign portion MUST be in lowercase.
6848         * gtk/gtkrc.az: added file for Azeri language
6849
6850 2000-11-03  Havoc Pennington  <hp@redhat.com>
6851
6852         Get widgets working on the btree/buffer side. Display of them 
6853         still doesn't work.
6854         
6855         * gtk/gtktextview.c: start implementing child widget stuff
6856
6857         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
6858
6859         * gtk/gtktextlayout.c: handle embedded widgets
6860
6861         * gtk/gtktextdisplay.c: handle embedded widgets
6862
6863         * gtk/gtktextchild.c: Implement all the child anchor goo
6864
6865         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
6866         function
6867
6868         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
6869         (insert_pixbuf_or_widget_segment): abstract out common portions of 
6870         creating a child anchor or a pixbuf segment.
6871         (gtk_text_btree_create_child_anchor): new function
6872         (gtk_text_btree_unregister_child_anchor): new function
6873
6874         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
6875         allocate_child signal on GtkTextLayout
6876
6877         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
6878         values
6879         (gtk_text_iter_get_child_anchor): new function
6880
6881         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
6882         default handler for the changed signal, which calls
6883         gtk_text_buffer_set_modified(), instead of just always emitting
6884         changed then calling set_modified() manually. I guess this is
6885         maybe more flexible. It seems logical.
6886
6887 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
6888
6889         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
6890         now.
6891
6892         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
6893
6894 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
6895
6896         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
6897         been marked static.
6898
6899 2000-11-02  Havoc Pennington  <hp@redhat.com>
6900
6901         * gtk/testgtk.c (create_labels): had a test backward
6902
6903         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
6904         fields, so the dest GC ends up with the correct clip origin, 
6905         etc. Fixes a bug where colored labels didn't redraw 
6906         properly.
6907
6908 2000-11-02  Alexander Larsson  <alexl@redhat.com>
6909
6910         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
6911         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
6912         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
6913         Add last argument to t_type_register_static call.
6914         
6915         * gdk/linux-fb/gdkdrawable-fb2.c:
6916         Add last argument to t_type_register_static call.
6917         export the get_image drawable virtual function.
6918
6919         * gdk/linux-fb/gdkimage-fb.c:
6920         Add last argument to t_type_register_static call.
6921         rename gtk_image_get to _gdk_fb_get_image and
6922         export it for use by gdkdrawable-fb2.
6923
6924         * gdk/linux-fb/gdkprivate-fb.h:
6925         export _gdk_fb_get_image.
6926
6927         * gdk/linux-fb/gdkselection-fb.c:
6928         Add new api call stubs.
6929
6930         * gtk/Makefile.am:
6931         Missing ( in linux-fb part.
6932
6933         * modules/linux-fb/Makefile.am:
6934         Must link with gdk_pixbuf or get unresolved symbol.
6935
6936 2000-11-01  Havoc Pennington  <hp@pobox.com>
6937
6938         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
6939         GTK_TYPE_TEXT_ITER and BOXED marshallers
6940
6941         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
6942
6943         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
6944         
6945         * gtk/gtk-boxed.defs: add GtkTextIter
6946
6947         * gtk/gtkmarshal.list: Add marshallers for text widget that 
6948         properly use OBJECT and BOXED
6949
6950 2000-11-01  Havoc Pennington  <hp@redhat.com>
6951
6952         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
6953
6954         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
6955         before returning it. 
6956         
6957 2000-11-01  Havoc Pennington  <hp@redhat.com>
6958
6959         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
6960         Clip the rectangle to be rendered to the drawable, since
6961         get_from_drawable() requires a region within the drawable
6962
6963 2000-11-01  Havoc Pennington  <hp@redhat.com>
6964
6965         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
6966         from coordinates.
6967
6968 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
6969
6970         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
6971         it isn't NULL.
6972
6973 2000-11-01  Havoc Pennington  <hp@pobox.com>
6974
6975         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
6976         on a label
6977         (gtk_label_finalize): unref the attr list if any.
6978
6979         * gtk/testgtk.c (create_get_image): close test on second click
6980         (make_message_dialog): close dialog if it exists
6981
6982         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
6983
6984         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
6985         gdk-pixbuf
6986
6987         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
6988         from Pango markup format
6989         (gtk_label_set_markup_with_accel): ditto but with accelerator
6990         parsing
6991
6992         * gtk/gtkimage.c (gtk_image_expose): reformatting.
6993
6994         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
6995         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
6996         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
6997         call gdk_window_get_origin().
6998
6999         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
7000         implement GDK_PIXBUF_ALPHA_FULL
7001         
7002 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
7003
7004         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
7005         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
7006         g_signal_handlers_disconnect_matched to block/unblock and disconnect
7007         multiple handlers respectively, instead of only treating the
7008         first handler found (bug reported by owen).
7009
7010 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
7011
7012         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
7013
7014         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
7015
7016         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
7017         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
7018         gtk/gtktreeviewcolumn.h: Fixed inline docs.
7019
7020         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
7021         widget.  Needs writing someday.
7022
7023         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
7024         the docs.
7025
7026 2000-10-30  Havoc Pennington  <hp@redhat.com>
7027
7028         * gtk/gtktextview.h, gtk/gtktextview.c:
7029         Rename delete_at_cursor delete_from_cursor, and 
7030         move to move_cursor.
7031
7032 2000-10-30  Havoc Pennington  <hp@redhat.com>
7033
7034         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
7035         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
7036         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
7037         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
7038         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
7039         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
7040         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
7041         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
7042         gtktexttypes.h, gtktextview.c, gtktextview.h:
7043
7044         Massive reindentation and reformatting. Arg alignment and comments
7045         still need fixing in various places.
7046
7047 2000-10-30  Havoc Pennington  <hp@redhat.com>
7048
7049         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
7050         to be named insert_at_cursor and delete_at_cursor so C++ can
7051         handle them.
7052
7053 2000-10-28  Tor Lillqvist  <tml@iki.fi>
7054
7055         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
7056         to get a double directory separator in case the home directory
7057         ends with one. This would cause trouble especially on Windows,
7058         where the path will be confused with the syntax for an an UNC
7059         (network share) path \\server\share\path.
7060         (gtk_rc_add_initial_default_files): Ditto.
7061
7062 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
7063
7064         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
7065
7066         * gtk/gtktextview.c: Use correct marshallers.
7067
7068 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
7069
7070         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
7071         use new iter stuff, and added all the appropriate signals et al.
7072
7073         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
7074         code is internal to gtk only.
7075
7076 2000-10-28  Tor Lillqvist  <tml@iki.fi>
7077
7078         * gtk/gtk.def
7079         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
7080         glib-genmarshal etc.
7081
7082 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
7083
7084         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
7085         parallel builds.
7086
7087 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
7088
7089         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
7090
7091 2000-10-27  Robert Brady  <robert@suse.co.uk>
7092
7093         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
7094         en_GB (British), ia (Interlingua).
7095
7096 2000-10-26  Havoc Pennington  <hp@redhat.com>
7097
7098         * gtk/gtktextiter.c (my_strrstr): fix constness warning
7099
7100         Fixed output of:
7101         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
7102         
7103         * gtk/gtktextsegment.c (char_segment_new): rename
7104         (_char_segment_new_from_two_strings): rename
7105         (_toggle_segment_new): rename
7106         
7107         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
7108         (make_clipboard_widget): make it static
7109         (text_get_func): static
7110         (text_clear_func): static
7111
7112         * gtk/gtkcolorsel.c (adjustment_changed): make this function
7113         static
7114         (hex_changed): make it static
7115         (hsv_changed): make it static
7116         (opacity_entry_changed): make it static
7117
7118         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
7119         (toggle_segment_check_func): rename with _gtk
7120
7121         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
7122         (_widget_segment_new): rename
7123         (_widget_segment_add): rename
7124         (_widget_segment_remove): rename
7125         (_widget_segment_ref): rename
7126         (_widget_segment_unref): rename
7127
7128         * gtk/gtktextmark.c (_mark_segment_new): Rename
7129         _gtk_mark_segment_new   
7130
7131 2000-10-26  Havoc Pennington  <hp@redhat.com>
7132
7133         * gtk/gtkmarshal.list: add new marshallers used by the text widget
7134         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
7135         types
7136
7137         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
7138         marshaller types
7139
7140         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
7141         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
7142         license on these files.
7143
7144         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
7145         work.
7146
7147         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
7148         runtime random number different for each tree, instead of 
7149         a constant I made up.
7150
7151 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
7152
7153         * gtk/Makefile.am: buncha cleanups, kludged build sources
7154         dependencies with a Makefile: oldest-source-stamp dependancy
7155         for the moment. automake is really fighting us here, with
7156         intentionally not allowing user-defined rules or dependancies
7157         prior to it's -include $(DEP_FILES) statement. sucks rocks!
7158
7159         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
7160         to public headers. tehy have a comment stating that they are
7161         "semi-public" aren't included by gtk.h and if enums popup there,
7162         they can be /*< skip >*/-ed.
7163
7164         * gtk/gtktextlayout.h: 
7165         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
7166         added LGPL... <SIGH>
7167
7168 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
7169
7170         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
7171         GtkTreeIter.  Added iterators everywhere.
7172
7173         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
7174
7175         * gtk/gtktreeviewselection.c: Changed to use the iterators.
7176
7177         * gtk/gtktreestore.c: Changed to use the iterators.
7178
7179         * gtk/gtkliststore.c: Commented out the code.  Will convert to
7180         iterators tomorrow.
7181
7182         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
7183         iterators tomorrow.
7184
7185         * gtk/treestoretest.c: Changed to use iterators.
7186
7187         * demos/testgtk/main.c: Moved to use the new iterator system.
7188
7189 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
7190
7191         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
7192         localization misbehaviour.
7193
7194         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
7195         a useless type without copy/free.
7196
7197         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
7198         of GTK_TYPE_CTREE_NODE.
7199
7200 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
7201
7202         * gtk/gtksignal.c:
7203         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
7204         applicable.
7205
7206         * gtk/gtk-boxed.defs (GtkSelectionData): specify
7207         gtk_selection_data_copy and gtk_selection_data_free
7208         do GtkSelectionData work as params in signals.
7209
7210 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
7211
7212         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
7213         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
7214         couldn't they at least give it a non-standard name?
7215         
7216         * gtk/gtktextlayout.c: arg! yet another implementation of
7217         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
7218
7219         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
7220         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
7221         home. now i know this _is_ a conspiracy.
7222
7223         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
7224         ::state-changed.
7225
7226         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
7227         (gtk_accel_group_create_add): marshaller signature fixups.
7228
7229         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
7230         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
7231
7232         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
7233         anymore.
7234
7235 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
7236
7237         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
7238         due to the signal system changes, it wouldn't build currently. to
7239         be fixed soon.
7240
7241         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
7242
7243         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
7244         so it needs gtk_marshal_VOID__ENUM() instead of
7245         gtk_marshal_NONE__UINT().
7246
7247         * gdk/gdk*.c: adapted type registration functions.
7248
7249         * gtk/gtkbindings.c:
7250         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
7251         gone.
7252
7253         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
7254
7255         * gtk/gtkobject.c:
7256         (gtk_object_destroy):
7257         (gtk_object_shutdown): fixed recursion guards. basically we have to
7258         catch the case where any of GObject.shutdown() or gtk_object_destroy()
7259         is called during ::destroy, and avoid recursion there.
7260
7261         * gtk/gtktypeutils.c:
7262         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
7263         boxed_copy/boxed_free. this needs a more general solution based on a
7264         publically installed code-generator utility.
7265
7266         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
7267         glib's gobject has support for that now.
7268         define GtkSignalMarshaller in terms of GSignalCMarshaller.
7269
7270 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
7271
7272         * gtk/gtksignal.[hc]:
7273         * gtk/gtkmarshal.[hc]:
7274         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
7275         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
7276         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
7277         care of that.
7278
7279         * *.c: marshaller name fixups.
7280
7281         * gtk/gtkmarshal.list: added a comment briefing the format.
7282
7283 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
7284
7285         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
7286         compatibility macros here now. more specifically, most of
7287         the API is preserved (yes, _most_, nonwithstanding the
7288         following exceptions listed, the API is stil lHUGE ;)
7289         things that got removed completely:
7290         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
7291         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
7292         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
7293         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
7294         gtk_signal_remove_emission_hook().
7295         non-functional functions variants:
7296         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
7297         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
7298         not supported anymore.
7299         (gtk_signal_compat_matched): new internal function to aid
7300         implementation of the compatibility macros, it  provides
7301         functionality to block/unblock/disconnect handlers based
7302         on func/data.
7303
7304         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
7305
7306         * *.c: adaptions to new type registration API signatures.
7307
7308 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
7309
7310         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
7311
7312 2000-10-25  Robert Brady  <robert@suse.co.uk>
7313
7314         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
7315         gdk_property_delete): If window == NULL, assume the root window.
7316         (restoring the behaviour that was in 1.2).
7317         
7318         * gtk/testtext.c (save_buffer): Allow creation of new files when
7319         saving.
7320
7321         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
7322         calls to read().
7323
7324 2000-10-25  Tor Lillqvist  <tml@iki.fi>
7325
7326         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
7327
7328         * gdk/win32/gdkdrawable-win32.c
7329         * gdk/win32/gdkimage-win32.c
7330         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
7331         X11 backend.
7332
7333         * gdk/win32/gdkcc-win32.c
7334         * gdk/win32/gdkcolor-win32.c
7335         * gdk/win32/gdkfont-win32.c
7336         * gdk/win32/gdkinput-win32.c
7337         * gdk/win32/gdkmain-win32.c
7338         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
7339
7340 2000-10-24  Havoc Pennington  <hp@redhat.com>
7341
7342         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
7343         it a static function
7344
7345         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
7346         redraw text when a tag is applied to it.
7347
7348         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
7349         (gtk_text_tag_affects_nonsize_appearance): private functions to
7350         see if a tag requires various kinds of redraw/layout to be queued
7351         up.
7352
7353         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
7354
7355         * gtk/testtext.c (fill_example_buffer): Put the cursor 
7356         at the start of the buffer, so search works by default
7357
7358         * gtk/gtktextiter.c (lines_match): init match_start always
7359
7360         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
7361         function, get iter at a line + a byte index
7362
7363         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
7364         to set byte position within a line
7365         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
7366
7367 2000-10-23  Havoc Pennington  <hp@redhat.com>
7368
7369         * gtk/testtext.c: Re-enable the "find" dialog
7370
7371         * gtk/testgtk.c: Add test for gdk_drawable_get_image
7372         
7373         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
7374         the arguments to gdk_draw_drawable were in the wrong order
7375         (gdk_window_paint_init_bg): This function was ignoring the
7376         init_region, instead of clipping to it, so the entire backing
7377         pixmap was cleared on every begin_paint()
7378         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
7379         was in here again, the loop kept using the same GtkWindowPaint
7380         over and over.
7381         (gdk_window_begin_paint_region): Fix a bug where we had two
7382         x_offset instead of x_offset and y_offset
7383
7384         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
7385         before we get the image.
7386         (gdk_draw_drawable): get the composite before we draw the drawable.
7387         (gdk_drawable_real_get_composite_drawable): default
7388         get_composite_drawable implementation that returns the drawable 
7389         itself
7390
7391         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
7392         get_composite_drawable virtual function
7393
7394         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
7395         list-walking bug
7396
7397         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
7398         make this work if the source drawable is a GdkDrawableImplX11
7399         instead of a public drawable type. This is really broken; the
7400         problem is that GdkDrawable needs a virtual method get_xid(), but
7401         of course that doesn't work in practice. Enter RTTI.
7402
7403         Also, improve mismatched depth message.
7404
7405         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
7406         GdkPixmap
7407
7408         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
7409         install _gdk_x11_get_image as our implementation of get_image
7410         
7411         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
7412         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
7413
7414         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
7415         gdk_drawable_get_image
7416
7417         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
7418
7419         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
7420         get_image
7421
7422         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
7423         trailing semicolon after for loop
7424
7425 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
7426
7427         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
7428         where font_desc for widget's context lagged widget's font_desc by
7429         one step.
7430
7431 2000-10-22  Tor Lillqvist  <tml@iki.fi>
7432
7433         * gdk/win32/gdkgc-win32.c
7434         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
7435
7436         * gtk/makefile.mingw.in
7437         * gtk/gtk.def: Updates.
7438
7439         * gtk/testgtk.c: sleep() is called _sleep in MS's C
7440         library.
7441
7442         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
7443
7444         * gtk/makefile.msc: Remove
7445
7446         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
7447
7448         * gtk/Makefile.am: Add it.
7449
7450         * configure.in: Generate it.
7451
7452         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
7453         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
7454         something even if not implemented, to satisfy picky MSVC.
7455
7456         Patches by Hans Breuer:
7457         
7458         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
7459         SetBkMode() and SetTextAlign() before calling
7460         pango_win32_render().
7461
7462         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
7463         Set hcliprgn to NULL after destroying it.
7464         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
7465
7466         * gdk/win32/gdkgeometry-win32.c
7467         (_gdk_windowing_window_queue_antiexpose): More effective
7468         implementation.
7469
7470         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
7471         depth as default, not the visual's.
7472
7473         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
7474         against empty title.
7475
7476         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
7477         IMAGE_PRIVATE_DATA.
7478
7479         * gdk/win32/gdkimage-win32.c: Use it.
7480
7481 2000-10-22  Robert Brady  <robert@suse.co.uk>
7482
7483         * configure.in: Check for bind_textdomain_codeset
7484
7485         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
7486         present, make use of it.
7487
7488         Add a translatable string "default:LTR" which, if translated
7489         to "default:RTL", will cause the default direction to be
7490         Right-to-Left.
7491
7492         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
7493         direction if marked as flippable.
7494
7495         * gtk/gtkhscale.c: Mark widget as flippable.
7496         
7497 2000-10-04  Havoc Pennington  <hp@redhat.com>
7498
7499         * gtk/testgtk.c (create_buttons): create some stock buttons
7500         with the default accel group
7501         (create_image): test some new GtkImage features
7502         (make_message_dialog): test GtkMessageDialog
7503         (create_modal_window): fix someone's bizzarro indentation
7504
7505         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
7506         GTK_WIN_POS_CENTER_ON_PARENT. 
7507         Add "destroy with parent" setting, which means the window goes
7508         away with its transient parent.
7509         (gtk_window_get_default_accel_group): get the default accel group
7510         for the window.
7511         (gtk_window_set_destroy_with_parent): set/unset destroy with
7512         parent flag
7513         (gtk_window_read_rcfiles): invalidate icon set caches
7514         after reloading rcfiles 
7515
7516         * gtk/gtkenums.h (GtkWindowPosition): add
7517         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
7518         on its parent window when the dialog is mapped for the first time.
7519
7520         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
7521         a simple message dialog class
7522         
7523         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
7524         handler to emit response signal, and maybe later it would
7525         honor a hide_on_delete flag - though that isn't there yet.
7526         Set border width on the vbox to 2, so we get some padding.      
7527         Use a button box for the action area.
7528         (gtk_dialog_key_press): synthesize a delete event if Esc
7529         is pressed and the GtkWidget key press handler didn't 
7530         handle the escape key.
7531         (gtk_dialog_new_with_buttons): new function creates a dialog
7532         with some default buttons in it.
7533         (gtk_dialog_add_action_widget): add an activatable widget
7534         as a button in the dialog - you can also add a non-activatable
7535         widget by accessing the action area directly.
7536         (gtk_dialog_add_button): add a simple button - stock ID or 
7537         label - to the action area
7538         (gtk_dialog_response): emit response signal
7539         (gtk_dialog_run): block waiting for the dialog, return 
7540         the response. Override normal delete_event behavior, so that 
7541         delete_event does nothing inside gtk_dialog_run().
7542
7543         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
7544         emitted when an action widget is clicked or the dialog gets
7545         delete_event
7546
7547         * gtk/gtk.h: add gtkmessagedialog.h
7548
7549         * gtk/Makefile.am: add gtkmessagedialog.[hc]
7550
7551 2000-10-18  Havoc Pennington  <hp@redhat.com>
7552
7553         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
7554         where any number of empty lines would get skipped
7555
7556         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
7557         edge.
7558
7559         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
7560         warning about invalid iterators (explain more thoroughly)
7561         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
7562
7563         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
7564         big
7565
7566         * demos/*.c: Add error handling
7567
7568         * gtk/gtktextbuffer.c: don't modify const iterators
7569
7570         * gtk/gdk-pixbuf-loader.c: Add full error handling here
7571
7572         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
7573         on file load
7574
7575         * gtk/gtkiconfactory.c: Update to reflect addition of error
7576         handling to gdk-pixbuf loaders
7577
7578 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
7579
7580         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
7581         move to new modularized testgtk.
7582
7583 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
7584
7585         * gtk/gtktreeview.c: Draw the arrows correctly.
7586
7587         * gtk/gtktreemodel.c: Added user docs.
7588
7589         * gtk/gtk.h: remove gtktreedatalist.h.
7590
7591         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
7592         parent when generating my type.
7593
7594         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
7595         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
7596
7597 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
7598
7599         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
7600         GtkTreeModel from object to interface.
7601
7602 2000-10-16  Havoc Pennington  <hp@redhat.com>
7603
7604         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
7605         compilation
7606
7607 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
7608
7609         * gtk/gtktreeselection.c: Add API documentation to all public
7610         functions.
7611
7612         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
7613         functions.
7614
7615 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
7616
7617         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
7618         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
7619         docs to all public functions.
7620
7621         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
7622         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
7623         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
7624         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
7625         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
7626         issue.
7627
7628 2000-10-14  Robert Brady  <robert@suse.co.uk>
7629
7630         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
7631
7632 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
7633
7634         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
7635         values other then G_TYPE_STRING.
7636         * gtk/gtktreeselection.c: Minor commenting updates.
7637         * gtk/gtktreeview.c: Format updates.
7638
7639 2000-10-09  Tor Lillqvist  <tml@iki.fi>
7640
7641         * README.win32: Update.
7642
7643         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
7644         lines that had been deleted by mistake (?).
7645
7646         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
7647         also the case fg==white and bg==black (but still not randomly
7648         coloured cursors). Thanks to Wolfgang Sourdeau.
7649
7650         * gdk/win32/*.c: Silence gcc -Wall.
7651
7652         * gtk/gtk.def: Add missing entry points.
7653
7654         Fixes by Hans Breuer:
7655
7656         * gdk/makefile.msc
7657         * gdk/win32/makefile.msc: Update.
7658
7659         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
7660         some MSVC thing, presumably), cause breakpoint on failures. Add
7661         GDK_NOR case. Call g_log_set_always_fatal.
7662
7663         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
7664         should be pased by reference.
7665         
7666         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
7667         
7668         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
7669
7670         * gdk/win32/gdkevents-win32.c
7671         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
7672
7673         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
7674         implementation object.
7675
7676         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
7677         not just windows.
7678         
7679         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
7680         Use the wrapper object.
7681         
7682 2000-10-06  Havoc Pennington  <hp@redhat.com>
7683
7684         * Makefile.am (SRC_SUBDIRS): contrib subdir
7685
7686         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
7687         so it can be used in Xlib version
7688
7689         * demos/testpixbuf.c (update_timeout): error checking from 1.0
7690         tree
7691
7692         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
7693         change from 1.0 tree that returns first frame of animation
7694         if the loaded file is an animation.
7695
7696         * contrib: add new directory to hold stuff that comes with GTK+
7697         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
7698         
7699         * configure.in: add contrib/*
7700
7701 2000-10-05  Havoc Pennington  <hp@redhat.com>
7702
7703         * demos/testpixbuf-save.c: add pixbuf save test
7704
7705         * demos/Makefile.am: add testpixbuf-save.c
7706
7707 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
7708
7709         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
7710         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
7711         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
7712         * gtk/gtktreeselection.[ch]: Replaced
7713         "node_selected"/"node_unselected" signal with "selection_changed"
7714         signal.
7715
7716 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
7717
7718         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
7719         tree widget.
7720
7721 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
7722
7723         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
7724         drawing.
7725
7726 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
7727
7728         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
7729         Move list pointer forwards before removing item from
7730         list. (Crash reported by Salmaso Raffaele)
7731
7732         * gdk/gdkwindow.h: Remove spurious trailing ,
7733
7734         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
7735         dependencies on uninstalled libraries, sorry folks.
7736
7737 2000-10-04  Havoc Pennington  <hp@redhat.com>
7738
7739         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
7740         gtk/gtkiconfactory.c: Fix copyrights    
7741
7742         * demos/testpixbuf.c: add inline pixbuf test
7743         
7744 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
7745
7746         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
7747         Add gdk_window_iconify.
7748
7749         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
7750         (gdk_window_set_geometry_hints): Add win_gravity
7751         to geometry structure.
7752
7753         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
7754         Implement _NET_WM_PING.
7755
7756         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
7757         Set _NET_WM_PID on the client leader.
7758
7759         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
7760         Handle UTF-8 better.
7761
7762         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
7763         UTF-8 better, set _NET_WM_NAME as well. Only set
7764         icon name if it hasn't previously been explicitely 
7765         set.
7766
7767 2000-10-03  Havoc Pennington  <hp@redhat.com>
7768
7769         * gtk/testtextbuffer.c: clean up trailing whitespace,
7770         add extensive tests for tag toggle iteration.
7771         
7772         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
7773         distance
7774
7775         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
7776         optimize case where the tag root is on level 1
7777         (gtk_text_line_previous_could_contain_tag): attempt to implement
7778         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
7779         functionality
7780
7781         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
7782         Implement this, though not very efficiently.
7783
7784         * gtk/gtktextiterprivate.h: reformat
7785
7786         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
7787         iterator
7788
7789         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
7790         this to properly revalidate the iterators.
7791
7792         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
7793         properly at the end of the line (and therefore on empty lines)
7794
7795         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
7796         maybe we should return a value...
7797
7798 2000-10-03  Tor Lillqvist  <tml@iki.fi>
7799
7800         * config.h.win32: Guard definition of alloca(). glib.h now handles
7801         that.
7802
7803         * gdk/gdk.def
7804         * gtk/gtk.def: Add new entry points.
7805
7806         Changes just to make GTK+ build without errors on Win32. No hope
7807         of it working in its current state, though...:
7808         
7809         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
7810         some functions from the X11 backend, just to make GTK+ build.
7811
7812         * gdk/makefile.mingw.in
7813         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
7814         number. Add new object files.
7815
7816         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
7817         GetMessageTime to get timestamp (where on X11 uses
7818         gdk_x11_get_server_time()).
7819
7820 2000-10-02  Havoc Pennington  <hp@pobox.com>
7821
7822         * gtk/gtktextview.c: text_window_* weren't static and should have
7823         been.
7824         Start work on child widgets; not yet complete, syncing to 
7825         office computer.
7826
7827         * gtk/gtktextchild.h: change this to contain a public interface,
7828         starting work on child interfaces.
7829         * gtk/gtktextchildprivate.h: move private interfaces here
7830
7831         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
7832
7833         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
7834         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
7835         gtk/gtktextmark.c: copyright notices
7836
7837         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
7838         internal functions      
7839
7840         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
7841         internal function
7842
7843         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
7844         Reformatting    
7845
7846 2000-09-30  Havoc Pennington  <hp@pobox.com>
7847
7848         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
7849         NULL start/end pointers
7850
7851         * gtk/gtktextbuffer.c: Write some docs
7852         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
7853         NULL, so you can just check whether there's a selection.        
7854
7855         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
7856         cleanup_line or segments_changed ourselves, it gets done 
7857         in unlink_segment
7858
7859         * gtk/gtktextmark.h:
7860         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
7861         
7862         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
7863
7864         * gtk/gtktextmark.c: delete some more old Tk cruft
7865
7866         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
7867         mark before removing it, so we can emit MARK_DELETED with a valid
7868         pointer.
7869         (gtk_text_buffer_mark_set): hold ref across signal emission
7870
7871         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
7872         whining about attempts to delete special marks
7873
7874         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
7875         underscore, since it's internal.
7876
7877         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
7878         now implemented in terms of iterators in gtktextiter.h
7879
7880         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
7881         New function, destructively sets contents of buffer. Also 
7882         a convenient way to clear the buffer by setting text to ""
7883
7884         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
7885         multiline string literal
7886
7887         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
7888         text changes.
7889
7890         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
7891         is not dereferenceable
7892         (gtk_text_iter_forward_lines): fix return value
7893
7894 2000-09-29  Havoc Pennington  <hp@redhat.com>
7895
7896         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
7897
7898         * gtk/gtktextview.c: Implement drag thresholding; change functions 
7899         that set border window size to have nicer name
7900         (gtk_text_view_mark_set_handler):  Fix this to have the 
7901         right signature.
7902
7903         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
7904
7905         * gtk/testtext.c: Update with API changes, put line numbers on 
7906         both sides.
7907         
7908         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
7909         with this
7910
7911         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
7912         pixbuf; delete a big block of #if 0 Tk code
7913
7914         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
7915         insert_pixmap with insert_pixbuf
7916
7917 2000-09-29  Martin Baulig  <baulig@suse.de>
7918
7919         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
7920         confusion with the GdkPixbuf of the GNOME 1.x platform.
7921
7922 2000-09-29  Havoc Pennington  <hp@pobox.com>
7923
7924         * gtk/gtktextview.c: Implement the side windows.
7925
7926         * gtk/testtext.c: Implement simple line numbering in the 
7927         left side window; seems to make scrolling sloooow. Oops.
7928         Also, cursor blink is for some reason causing redraws
7929         of the line numbers. Should investigate...
7930
7931 2000-09-28  Havoc Pennington  <hp@redhat.com>
7932
7933         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
7934         scrolling child windows, and draw focus rectangle properly.
7935         
7936         (gtk_text_view_buffer_to_window_coords):
7937         Coordinate transformation to deal with all these freaking windows
7938         and offsets
7939         (gtk_text_view_window_to_buffer_coords): transform the other way
7940
7941         * gtk/testtext.c (create_buffer): Update to match Pango API change
7942
7943         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
7944         anonymous tags
7945         (foreach_unref): don't emit remove signal from finalize, just
7946         set tag's parent to NULL
7947
7948 2000-09-26  Havoc Pennington  <hp@redhat.com>
7949
7950         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
7951         Fix some warnings       
7952
7953 2000-09-26  Havoc Pennington  <hp@redhat.com>
7954
7955         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
7956         headers into the private header list
7957
7958         * Makefile.am (pkgconfig_DATA): install pkg-config files
7959
7960         * configure.in: add pkg-config files
7961
7962         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
7963
7964         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
7965         outstanding icon caches on theme change.
7966
7967         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
7968         important types:
7969
7970         (GtkIconSource): Specification for creating a pixbuf 
7971         appropriate for a direction/state/size triplet from 
7972         a source pixbuf or filename
7973
7974         (GtkIconSet): List of GtkIconSource objects that are used to
7975         create the "same" icon (e.g. an OK button icon), and cache for
7976         rendered icons
7977
7978         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
7979         up the icon set for a given stock ID.  GTK maintains a stack of
7980         GtkIconFactory to search, and applications or libraries can add
7981         additional icon factories on top of the stack
7982         
7983         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
7984         the set of GtkIconSource specified for a given stock ID into 
7985         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
7986         RcStyle, under the specified stock ID.
7987
7988         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
7989         render_icon used to derive a GdkPixbuf from a GtkIconSource.
7990         This allows people to theme how prelight, insensitive, etc. are
7991         done.
7992
7993         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
7994         icon factories for a style, and return the resulting 
7995         icon set if any.
7996
7997         (gtk_style_render_icon): Render an icon using the render_icon 
7998         method in the GtkStyleClass.
7999
8000         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
8001         Use the style for a given widget to look up a stock ID, get the
8002         icon set, and render an icon using the render_icon method 
8003         of the style
8004
8005         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
8006         (contains information about a stock item), the built-in stock item
8007         IDs, and functions to add/lookup stock items.
8008
8009         * gtk/stock-icons/*: Stock icons that come with GTK
8010
8011         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
8012         a button based on a GtkStockItem
8013         (gtk_button_new_accel): Takes a uline string and accel group, and
8014         installs the accelerator.
8015
8016         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
8017         image-display widget.
8018
8019 2000-09-25  Havoc Pennington  <hp@redhat.com>
8020
8021         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
8022
8023         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
8024         Fix a bug when removing node data, we didn't properly 
8025         re-splice the linked list after removing the data.
8026
8027         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
8028         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
8029
8030         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
8031
8032         * gtk/gtktextlayout.c (set_para_values): Set tab array 
8033         for the layout from the GtkTextTag.
8034
8035         * gtk/gtktexttypes.h: delete tab and search cruft, 
8036         remove g_convert() in favor of GLib version
8037
8038         * gtk/gtktexttypes.c: remove tab implementation from here,
8039         move to Pango
8040
8041         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
8042         tab stuff using new PangoTabArray from Pango
8043
8044         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
8045         unused border_width stuff
8046
8047 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
8048
8049         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
8050         glib) and now useless utf_to_latin1() latin1_to_utf()
8051
8052         * gtk/gtktextview.[ch]: Change ::move_insert and
8053         ::delete_text action signals to ::move and ::delete;
8054         create the signals with the right enumeration type,
8055         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
8056         C-v bindings, change Home, End to move to beginning/end
8057         of line, Add C-Home C-End to move to beginning/end
8058         of buffer. Change ::cut_text to ::cut_clipboard, etc;
8059         combine ::scroll_text into ::move; use new GtkSelectionData
8060         functions to simplify DND text handling.
8061         
8062         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
8063         deletion enumerations here, rename enumeration values to 
8064         be consistently plural.
8065
8066         * gtk/gtktextbuffer.c: Use new clipboard interfaces
8067         for cut/copy/paste and primary selection.
8068
8069         * gtk/gtktextbuffer.[ch]: Remove excess time and
8070         'interactive' arguments from cut/copy/paste;
8071         rename cut to cut_clipboard, etc; remove
8072         gtk_text_buffer_get_clipboard_contents().
8073
8074         * gtk/gtktextlayout.[ch]: Add 
8075         gtk_text_layout_move_iter_to_line_end() to move the iter to 
8076         line ends.
8077
8078         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
8079         Functions to set or get a UTF-8 string on the selection
8080         data.
8081
8082         * gtk/gtkclipboard.[ch]: New, simplified selection handling
8083         interfaces.
8084
8085         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
8086         created widgets - one of these is useless if we don't.
8087
8088         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
8089         a public function clear all targets registered for the
8090         widget.
8091
8092         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
8093         Never call gtk_widget_realize() - that was just asking
8094         for bizarre side-effects.
8095
8096         * gtk/gtkselection.c (gtk_selection_owner_set): Call
8097         gdk_selection_owner_set even if the widget is the
8098         same so that we reliably update the timestamp on
8099         the server.
8100
8101         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
8102         gdk_x11_get_server_time() function.
8103         
8104         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
8105         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
8106         Add some tricky filtering on serial numbers for
8107         selection clear events to fix up long-standard
8108         race condition FIXME's in gtkselection.c.
8109
8110         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
8111         routines to convert from utf8 to compound text or
8112         STRING and from a text property to UTF-8.
8113
8114         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
8115         a convenience function gdk_get_current_event_time().
8116
8117         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
8118         and free selection_data->data properly
8119
8120 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
8121
8122         * gtk/gtkthemes.c: Remove some unecessary includes.
8123
8124 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
8125
8126         * gtk/gtktextdisplay.c
8127         * gtk/gtktextlayout.c
8128         * gtk/gtktexttag.c
8129         * gtk/gtktexttag.h
8130         * gtk/testtext.c: Change the overstrike property to strikethrough,
8131         to closer match pango.
8132
8133 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
8134
8135         * gtk/gtktextview.c: Fix up visibility so that focus,
8136         cursor_visible and blink interact properly.  Reenable cursor blink
8137         which had been roughly disabled. Make blink and focus
8138         properly per-view.
8139
8140         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
8141         Add a flag for whether to display insertion cursor and
8142         a function to set the flag.
8143
8144         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
8145         get_line_y() to get_line_yrange(), to be a bit more generally
8146         useful.
8147
8148 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
8149
8150         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
8151           do stop_navigating_submenu, to clear last timeout properly.
8152           Also in gtk_menu_motion_notify move ignore_enter above
8153           the conditional to make it always happen as suggested by Owen
8154
8155 2000-09-07  Tor Lillqvist  <tml@iki.fi>
8156
8157         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
8158
8159         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
8160         w32api headers.
8161
8162         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
8163         declarations.
8164
8165         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
8166         (gdk_win32_get_colormap): A line had been deleted by mistake.
8167
8168         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
8169         (gdk_event_translate): Handle more virtual keycodes to be able to
8170         generate GDK events for Control-comma, Control-period, etc.
8171
8172         * gtk/gtk.def: Add some missing entry points.
8173
8174 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
8175
8176         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
8177         Doc comment fixing. (Mostly non-matching parameter names.)
8178
8179         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
8180         comments a little to avoid looking like a doc comment.
8181
8182         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
8183         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
8184         conversions be changed to GError?)
8185
8186         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
8187         Move private #defines into .c file.
8188
8189         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
8190         order of argument addition, remove duplicates.
8191
8192         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
8193         parent class is FrameClass, not BinClass.
8194
8195         * gtk/gtk.h: Add gtkinvisible, which was missing.
8196         (It's occasionalyl useful for client apps, if seldom.)
8197
8198         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
8199         #define.
8200
8201 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
8202
8203         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
8204         coordinates when creating window, instead of GDK-space
8205         coordinates. (Avoid BadValue on too large windows.)
8206
8207 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
8208
8209         * configure.in (use_mmx_asm): Remove conftest* after use along the
8210         lines of AC_TRY_COMPILE.        
8211         
8212         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
8213         of g_dirname, which is deprecated.
8214         (gtk_rc_parse_any): Removed calls to
8215         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
8216
8217         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
8218         Removed calls to g_hash_table_{freeze,thaw}, as they are
8219         deprecated now.
8220
8221         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
8222         instead of g_basename.
8223         
8224 2000-09-04 Elliot Lee <sopwith@redhat.com>
8225         
8226         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
8227         ANSI warning.
8228
8229 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
8230
8231         * gtk/gtkwidget.h:  Add some documenting comments about 
8232           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
8233           just as owen said on irc.
8234
8235         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
8236           set HAS_DEFAULT.  Only set it if there isn't another window
8237           holding it (a focus window which RECEIVES_DEFAULT) and only unset
8238           it if the widget is not the focused window with RECEIVES_DEFAULT.
8239           This fixes weird double default bugs in dialogs which has things
8240           call gtk_window_set_default at times.
8241
8242 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
8243
8244         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
8245         Nils Barth and David Santiago to improve submenu
8246         navigation. The patch does this by creating a triangular
8247         region from the point where the pointer leaves the
8248         menu to the submenu.  While the pointer is in
8249         that region and a timeout has not expired, events 
8250         that would cause the active submenu to change are
8251         ignored.
8252
8253 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
8254
8255         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
8256         moving a toplevel window immediately after sizing it would
8257         result in it being sized back to the old size since 
8258         impl->width, impl->height aren't updated until we hear
8259         back from the server. There is still a (longstanding) bug
8260         here that gdk_window_get_size() will give the wrong size
8261         until we do hear back.
8262
8263 2000-08-31  Havoc Pennington  <hp@redhat.com>
8264
8265         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
8266         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
8267         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
8268         Rename GtkTextStyleValues to GtkTextAttributes
8269
8270 2000-08-31  Havoc Pennington  <hp@pobox.com>
8271
8272         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
8273         for rapid testing whether an iterator is the end iterator
8274         (gtk_text_btree_new): init end line cache
8275         (gtk_text_line_is_last): use fast cached line to 
8276         see if we're the last line.
8277         (get_last_line): use cached line here too, should 
8278         speed up some random unrelated code.
8279         
8280 2000-08-30  Havoc Pennington  <hp@pobox.com>
8281
8282         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
8283         signals.
8284
8285         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
8286         delete_text signals. This allows the signals to be used for
8287         implementing undo.
8288
8289         * gtk/gtktextbuffer.c: Change signal handler signatures; 
8290         provide "interactive" argument when emitting insert_text or
8291         delete_text signal.
8292         
8293 2000-08-30  Havoc Pennington  <hp@pobox.com>
8294
8295         * gtk/gtktextbuffer.c: Docs
8296
8297 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
8298
8299         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
8300         from switch statements, since Tor removed the enumeration
8301         value.
8302         
8303         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
8304         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
8305
8306 2000-08-29 Elliot Lee <sopwith@redhat.com>
8307         * */*.h: Use G_GNUC_CONST.
8308
8309 2000-08-27  Havoc Pennington  <hp@pobox.com>
8310
8311         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
8312         minor indentation fixes, inserted some FIXME about stuff I
8313         realized was broken while documenting it.
8314         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
8315         GTK convention  
8316
8317 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
8318
8319         * gtk/testgtk.c (create_styles): Fix double free of
8320         font desc.
8321
8322 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
8323
8324         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
8325         
8326         * gtk/testgtk.c (create_styles): Add a test for modifying
8327         the style through gtk_widget_modify_*.
8328
8329         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
8330         a function to get the current modifier style.
8331
8332         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
8333         of the passed in GtkRcStyle instead of ref'ing it.
8334
8335         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
8336
8337 2000-08-20  Tor Lillqvist  <tml@iki.fi>
8338
8339         * gdk/gdkimage.h
8340         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
8341         shared memory image+pixmap GdkImage type, or
8342         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
8343         I am dropping that.
8344
8345         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
8346         actually call gtk_init_abi_check(), passing also
8347         sizeof(GtkWindow). Ditto for gtk_init_check(). 
8348
8349         * gtk/gtk.def
8350         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
8351         New functions, used to check that the GTK+-using code has been
8352         compiled using the correct compiler and switches. In particular,
8353         with gcc one has to use the -fnative-struct switch as GTK+ is
8354         compiled with that.
8355
8356 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
8357
8358         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
8359         ->prev fields when merging lists. (Found simultaneously
8360         by Pawel Salek and Jakub Jelinek)
8361
8362 2000-08-12  Tor Lillqvist  <tml@iki.fi>
8363
8364         * gdk/gdk.def
8365         * gtk/gtk.def: Add missing entries.
8366
8367         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
8368         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
8369
8370         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
8371         function. Dummy implementation at this point.
8372
8373         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
8374         rules. Undefine GTK_COMPILATION when compiling the test programs.
8375         
8376         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
8377
8378 2000-08-11  Tor Lillqvist  <tml@iki.fi>
8379
8380         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
8381         to convert back and forth from UTF-8 and the "system" (or "current
8382         locale") charset when necessary. Indentation/spacing cleanup.
8383
8384 2000-08-10  Havoc Pennington  <hp@redhat.com>
8385
8386         * Makefile.am (snapshot): Change the format of the snapshot
8387         version to match glib
8388
8389         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
8390         from EXTRA_DIST since it doesn't seem to exist
8391
8392 2000-08-10  Tor Lillqvist  <tml@iki.fi>
8393
8394         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
8395         version of the directory name (not the UTF-8 one) when building
8396         the path name to stat().
8397
8398 2000-08-03  Elliot Lee  <sopwith@redhat.com>
8399
8400         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
8401         PANGO_ATTR_SHAPE set.
8402
8403 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
8404
8405         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
8406         Peter Osterlund to simplify the code while keeping the
8407         functionality the same.
8408
8409 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
8410
8411         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
8412         is_viewable() test further inside the function, since removing the 
8413         window from the redraw list without clearing ->update_area
8414         was also very broken.
8415
8416 2000-08-02  Tor Lillqvist  <tml@iki.fi>
8417
8418         * configure.in: Check for <unistd.h>.
8419
8420 2000-08-01  Martin Baulig  <baulig@suse.de>
8421
8422         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
8423         to display the message that this is a development version of GTK+.
8424
8425 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
8426
8427         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
8428         was depending on widget->allocation instead of the width of text_area,
8429         which was incorrect for subclasses like GtkSpinButton.
8430
8431         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
8432         with width == 1 tests that should be width == -1.
8433
8434 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
8435
8436         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
8437         (broken, Elliot, every single window blank on X) custom code with call
8438         to gdk_window_is_viewable() which a) prevents code duplicate and
8439         b) works. 
8440
8441 2000-07-31  Elliot Lee  <sopwith@redhat.com>
8442
8443         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
8444         to get the GDK_PARENT_ROOT() macro to work.
8445         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
8446         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
8447         of, windows that aren't shown.
8448         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
8449         pointer grab stuff.
8450
8451 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
8452
8453         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
8454           s/gtk_main_iteration/g_main_iteration/
8455
8456           Did this already in change:
8457                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
8458           don't know how it got reverted.
8459
8460 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
8461
8462         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
8463         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
8464
8465         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
8466         not gdk_pixbuf.
8467
8468 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
8469
8470         * configure.in,po/{sp,sr}.po: Added Serbian files
8471
8472 2000-07-30  Tor Lillqvist  <tml@iki.fi>
8473
8474         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
8475
8476         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
8477         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
8478         GIOChannel implementation.
8479
8480         * gdk/win32/gdkinput.c
8481         * gdk/win32/gdkpango-win32.c: Update license name here, too.
8482
8483         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
8484         definition to match prototype.
8485
8486         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
8487
8488 2000-07-27  Elliot Lee  <sopwith@redhat.com>
8489
8490         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
8491         function, to allow handling image formats that cannot be detected
8492         by looking at content alone.
8493
8494 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
8495
8496         * docs/tutorial/*.gif *.jpg *.eps
8497           Update these to the same look-n-feel.
8498           Why does including images in DocBook suck so badly?
8499
8500 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
8501
8502         * gtk/gtktable.c: applied patch from Phil Thompson
8503         <phil@river-bank.demon.co.uk> that enables space settings for
8504         the last row/columns as well.
8505
8506 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
8507
8508         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
8509         updates the license headers to the GNU Lesser General Public License,
8510         as well as updating the copyright year to 2000.
8511
8512 2000-07-26  Robert Brady  <rwb197@zepler.org>
8513
8514         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
8515           and po/Makefile, was installing and looking for them under gtk20
8516           and gtk2 respectively.
8517
8518 2000-07-25  Havoc Pennington  <hp@redhat.com>
8519
8520         * gtk/testtext.c: Comment out some stuff that depends on the rest
8521         of my patches.
8522
8523 2000-07-25  Havoc Pennington  <hp@redhat.com>
8524
8525         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
8526         buffer
8527
8528 2000-07-25  Havoc Pennington  <hp@redhat.com>
8529
8530         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
8531         widget changes.
8532
8533         * gtk/gtktextview.h: To be consistent with usage of "line"
8534         throughout the API to mean "newline-terminated thingy", change
8535         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
8536         to MOVEMENT_LINE.
8537
8538         (GtkTextView): Add flags for default editability, and whether to
8539         show the cursor. Add functions to get/set that. Add 
8540
8541         (gtk_text_view_get_iter_location): new function
8542
8543         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
8544         gtktextlayout.h
8545         (g_convert): Add g_convert temporarily, will go in glib in a bit
8546         
8547         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
8548         GtkTextTagTableForeach instead of brokenly using GHFunc.
8549         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
8550
8551         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
8552         moved to public header.
8553
8554         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
8555         "invisible", since "elide" was a bad name.
8556         (gtk_text_tag_get_priority): Added
8557
8558         (GtkTextStyleValues): put this in public header, along with
8559         functions to use it.
8560
8561         * gtk/gtktextmarkprivate.h: Include more headers, since we no
8562         longer include gtktextbtree.h.
8563
8564         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
8565         gtk_text_mark_deleted
8566
8567         * gtk/gtktextlayout.h: Don't include the "really private" headers,
8568         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
8569         to make this possible. Now we only need to install
8570         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
8571         (However the Makefile.am isn't changed yet because of the
8572         logistics of merging gtk-hp-patches piecemeal)
8573
8574         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
8575         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
8576         gtk_text_iter_get_line is now used in the public API for a
8577         different purpose.
8578
8579         * gtk/gtktextiter.h: Clean up function names to be more
8580         consistent. Always call char offset "offset" and byte index
8581         "index". A "line" is always a line number. 
8582
8583         (gtk_text_iter_is_last): new function, more efficient than 
8584         the existing way to check
8585         (gtk_text_iter_is_first): new function, also more efficient
8586
8587         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
8588
8589         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
8590         gtk_text_iter_forward_char, etc.
8591
8592         (gtk_text_iter_forward_to_tag_toggle): Renamed from
8593         forward_find_tag_toggle, since this isn't a linear search
8594
8595         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
8596
8597         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
8598         New functions, search for a buffer substring.
8599
8600         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
8601         interactive and default editable (since we need to store that info
8602         until we receive the selection data).
8603
8604         Remove all the _at_char and at_line etc. versions of functions;
8605         only have iterator versions.
8606
8607         Add _interactive() versions of functions, that consider the
8608         editability of text. (FIXME add interactive flag to the 
8609         insert/delete signals per Darin's suggestion)
8610
8611         (gtk_text_buffer_get_tag_table): new function, demand-creates the
8612         tag table if necessary
8613
8614         Remove declaration of gtk_text_buffer_get_iter_from_string
8615
8616         (_gtk_text_buffer_get_btree): private/internal function, added.
8617         
8618
8619         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
8620         (gtk_text_line_is_last): new function
8621
8622 2000-07-25  Havoc Pennington  <hp@redhat.com>
8623
8624         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
8625         using GtkProgressBar. See Changes-2.0.txt for details.
8626
8627         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
8628         "pulse_step" which are the equivalent of
8629         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
8630         Implement new API.
8631         
8632         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
8633         (use_text_format) to mark whether text set on the progress bar is
8634         a format string. Deprecate entire GtkProgress interface.
8635
8636         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
8637         (gtk_progress_build_string): make this a no-op if use_text_format
8638         is FALSE
8639
8640         * docs/Changes-2.0.txt: Describe progress bar changes.
8641
8642 2000-07-25  Tor Lillqvist  <tml@iki.fi>
8643
8644         * Makefile.am: Include the build directory.
8645
8646         * configure.in: Generate build/Makefile, build/win32/Makefile,
8647         gdk/, gdk/win32/, and gtk/makefile.mingw.
8648
8649         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
8650         Add GETTEXT_PACKAGE.
8651         
8652         * gdk/gdk.def
8653         * gtk/gtk.def: Updates.
8654
8655         * gdk/gdkfont.h
8656         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
8657         need them any longer.
8658
8659         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
8660
8661         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
8662         PANGOWIN32_LIBS and gdk_pixbuf.
8663
8664         * gdk/win32: Compiles, but no doubt doesn't work at all.
8665
8666         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
8667
8668         * gdk/win32/gdkinput.c: New file, temporarily.
8669         
8670         * gdk/win32/gdkinput-win32.h: New file
8671
8672         * gdk/win32/gdkinputprivate.h: Remove.
8673
8674         * gdk/win32/gdkpango-win32.c: New file.
8675
8676         * gtk/makefile.mingw.in: New file
8677
8678         * gtk/makefile.cygwin: Removed
8679         
8680         * gtk/Makefile.am: Update accordingly.
8681
8682         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
8683         made externally visible.
8684
8685         * gtk/gtkmain.c: Use it.
8686         
8687         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
8688         is enough.
8689
8690         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
8691
8692 2000-07-24 Elliot Lee <sopwith@redhat.com>
8693         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
8694         individual backends already.
8695         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
8696         again. Yes, there really is a good reason for this, if you are using the gdkregion
8697         internals, and if you're not, why do you care?
8698         * gdk/gdkwindow.c: Fix inverted condition
8699         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
8700         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
8701         * gtk/gtkrange.c: Redraw trough when moving.
8702         * gtk/gtktypeutils.c: Fix warning by adding const cast.
8703         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
8704
8705 2000-07-23  Tor Lillqvist  <tml@iki.fi>
8706
8707         * configure.in: Check for mkstemp and sigsetjmp. Output
8708         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
8709
8710         More work on GDK for Win32. Still in an intermediate state.
8711
8712         * gdk/makefile.cygwin
8713         * gdk/win32/makefile.cygwin: Removed.
8714         
8715         * gdk/makefile.mingw.in
8716         * gdk/win32/makefile.mingw.in: New files.
8717
8718         * gdk/Makefile.am
8719         * gdk/win32/Makefile.am: Generate and distribute them.
8720
8721         * gdk/win32/gdkwindow-win32.h
8722         * gdk/win32/gdkdrawable-win32.h
8723         * gdk/win32/gdkpixmap-win32.h: New files.
8724
8725         * gdk/win32/gdkcolor-win32.c
8726         * gdk/win32/gdkcursor-win32.c
8727         * gdk/win32/gdkdrawable-win32.c
8728         * gdk/win32/gdkgc-win32.c
8729         * gdk/win32/gdkimage-win32.c
8730         * gdk/win32/gdkprivate-win32.h
8731         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
8732         Rename fields and variables called xcursor, xid, etc (these names
8733         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
8734
8735 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
8736
8737         * gtk/gtkentry.[ch]: Fix some problems with vertical
8738         alignment.
8739
8740         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
8741         char/byte confusion.
8742
8743 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
8744
8745         * gtk/gtktextview.c (changed_handler): Fix bug where
8746         redraw wasn't being done properly when height of
8747         dirty region changed.
8748
8749         * demos/Makefile.am: Remove various references to
8750         -lgmodule
8751
8752 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
8753
8754         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
8755         PangoAttrShape to reserve space for pixmaps, add 
8756         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
8757         in the display functions.
8758         
8759         * gtk/testgtk.c (create_layout): Set some more exotic
8760         scrolled window options
8761
8762         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
8763         Add function to set the shadow type of a window, to allow
8764         putting a shadow around widgets such as GtkLayout or GnomeCanvas
8765         which don't draw their own frame.
8766
8767 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
8768
8769         * docs/tutorial/package-db-tutorial.sh: New file for
8770           packaging DocBook format tutorial
8771
8772 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
8773
8774         * docs/tutorial/gtk-tut.sgml: Minor updates
8775
8776         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
8777
8778 2000-07-19  Tor Lillqvist  <tml@iki.fi>
8779
8780         * gtk/gtksignal.c: Fix C++ comment.
8781
8782         * gtk/gtkimmulticontext.c
8783         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
8784         don't return value from void functions.
8785
8786         * gtk/gtk.def: Add gtk_rc_style_unref.
8787
8788 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
8789
8790         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
8791         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
8792         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
8793         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
8794         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
8795         gtk/gtktypeutils.h: Include files outside of the extern "C"
8796         block. Makes some C++ compiler happy. Reported by Denis Vakatov
8797         <vakatov@peony.nlm.nih.gov>.
8798
8799 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
8800
8801         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
8802           Completes first pass. Hurrah!
8803
8804 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
8805
8806         * docs/tutorial/gtk-tut.sgml: More clean ups.
8807
8808 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
8809
8810         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
8811         paint the background of the text area which was accidentally
8812         removed at some point.
8813
8814         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
8815           
8816          - Move most of the functionality from the theme vtable
8817            into GtkRcStyleClass and GtkStyleClass. The moved
8818            vtable functions were changed a bit in the move to
8819            work better in their new home.
8820
8821          - Get rid of the engine and engine_data fields from
8822            GtkRcStyle and GtkStyle; instead the theme
8823            engine derives theme-specific subclasses of GtkRcStyle
8824            and GtkStyle
8825
8826          - Add extra dlsym() found entry point to themes,
8827            theme_create_rc_style().
8828
8829         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
8830         in gtk_style_real_copy.
8831
8832         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
8833         to register a type associated with an engine. (The engine
8834         won't be unloaded as there is an instance of the type.)
8835
8836
8837 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
8838
8839         * docs/tutorial/gtk-tut.sgml: Clean ups.
8840
8841 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
8842
8843         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
8844           of cleaning up to do.
8845
8846 2000-07-15  Tor Lillqvist  <tml@iki.fi>
8847
8848         * gdk/testgdk.c: New file, quick hack to test backends for
8849         pixel-by-pixel correctness of the most simple graphic operations.
8850
8851 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
8852
8853         * Really release 1.3.1
8854         
8855         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
8856         include structure.
8857
8858 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
8859
8860         * Released 1.3.1
8861
8862 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
8863
8864         * gtk/gtktextlayout.c: use FALSE for size_only most
8865         of the time when calling gtk_text_layout_get_line_display()
8866         to avoid causing double reshapes when a redraw follows
8867         immediately after.
8868
8869 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
8870
8871         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
8872         appropriate region and gdk_window_process_updates() so trough
8873         updating doesn't lag behind the window being scrolled.
8874
8875         * gdk/gdkgc.c: Make parent_class pointer static.
8876          
8877 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
8878
8879         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
8880         include <string.h>.
8881          
8882         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
8883         cut-and-paste error in computing memory offset for 4 channels.
8884
8885 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
8886
8887         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
8888         gtk_rc_append_default_pixmap_path(), since it wasn't
8889         adding an interesting path and we don't have a meaningful
8890         default for this value.
8891
8892 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
8893
8894         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
8895         gtk-config to gtk-config-2.0 move gtk_.m4 to
8896         gtk-2.0.m4
8897
8898         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
8899         gdk/Makefile.am demos/Makefile.am: Change 
8900         library names to libgtk-1.3.la, etc, so that we
8901         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
8902
8903         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
8904         gdk/Makefile.am gdk/x11/Makfile.am
8905         Move include files into /usr/include/gtk-2.0, 
8906         /usr/lib/gtk-2.0/include/
8907          
8908         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
8909         gtk/gtkintl.h: Change package for gettext from 
8910         gtk+ to gtk20. Put hack in autogen.sh to modify
8911         po/Makefile.in.in after gettextize to make this
8912         possible.
8913
8914         * gtk+.spec: Some updates, not tested.
8915
8916         * gdk-pixbuf/Makefile.am: Move loaders into
8917         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
8918
8919         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
8920         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
8921         to THEMENAME/gtk-2.0/. Move engine directory  to
8922         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
8923         
8924 2000-07-12  Tor Lillqvist  <tml@iki.fi>
8925
8926         Win32 changes, still doesn't build though.
8927
8928         * gdk/makefile.cygwin
8929         * gdk/win32/makefile.cygwin
8930         * gtk/makefile.cygwin: Updates.
8931
8932         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
8933         default values for fg and bg pixel as X11 does (0 and 1), not
8934         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
8935         Use 0 for pen width by default (treated as 1 anyway later, but for
8936         apps that might check the value in the GdkGC).
8937         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
8938         interface to gdk_gc_predraw and _postdraw.
8939
8940         * gdk/win32/gdkwin32.h
8941         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
8942
8943         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
8944         extraneous semicolon.
8945
8946         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
8947
8948         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
8949         not the Win32 bitspixel value.
8950
8951         * gdk/win32/gdkcc-win32.c:
8952         * gdk/win32/gdkcolor-win32.c 
8953         * gdk/win32/gdkprivate-win32.h
8954         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
8955         GDK object structure.
8956
8957 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
8958
8959         * docs/tutorial/gtk_tut_12.es.sgml (name): 
8960         * docs/tutorial/gtk_tut_it.sgml (name): 
8961         * docs/tutorial/gtk_tut_fr.sgml (name): 
8962         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
8963         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
8964
8965 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
8966
8967         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
8968           small changes.
8969
8970 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
8971
8972         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
8973         a bug here, never been here and never fixed anything ;(
8974         (don't segfault if tree->root_tree is NULL, which happens prior
8975         to widget realization, but puke instead).
8976
8977 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
8978
8979         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
8980         add the necessary tokens.
8981
8982         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
8983         (gtk_rc_style_to_style): copy thicknesses.
8984         (gtk_rc_init_style): apply thicknesses.
8985         (gtk_rc_parse_style): parse xthickness and ythickness.
8986
8987         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
8988
8989         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
8990         (gdk_window_new): 
8991         (_gdk_windowing_window_init): 
8992         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
8993         (gdk_pixmap_create_from_data): 
8994         (gdk_bitmap_create_from_data): 
8995         (gdk_pixmap_new): 
8996         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
8997         (gdk_image_new): 
8998         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
8999         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
9000         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
9001         (gdk_colormap_get_system): 
9002         (gdk_colormap_new): 
9003         * gdk/gdkwindow.c (gdk_window_init): 
9004         * gtk/gtkstyle.c (gtk_style_new):
9005         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
9006         * gdk/gdkpixmap.c (gdk_pixmap_init): 
9007         * gtk/gtkrc.c (gtk_rc_style_new):
9008         use g_object_new() instead of g_type_create_instance() which
9009         is a private function for fundamental type implementations.
9010
9011 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
9012
9013         * configure.in: Add check for db2html
9014
9015 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
9016
9017         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
9018         hack to set glib_debug_objects based on gtk_debug_flags.
9019
9020 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
9021
9022         * INSTALL.in: Update the Prerequisites section.
9023
9024         * Makefile.am demos/Makefile.am docs/Makefile.am
9025         docs/tutorial/Makefile.am gdk/x11/Makefile.am
9026         gdk/linux-fb/Makefile.am: Dist fixes
9027
9028 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
9029
9030         * NEWS: 10,000 foot view of 1.3.1 changes.
9031
9032 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
9033
9034         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
9035         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
9036         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
9037         gdk/x11/gdkmain-x11.c: 
9038
9039         Patch from George Lebl to add a GdkGrabStatus enumeration to use
9040         as a return value of gdk_*_grab(). Previously, we just
9041         returned the X11 values directly.
9042
9043 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
9044
9045         * gdk/x11/Makefile.am: Patch from George Lebl to 
9046         install all the headers in the right place.
9047
9048 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
9049
9050         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
9051           initial conversion to DocBook.
9052
9053 2000-07-04  Tor Lillqvist  <tml@iki.fi>
9054
9055         * README.win32: Improve a bit.
9056
9057         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
9058         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
9059         Alt+0nnn on the numpad (used to enter characters by numeric code
9060         from current DOS or ANSI codepage) working correctly, as in other
9061         Windows apps.
9062
9063         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
9064         same argument validity tests as in X11 version.
9065         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
9066
9067         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
9068         definitions in case missing from headers.
9069
9070         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
9071         destroy the window-specific cursor.
9072         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
9073         calling GetModuleHandle(NULL).
9074         (gdk_window_set_cursor): Reworked to always copy the passed cursor
9075         with CopyCursor before setting it as the window-specific
9076         cursor. It is OK for the caller to destroy the GdkCursor (and thus
9077         also its Windows cursor) after calling this function. Destroy any
9078         previous window-specific cursor.
9079
9080 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
9081
9082         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
9083         font charset is iso8859-1, not iso-8859-1.
9084
9085 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
9086
9087         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
9088         Use g_get_charset() instead of g_get_codeset().
9089
9090         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
9091         Comment out some strdup'ing functions to keep timj
9092         happy until we finish fighting this out.
9093
9094 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
9095
9096         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
9097         <= width or height.
9098
9099         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
9100         from 1.2 for parent/child states.
9101
9102         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
9103         of typos.
9104
9105         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
9106         event structures, replace with a generic axes field. Replace 
9107         deviceid/sourec with GdkDevice *device.
9108
9109         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
9110         to extract particular axis use value from event. (Also
9111         can be used for normal X/Y.)
9112
9113         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
9114         allow for arbitrary number of axes, namespace everything
9115         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
9116         everywhere.
9117
9118         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
9119         Get rid of the gdk_input_vtable setup if favor of simply
9120         defining the functions in gdkinput-none/gxi/xfree.c in
9121         a similar fashion to the way that the port structure is 
9122         done.
9123
9124         * gtk/gtkdnd.c: Fix fields of synthesized button press event
9125         for new event structures. 
9126
9127         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
9128         new device interfaces.
9129
9130 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
9131
9132         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
9133         set the initial text.
9134
9135         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
9136         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
9137         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
9138         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
9139
9140         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
9141         pango_layout_set_font_description to simplify.
9142
9143 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
9144
9145         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
9146         pango_layout_set_font_description to simplify.
9147
9148 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
9149
9150         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
9151         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
9152         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
9153
9154         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
9155         PANGO_PIXELS() macro.
9156
9157 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
9158
9159         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
9160         that returns a PangoContext owned by the widget and updated to
9161         match future changes in the widget. Also, make 
9162         gtk_widget_create_pango_layout() use this context. If we ever
9163         add a ::changed signal to PangoContext, this will make things
9164         much more convenient. 
9165
9166         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
9167         in the appropriate places instead of destroying the layouts and
9168         creating new ones.
9169
9170         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
9171         in a few strategic places.
9172
9173 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
9174
9175         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
9176         gtk_widget_size_request() on reparented child, if one. Otherwise,
9177         queue_resize() on the child never results in it getting size-requested
9178         at all.
9179
9180         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
9181         in option menus, so that (with luck) people won't copy it into
9182         their apps in the future.
9183
9184         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
9185         to gtk_option_menu_calc_size. This isn't perfect, but should fix
9186         a lot of problems with changing the size of the menu's menu
9187         items after adding it to the option menu.
9188
9189         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
9190
9191         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
9192         the text direction for a widget changes.
9193
9194         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
9195         ::direction_changed to get rid of various hacks.
9196
9197 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
9198
9199         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
9200         name.
9201
9202 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
9203
9204         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
9205         flag to the structure. Do not call XFreePixmap on pixmaps created
9206         by gdk_pixmap_foreign_new().
9207
9208 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
9209
9210         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
9211         value using GdkRGB functionality given GdkColormap and GdkColor.
9212         (name not final, waiting for inspiration.)
9213         
9214         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
9215         set the foreground/background of a GC using the GC's colormap
9216         and GdkRGB. (name not final, waiting for inspiration.)
9217
9218         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
9219         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
9220
9221         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
9222         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
9223         purely a function of the corresponding colormap. Make
9224         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
9225
9226         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
9227         gdk_pixbuf_*create_from_xpm_* in terms of
9228         gdk_pixbuf_new_from_xpm_data(), move into platform independent
9229         code.
9230
9231         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
9232         advantage of the new draw_rgb_32_image_dithalign.
9233
9234         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
9235
9236         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
9237         on each created GC.
9238
9239         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
9240
9241         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
9242         which we initialize from the drawable when the GC is created,
9243         if the drawable has a colormap.
9244
9245         * gdk/x11/gdkgc-x11.c: include string.h for memset.
9246
9247         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
9248
9249         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
9250
9251 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
9252
9253         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
9254         actually returning expose events, make sure to set
9255         the count field properly.
9256
9257         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
9258         accidentally reintroced bug which always cleared
9259         the graphics_exposures value. 
9260
9261 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
9262
9263         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
9264
9265 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
9266
9267         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
9268
9269 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
9270
9271         * docs/faq/gtk-faq.sgml: Start of Section 6.
9272
9273 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
9274
9275         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
9276         
9277         (Fixes problem with drawing childless frames. Pointed out
9278         by and a first patch from Anders)
9279         
9280         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
9281         compute a child_allocation, even if we don't have a child.
9282
9283         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
9284         Always chain to the parent's impl, even if we don't have a child.
9285
9286 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
9287
9288         * gdk/gdkrgb.c: If possible, create only a single shm segment and
9289         use multiple parts of it instead of creating a bunch of separate
9290         segments, since the maximum number of segments per system is not
9291         large. (This might be worth backporting to GTK+-1.2.x if we make a
9292         new release )
9293
9294         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
9295         structure in preparation for per-colormap GdkRGB.
9296
9297         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
9298         to False when we get EINVAL from shmget so that the caller of
9299         gdk_image_new can retry with a smaller segment size.
9300
9301 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
9302
9303         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
9304
9305 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
9306
9307         * configure.in: make the current version number 1.3.1 (binary age 0,
9308         interface age 0).
9309         
9310         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
9311         gtkcompat.h is all we want.
9312
9313         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
9314         GLib primitive types. fixed g_type_register_fundamental() argument
9315         ordering.
9316
9317         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
9318         compiles.
9319
9320         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
9321         object code cleanup, comment trigraph fixes, etc...
9322
9323 2000-06-23  Havoc Pennington  <hp@redhat.com>
9324
9325         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
9326         instead of making up a bogus name for first_para_mark
9327
9328         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
9329         0 as a context ID
9330
9331 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
9332
9333         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
9334
9335 2000-06-21  Havoc Pennington  <hp@pobox.com>
9336
9337         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
9338         we didn't check window->bg_pixmap != GDK_NO_BG.
9339
9340         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
9341         gdk-pixbuf
9342
9343 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
9344
9345         * docs/faq/gtk-faq.sgm: Move file to here.
9346           TODO: Update Makfile.am 
9347
9348 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
9349
9350         * docs/gtk-faq.sgm: Add Section 2
9351
9352 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
9353
9354         * docs/gtk-faq.sgm: New file. Start of DocBook
9355           version of the FAQ.
9356
9357 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
9358
9359         * configure.in (GDK_PIXBUF_MAJOR): Define version
9360         numbers for GDK_PIXBUF_*, as they get substituted
9361         into a header file. Need to consider versioning
9362         for gdk-pixbuf more carefully later.
9363
9364 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
9365
9366         Work with srcdir != builddir.   
9367         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
9368         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
9369         * demos/testpixbuf.c: Likewise.
9370         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
9371         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
9372         <gdk/x11/gdkx.h>.
9373         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
9374         "gdk-pixbuf.h".
9375         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
9376
9377 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
9378
9379         * TODO.xml: Change 1.4 version numbers to 2.0.
9380
9381 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
9382
9383         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
9384         fixups to GTK+ standard.
9385
9386 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
9387
9388         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
9389         gdk-pixbuf.
9390
9391         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
9392         fixups for GObject.
9393
9394         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
9395         gdk-pixbuf with GDK dependencies moved into GDK.
9396         
9397         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
9398         move gdk-pixbuf-loader here until GObject has signals.
9399
9400         * demos/: New directory of demos. Move demos from
9401         gdk-pixbuf here.
9402
9403         * demos/pixbuf-init.c: Small bit of code to check for
9404         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
9405         set GDK_PIXBUF_MODULEDIR appropriately.
9406
9407         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
9408         define which no longer makes sense.
9409
9410 2000-06-21  Havoc Pennington  <hp@redhat.com>
9411
9412         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
9413         gtk_get_default_language
9414
9415         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
9416         new function to get the default language
9417
9418         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
9419         s/gtk_text_view_style_values/gtk_text_style_values/
9420
9421         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
9422         Add a "language" field to tags.
9423
9424         (gtk_text_tag_set_arg): Fix bug in setting
9425         "bg_full_height_set" tag.
9426
9427 2000-06-21  Havoc Pennington  <hp@redhat.com>
9428
9429         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
9430         in the interfaces
9431
9432         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
9433         stuff instead when possible.
9434
9435         * gtk/gtktexttypes.h: Delete some unused constants
9436
9437         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
9438         testtextbuffer.c: use glib instead of custom unicode routines
9439
9440 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
9441
9442         * docs/es/: Removed mistakenly added generated sgml
9443
9444         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
9445         Remove outdated info files.
9446
9447         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
9448         Moved tutorial files into subdir
9449
9450         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
9451         subdir.
9452
9453         * docs/man/gtk_button.pod: Remove. (contents will be
9454         integrated into gtk-reference button page.)
9455
9456         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
9457         docs/faq/Makefile.am: Adjust for new organization
9458
9459 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
9460
9461         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
9462         not $(MKINSTALLDIRS)
9463
9464 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
9465
9466         * gtk/testgtk.c (create_text): Finish the job Elliot started
9467         of removing font setting test for text widget. (Since text widget
9468         and GdkFont are not deprecated, and cause portability problems.)
9469
9470 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
9471
9472         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
9473         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
9474         Remove use of libunicode in favor of new GLib functions.
9475
9476         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
9477         nano-x, framebuffer. The X11 include is just a hack until we get
9478         the necessary functions in gdkcolor.h, so there is no reason to
9479         add other includes of platforms.
9480
9481         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
9482         window bigger than the screen change.
9483
9484         * gtk/testgtk.c: Revert some random changes from Elliot
9485         that had no particular point and were causing testgtkrc
9486         not to function correctly.
9487         
9488         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
9489         because GdkSegment and GdkRegionBox have the same fields,
9490         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
9491         results in clearer code.
9492
9493         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
9494         gdk_input_translate_coordinates): Fix missed GdkObjectification
9495
9496 2000-06-18  Elliot Lee  <sopwith@redhat.com>
9497
9498         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
9499         * gtk/gtk{plug,socket}.h: Missed commits from previous.
9500
9501 2000-06-20  Havoc Pennington  <hp@redhat.com>
9502
9503         * modules/linux-fb/Makefile.am: Make this compile
9504         without framebuffer enabled
9505
9506         * gdk/linux-fb/Makefile.am: Add conditional to not build
9507         framebuffer unless specified in configure
9508
9509         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
9510         the size of the target instead of source if -1 was passed for
9511         width/height
9512
9513         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
9514         width/height confusion.
9515
9516 2000-06-19  Havoc Pennington  <hp@redhat.com>
9517
9518         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
9519         GDK_DRAWABLE_XID. In the future, we probably want to make it
9520         faster with G_DISABLE_CHECKS turned on.
9521
9522 2000-06-14  Havoc Pennington  <hp@redhat.com>
9523
9524         * gdk/Makefile.am: add gdkpixmap.c
9525
9526         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
9527         s/gdk_image_init/_gdk_windowing_image_init
9528
9529         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
9530         ref/unref
9531
9532         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
9533
9534         * gdk/gdkcompat.h: remove GdkWindowType compat, since
9535         GdkWindowType is now non-deprecated; 
9536         change gdk_window_get_type() compat to be
9537         gdk_window_get_window_type().
9538
9539         * gdk/gdkdnd.h: make GdkDragContext a GObject.
9540
9541         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
9542         virtual GObject. Make all functions call into the vtable.
9543         Move gdk_image_put() guts in here. Remove GdkDrawableType
9544         and gdk_drawable_get_type(), these are now GdkWindow-specific.
9545         draw_image, get_depth, get_size, set_colormap, get_colormap,
9546         get_visual added to the vtable.
9547         
9548         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
9549         GObject. Virtualize everything. 
9550         (gdk_gc_new_with_values): remove check for destroyed window,
9551         because now GdkWindow::create_gc will check this.
9552         (gdk_gc_set_values): New function to set GC values, this 
9553         was already implemented but wasn't in the header
9554
9555         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
9556
9557         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
9558         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
9559         remove _gdk_window_class; add _gdk_window_impl_get_type() and
9560         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
9561         _gdk_windowing_window_init, rename gdk_image_init to
9562         _gdk_windowing_image_init.
9563         
9564         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
9565         (gdk_draw_layout): Remove check for destroyed window, 
9566         because all the drawable methods already check it.
9567         
9568         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
9569         Add gdkpixmap.c which contains implementation of GdkDrawable
9570         virtual table (by chaining to a platform-specific implementation
9571         object).
9572         
9573         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
9574         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
9575         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
9576         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
9577         GdkColormapPrivate. 
9578
9579         * gdk/gdktypes.h: #include <glib-object.h>
9580
9581         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
9582         Move most functionality to platform-specific implementation
9583         object. GdkWindow itself now handles the backing store, then
9584         chains to the platform-specific implementation.
9585         (gdk_window_get_window_type): return GdkWindowType of the window.
9586         (gdk_window_peek_children): New routine, returns the children of 
9587         a GdkWindow
9588         (gdk_window_get_children): Was in X11-specific code and did 
9589         XQueryTree. Changed to simply return a copy of window->children; 
9590         so it can go in cross-platform code.
9591         
9592         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
9593
9594         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
9595         GdkColormap; just changed to use the new private data instead
9596         of casting to GdkColormapPrivate.
9597
9598         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
9599         gdk_cursor_new().
9600
9601         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
9602         (private data member in the GObject). 
9603         (xdnd_manager_source_filter): Function had broken 
9604         error handling, fix it (use gdk_error_trap_push).
9605
9606         * gdk/x11/gdkdrawable-x11.c: This file now implements
9607         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
9608         base class is purely for the convenience of the X port,
9609         and not part of the interface to cross-platform GDK.
9610
9611         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
9612         
9613         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
9614         specific to X, and returned by the create_gc virtual method
9615         of GdkDrawableImplX11. 
9616         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
9617         rather than gchar, this was also changed in the GdkGC vtable.
9618         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
9619         mask is 0, return immediately, instead of checking every flag.
9620         This is faster, and keeps us from segfaulting if values is NULL
9621         and the mask contains some nonzero flags.
9622
9623         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
9624         GdkWindow.
9625
9626         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
9627         GdkWindowPrivate is gone.
9628
9629         * gdk/x11/gdkim-x11.c: rename things that got renamed.
9630
9631         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
9632         remove the image_put stuff that got transferred to GdkDrawable.
9633         
9634         * gdk/x11/gdkinput.c: renamings
9635
9636         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
9637
9638         * gdk/x11/gdkpixmap-x11.c: GObject conversion
9639
9640         * gdk/x11/gdkprivate-x11.h: indentation fixes
9641
9642         * gdk/x11/gdkproperty-x11.c: renamings
9643
9644         * gdk/x11/gdkselection-x11.c: renamings
9645
9646         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
9647         implements the platform-specific "impl" object.
9648         Moved gdk_window_get_children to gdk/gdkwindow.c
9649
9650         * gdk/x11/gdkx.h: Remove all the private structs and private datas
9651         that no longer exist. Add declaration of GdkGCX11 object here.
9652         Fix all the macros to still work. 
9653
9654         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
9655         GdkDragContext from the boxed types since they are now GObjects.
9656
9657         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
9658         moved xthickness/ythickness into the instance. GtkStyleClass
9659         functions are now in the standard vtable for GtkStyle, so you have
9660         to create a GObject subclass to write a theme engine.
9661         (gtk_style_copy): fixed a leaked PangoFontDescription
9662         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
9663         can be the standard GObject function.
9664         
9665         * Throughout GTK:
9666         s/style->klass->[xy]thickness/style->[xy]thickness
9667         s/pango_layout_unref/g_object_unref/
9668
9669         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
9670         
9671         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
9672         accessing GDK internals.
9673
9674         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
9675         accessing GDK internals.
9676
9677 2000-06-18  Elliot Lee  <sopwith@redhat.com>
9678
9679         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
9680
9681         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
9682         problem by calculating event position relative to the trough
9683         rather than the slider.
9684         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
9685
9686         * gdk/gdkgc.h: Add GDK_NOR.
9687
9688         * configure.in, Makefile.am: Add modules top level dir
9689         * configure.in: Only use pangox library if building x11 target.
9690         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
9691
9692 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
9693
9694         * gtk/gtkcolorsel.c: Change private class member to be named
9695         private_data throughout the file.
9696
9697         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
9698         private_data to avoid clashing with keyword.
9699
9700 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
9701
9702         * gdk/gdkdnd.h: Add comment to remove warning.
9703
9704 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
9705
9706         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
9707         Byelorussian language; changed the Makefile and file names 
9708         to reflect that.
9709
9710 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
9711
9712         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
9713         rather than gdk_window_hide; this makes things work
9714         correctly if the window is programmatically hidden while
9715         iconified.
9716
9717 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
9718
9719         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
9720         cut and paste typo where wrong pixmap was being
9721         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
9722
9723 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
9724
9725         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
9726         Add helper function to compute format / bytes 
9727         relationship. Use in a couple places to fix up
9728         errors which assume 8 * format.
9729
9730         * gtk/gtkselection.c (gtk_selection_request): Use 32
9731         rather than 8 * sizeof (GdkAtom), to work correctly
9732         on Alpha.
9733
9734 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
9735
9736         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
9737         libgtk.la
9738         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
9739         versions
9740
9741         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
9742         checking macros return NULL since the function has a return value.
9743
9744 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
9745
9746         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
9747         GTK+ from building at all.
9748
9749         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
9750
9751 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
9752
9753         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
9754         gtk/Makefile.am: make it possible to configure gtk for different
9755         targets on the same platform. The library name is now 
9756         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
9757         flag. Only the x11 target compiles right now.
9758         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
9759         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
9760         * gdk/nanox/gdk*generic*: delete generic region code.
9761         * gdk/linux-fb/gdk*generic*: delete generic region code.
9762         * README.nanox: update information.
9763         
9764 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
9765
9766         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
9767         prepend not append. (Pointed out by Brett Hall.)
9768
9769 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
9770
9771         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
9772
9773 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
9774
9775         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
9776         need this later, and this makes sure that the atexit for
9777         glib gets called after that for GDK, so atexits are
9778         properly ordered for object leak checking.
9779
9780         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
9781
9782         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
9783         pango_x_shutdown_display()
9784
9785         * gtk/simple.c (main): Close window on destroy.
9786
9787 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
9788
9789         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
9790         to treat initial creation different from setting with 
9791         regards to the graphics-exposures parameter, so add a parameter
9792         indicating whether this is initial or not.
9793
9794 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
9795
9796         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
9797         to sort of work by adding an extra return_exposes arg
9798         to gdk_event_translate() - it might be better to simply
9799         deprecate the function altogether and force people to rewrite
9800         without it. gdk_window_scroll() handles most of it, and where
9801         gdk_window_scroll() doesn't work, simply redrawing more does.
9802
9803         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
9804         assertion.
9805
9806         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
9807
9808         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
9809         bunch of pretty much useless /* Print debugging info */ comments 
9810         which had drifted away from the code they were commenting.
9811
9812 2000-06-02  Havoc Pennington  <hp@pobox.com>
9813
9814         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
9815         is in working order.
9816         
9817         * gtk/testtext.c: Change to reflect anonymous mark API
9818
9819         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
9820
9821         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
9822         field, which was unused.
9823
9824         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
9825         saves some typing.
9826
9827         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
9828
9829         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
9830         flag on the insertion point and selection bound
9831
9832         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
9833         make mark-manipulation functions take a GtkTextMark* instead of a
9834         mark name.
9835         
9836         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
9837         GtkTextMarkBody; will be used to detect attempts to delete
9838         the permanent marks (insert and selection bound)
9839
9840         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
9841
9842 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
9843
9844         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
9845         flag to on.
9846
9847         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
9848         Honor DOUBLE_BUFFRED_FLAG
9849
9850         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
9851         function to set the DOUBLE_BUFFERED flag.
9852
9853         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
9854         or not exposes done on the widget should be double-buffered.
9855
9856         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
9857         to be what would be expected. (Fixes problem with a
9858         g_return_if_fail() validating a TextDirection enumeration)
9859
9860 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
9861
9862         * gtk/gtkwidget.c: Remove all references to 
9863         offscreen flag which was no longer used.
9864
9865         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
9866
9867         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
9868         for non-null label_widget->parent.
9869
9870         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
9871         which no longer was used.
9872
9873         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
9874
9875         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
9876         for null arguments.
9877
9878         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
9879         check for destroyed windows.
9880
9881 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
9882
9883         * gtk/gtkimmulticontext.c: Add a finalize method and unref
9884         the slave context there.
9885
9886         * gtk/gtkinvisible.[ch]: Make reference counting behavior
9887         identical to GtkWindow.
9888
9889 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
9890
9891         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
9892         pangox to here, so we can write them independent of rendering
9893         system, using GDK primitives.
9894
9895         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
9896         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
9897         since we have a rendering-system independent implementation in
9898         terms of draw_glyphs().
9899         
9900         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
9901         function to render a single line.
9902
9903         * gdk/x11/gdkpango.c: Move the guts of this file mostly
9904         into ../gdkpango.c, which simplifies things, since we
9905         don't have to deal with raw X gc's.
9906
9907 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
9908
9909         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
9910         get the logical attributes for a given GtkTextLine.
9911
9912 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
9913
9914         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
9915         g_locale_get_codeset() to g_get_codeset() change.
9916
9917 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
9918
9919         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
9920         descriptions.
9921
9922         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
9923         the entry.
9924
9925         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
9926         redoing (vastly simplifying) for Pango. Still needs quite
9927         a bit of work. (Size selection is currently poor. List of 
9928         predefined sizes is not a good idea, since all of these
9929         sizes won't necessarily be distinct.)
9930
9931 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
9932
9933         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
9934         CODESET results for LANG=C.
9935
9936 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
9937
9938         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
9939         which takes a stringized pango font description;
9940         ignore the older 'font' and 'fontset' declarations.
9941
9942         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
9943         field with a GdkFont derived via gdk_font_from_description(),
9944         for compatibility. (Should we just remove it entirely?
9945         Probably too much compatibility breakage, but people
9946         should be migrating to the new Pango stuff as quickly
9947         as possible.)
9948
9949 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
9950
9951         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
9952
9953 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
9954
9955         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
9956         redoing; there are some bugs in size allocation right
9957         now, the semi-existant distinction between header / day
9958         fonts was removed, but, with Pango, could actually
9959         be made functional in a nice way.
9960         
9961         * gtk/testcalender: Move calender from examples into this
9962         directory as a test program. (We really need to restrcture
9963         testgtk into a whole directory full of tests for every
9964         widget or functionality group, separated into multiple .c
9965         files.)
9966
9967 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
9968
9969         * gtk/testgtk.c (file_exists): Fix stupid typo that
9970         was keeping RC file from being loaded.
9971
9972         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
9973         RC file font code.
9974
9975 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
9976
9977         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
9978         Add function to load a GdkFont from a PangoFontDescription.
9979
9980 2000-05-29  Tor Lillqvist  <tml@iki.fi>
9981
9982         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
9983         variable should be of type GdkEventPrivate.
9984
9985 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
9986
9987         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
9988         to have any widget for the label, use a GtkLabel widget
9989         to display the text. (Based partially on a patch from
9990         Anders Carlson.)
9991
9992         (Quite a bit of code reorganization - strip 90% of the
9993         guts out of gtkaspectframe and add a single virtual
9994         func to GtkFrameClass - compute_child_allocation.)
9995
9996 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
9997
9998         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
9999         (Removed clist->row_center_offset field because caching
10000         it wasn't saving time or code, added private function
10001         _gtk_clist_create_cell_layout()).
10002
10003 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
10004
10005         * gtk/gtkaccellabel.c: Pangoized.
10006
10007         * gtk/[hv]ruler.c: Pangoized
10008
10009 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
10010
10011         * gtk/gtkfilesel.c (gtk_file_selection_init):
10012         Use gtk_clist_set_column_auto_resize() to remove need
10013         need for manual column width computations.
10014
10015 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
10016
10017         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
10018         ensuring Pango correctness, and considerably simplifying the
10019         code.
10020         
10021         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
10022
10023         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
10024         getting of numbers of lines.
10025
10026         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
10027         to the actual requested width of the lable, not to the wrap
10028         width we set.
10029
10030         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
10031
10032         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
10033           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
10034
10035         * gtk/gtktextview.c: Fix structure inheritance.
10036
10037         * gtk/gtkprogressbar.c: Pangoize.
10038
10039 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
10040
10041         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
10042         in a function.
10043
10044         * gtk/gtktextlayout.c (find_display_line_above): Fixed
10045         bug with computing line tops.
10046
10047         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
10048
10049 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
10050
10051         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
10052         and y_offset coordinates to do what we need now. (The offset between
10053         buffer and layout coordinates has been reintroduced, but is a 
10054         bit different than before.)
10055
10056         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
10057         handle the adjustments ourselves, and scroll as necessary using
10058         the new gdk_window_scroll().
10059         
10060         The advantage of this is that when we are incrementally revalidating,
10061         we are essentially rearranging things around the visible portion
10062         of the screen. With the old setup, the visible portion of the
10063         screen was moved around in the layout, so scrolling and redrawing
10064         to track that caused jumping of the display. Since we now
10065         control the scrolling ourselves, we can suppress this and
10066         only redraw when things actually change.
10067
10068 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
10069
10070         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
10071         the region not just redisplay it after-all, since we store the
10072         cursors in the LineDisplay. (Ugly interactions here between
10073         GtkLayout and GtkTextBTree here.)
10074         
10075         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
10076
10077 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
10078
10079         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
10080         Added function to scroll contents of a window while keeping the
10081         window constant. Works by XCopyArea or guffaw-scrolling depending
10082         on the details of how the window is set up. (guffaw-scrolling
10083         still needs to be filled in.)
10084
10085 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
10086
10087         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
10088         move the debugging that was tied to a global variable
10089         to that.
10090
10091         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
10092
10093         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
10094         validated flag, in line data instead of setting height/width to
10095         -1. This allows us to perform operations with partially invalid
10096         buffer (using the old size for invalid lines) and thus to do
10097         incremental vaidation. Keep height/width aggregates up to date
10098         when deleting text and rebalancing the tree.
10099
10100         * gtk/gtktextbtree.[ch]: Add functions validate a line
10101         (gtk_text_btree_validate_line), and to validate up
10102         to a number of pixels (gtk_text_btree_validate).
10103
10104         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
10105         that indicates that something is changed and a revalidation
10106         pass is needed. Change ::need_repaint to ::changed, and
10107         make it take old and new yranges instead of a rectangle.
10108
10109         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
10110         the line_data_destroy() function from 
10111         gtk_text_btree_add_view() to a virtual function in 
10112         GtkTextLayout
10113
10114         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
10115         since we are handling partial repaints in a different fashion
10116         now.
10117
10118         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
10119         of the selection instead of queueing a repaint on the
10120         entire widget.
10121
10122         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
10123         get_selection_bounds() down to btree, make the function
10124         in buffer a wrapper around the btree function.
10125
10126         * gtk/gtktextlayout.[ch]: Add functions to check if the
10127         layout is valid and to recompute either a range of pixels
10128         aroudn a line or a certain total number of pixels.
10129
10130         * gtk/gtktextlayout.[ch]: Cache a single line display;
10131         now that we only redraw the needed portions, the hit rate
10132         for this cache is quite high.
10133         
10134         * gtk/gtktextview.[ch]: Keep track of the first paragraph
10135         on the screen so that when re-laying-out the buffer, we can
10136         keep the same place. This requires connecting to ::value_changed
10137         on the adjustments
10138
10139         * gtk/gtktextview.[ch]: Add idle functions to revalidate
10140         the buffer after we receive an ::invalidated signal.
10141         
10142 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
10143
10144         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
10145         to max of allocation and layout size, not just to the
10146         layout size.
10147
10148         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
10149         Invalidate window so it gets redrawn properly.
10150
10151         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
10152         to mean the entire window.
10153
10154         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
10155         into public header.
10156
10157 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
10158
10159         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
10160         to get the name of a mark.
10161
10162         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
10163         to find the paragraph from a y position.
10164
10165 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
10166
10167         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
10168         nodes have width/height >= 0, not > 0.
10169
10170 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
10171
10172         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
10173         Add a size_only flag, so when we only need the size, we don't create
10174         useless appearance attributes.
10175
10176         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
10177         duplicate setting of font description.
10178
10179         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
10180
10181 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
10182
10183         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
10184         EXTRA_DIST. It does not work well when the file that
10185         everything depends on is not in the tarball.
10186
10187 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
10188
10189         * gtk/testgtk.c: Some hacks and fixes so that it basically
10190         works when not sitting in the GTK+ build tree.
10191
10192 2000-05-03  Havoc Pennington  <hp@redhat.com>
10193
10194         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
10195         Properly determine the ordering of the tag root and the current
10196         line within the tree. Previous algorithm only worked if the tag
10197         root's immediate parent was the common root of both the current
10198         line and the tag root.
10199
10200 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
10201
10202         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
10203         alignment.
10204
10205         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
10206         the widget text directional dynamically.
10207
10208         * gtk/gtktextview.[ch]: Added functions to get and set default
10209         wrap mode.
10210
10211 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
10212
10213         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
10214         in cursor location computation.
10215
10216 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
10217
10218         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
10219         vadjusment values properly when layout gets smaller.
10220
10221         * gtk/gtktextview.c (need_repaint_handler): Areas being
10222         passed in are far completely inaccurate, and sometimes
10223         too small, so, for now, just queue a redraw on the
10224         whole visible region.
10225
10226 2000-04-25  Havoc Pennington  <hp@redhat.com>
10227
10228         * gtk/gtktextbtree.c (summary_destroy): new function to 
10229         destroy tag summary nodes
10230         (gtk_text_line_next_could_contain_tag): this function was 
10231         totally broken if the line passed in wasn't below the tag
10232         root. Fix it.
10233         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
10234         "wildcard" case, we have to do a linear scan. Blah.
10235         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
10236         we have to do the linear scan
10237         (tag_removed_cb): When a tag is removed from the tag table, 
10238         remove the GtkTextTagInfo node from the btree.
10239         (gtk_text_btree_spew): Implement the spew function, for 
10240         our debugging pleasure.
10241
10242 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
10243
10244         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
10245         a problem with referring to the wrong buffer.
10246
10247         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
10248
10249         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
10250         font description to gtk_style_new() - otherwise things
10251         don't work without a .gtkrc file.
10252
10253         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
10254         tags table if we create it ourself, too.
10255
10256         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
10257         it was conflicting with XKB modifiers.
10258
10259         * gtk/gtktextview.[ch]: Add simple support for 
10260         GtkIMContext.
10261
10262 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
10263
10264         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
10265         with deletion from last commit.
10266
10267 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
10268
10269         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
10270         in the context from the current locale.
10271         
10272         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
10273         context, not hardcoded value.
10274
10275         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
10276         not logical.
10277
10278 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
10279
10280         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
10281         attributes - that doesn't handle partial-glyph selection
10282         properly. Instead use new pango_layout_line_get_x_ranges()
10283         functionality to draw the selection.
10284
10285         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
10286         now properly handles out-of-range coordinates.
10287
10288         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
10289
10290         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
10291         public.
10292
10293         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
10294         for paragraphs opposite to the base direction of the widget.
10295
10296         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
10297
10298         * gtk/gtktextlayout.c: Don't split segments on marks, since that
10299         causes Arabic words to reshape as you cursor through.
10300
10301         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
10302         cursor position when moving vertically with the arrow keys and
10303         scrolling with page-up/page-down. (Arrow keys save only the X,
10304         scrolling saves both X and Y.)
10305
10306         This means you can line-up / line-down or page-up / page-down
10307         without losing your place, and also that moving vertically
10308         with the cursor keys keeps the same X position, not the same
10309         character count:
10310
10311         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
10312         arrow keys move by display lines, not paragraphs.
10313
10314 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
10315
10316         * gtk/gtklayout.c: Make sure that the bin window is at least
10317         as big as the allocation. (Should we also make sure that the
10318         bin window is big enough to completely cover widget->window?)
10319
10320         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
10321         function to get the onscreen rectangle.
10322
10323         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
10324         for offsets in window coordinates.
10325
10326 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
10327
10328         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
10329         confusion.
10330
10331         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
10332         from the widget direction.
10333
10334         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
10335         Add a "direction" attribute.
10336
10337         * gtk/gtktextview.c: global s/tkxt/text_view/.
10338
10339         * gtk/testtext.c: Added long block of text in Arabic, to test out
10340         the direction attributes. (Some problems with the shaping system
10341         for arabic become obvious - like the fact the cursor splits words
10342         into unjoined pieces.)
10343
10344 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
10345
10346         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
10347
10348         * gtk/gtktextlayout.c: Fix up alignment.
10349
10350         * gtk/testtext.c: Add some tests for centering, wrapping.
10351
10352 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
10353
10354         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
10355         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
10356         If we wrote GTK+-specific layout-render function this could just replace
10357         the draw_layout() operation in the vtable.
10358
10359         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
10360         pango_layout_get_cursor_pos() and use that function.
10361
10362         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
10363         is a non-static symbol.
10364
10365         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
10366         with gtk_text_btree_find_line_by_y()
10367
10368         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
10369         renderer that handles GtkTextAppearance attributes.
10370
10371         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
10372
10373           - Move the values in the style that don't affect geometry into a
10374             GtkTextAppearance structure.
10375           - Change underline to take a PangoUnderline and "font" a string
10376             representation of a font description
10377           - Add a "font_desc" attribute which takes a FontDescription structure.
10378
10379         * gtk/gtktextlayout.[ch]:
10380
10381           - Get rid of the display-line list per each line. Instead, we
10382             generate, on demand, a GtkTextLineDisplay structure which]
10383             contains a PangoLayout * and other necesary information
10384             (offsets, cursor locations) for displaying a paragraph.
10385           - Get rid of the code to wrap lines, create display chunks,
10386             etc. Instead, we just go through a paragraph and convert
10387             it into the necessary inputs to a PangoLayout.
10388           - Implement a new attribute type, GtkTextAttrAppearance. This
10389             holds a GtkTextAppearance, and is used to pass colors, 
10390             stipple, etc, through from the layout to the display without
10391             having to use lots and lots of individual attributes.
10392           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
10393             in terms of PangoLayout functions.
10394         
10395         * gtk/gtktextview.c: 
10396          
10397           - Handle passing the necessary PangoContext to the layout
10398           - Some fixups in painting to deal with the automatic backing store
10399             and offsetting of GTK+-1.4
10400           - Add a style_set handler so that the default style reacts
10401             properly to theme changes.
10402         
10403         * gtk/gtktext?*.[ch]: Random code-style fixes.
10404
10405         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
10406
10407 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
10408
10409         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
10410         in original form preparatory to Pango-ization and gdkimcontext-ization.
10411
10412 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
10413
10414         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
10415         so that we can derive from gtkimcontext in language bindings properly.
10416
10417 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
10418
10419         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
10420         Add a compose table including (almost) all the compose combinations
10421         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
10422         data in the XIM implementation.
10423
10424         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
10425         Moved functions to convert keyvalues from and to unicode here from
10426         the win32 port and made them public.
10427
10428 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
10429
10430         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
10431
10432 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
10433
10434         * gtk/gtkimcontext.[ch]: Base class for new input context system
10435
10436         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
10437         the real input context implementation to be loaded from modules
10438         and switched on the fly.
10439
10440         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
10441         context that just does direct keysymbol => unicode translation.
10442
10443         * gtk/gtkentry.[ch]: Start switching editing over to using
10444         GtkInputContext. (No handling of preedit yet.)
10445
10446 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
10447
10448         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
10449         many substitutions. (klass should not be subsituted.)
10450
10451 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
10452
10453         * configure.in: Add checks for Pango
10454
10455         * configure.in docs/Makefile.am: Add test for sgml2html
10456         and allow 'make dist' without building html, but print out
10457         warnings in that case. (For making snapshots)
10458
10459         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
10460         Add Pango libraries and C flags
10461
10462         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
10463         Add function (gdk_draw_layout) to draw a pango layout.
10464
10465         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
10466         for getting Pango contexts for GDK.
10467
10468         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
10469
10470         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
10471         editing.
10472
10473         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
10474         keysym => unicode translations. More languages can be added
10475         here, but real input-method support is needed.
10476
10477         * docs/Changes-1.4.txt: Added note about entry behavior.
10478         
10479         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
10480         to set the reading direction for a widget and the global direction.
10481         Add test which allows toggling the global direction. Two private
10482         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
10483
10484         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
10485           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
10486
10487         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
10488
10489         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
10490         underlining now handled by Pango.
10491
10492         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
10493         to RCStyle and Style. (Having both this and the old font name and GdkFont 
10494         is temporary.)
10495
10496         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
10497         convenience functions for creating contexts and layouts for widgets.
10498
10499         * gtk/testgtk.c: Enhance label tests with multilingual labels.
10500
10501 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
10502
10503         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
10504         titles to be active, even if they aren't visible.
10505         (gtk_clist_column_titles_passive):  Ditto.
10506
10507 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
10508
10509         * gtkmenu.c:
10510         * gtkmenu.h:
10511         * gtktypeutils.h: Spelling/grammar fixes in comments.
10512
10513 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
10514
10515         * gdk/nanox/*.h: add missing header files.
10516
10517 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
10518
10519         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
10520         send_event to TRUE.
10521         (gtk_drawing_area_size): queue a resize.
10522
10523 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
10524
10525         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
10526         the handlers, also invalidate them. bug nailed down by Karl Nelson
10527         <kenelson@ece.ucdavis.edu>.
10528
10529 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
10530
10531         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
10532         "(nil)" foundries, patch from Grigorios Magklis.
10533
10534         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
10535         on non-available fonts, based on a patch by Grigorios Magklis
10536         <maglis@cs.rochester.edu>.
10537
10538 2000-05-18  Elliot Lee  <sopwith@redhat.com>
10539
10540         * gdk/x11/gdkregion-generic.c: If a region does not have any
10541         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
10542         instead of GDK_OVERLAP_RECTANGLE_IN.
10543
10544 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
10545
10546         * gtk/gtklayout.c (gtk_layout_map): Remove references to
10547         OFFSCREEN, as it is no longer necessary.
10548
10549 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
10550
10551         * gtk/gtkcolorsel.c: Patch from David Santiago
10552         <mrcooger@cyberverse.com> to change things so that the 
10553         indicator of the active palette entry is done independently,
10554         not via the focus, since it should always be visible.
10555
10556 2000-05-17  Tor Lillqvist  <tml@iki.fi>
10557
10558         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
10559         refcount leaks as in the X11 backend.
10560
10561         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
10562         cosmetics.
10563
10564         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
10565         backend. Add _gdk_windowing_window_destroy().
10566
10567         * gtk/gtkcolorsel.c: Include correct backend-specific header.
10568         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
10569         either, but these probably do exist on nanox?)
10570         
10571         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
10572         which isn't necessarily defined by <math.h>.
10573
10574         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
10575         ancestry past GtkObject.
10576
10577         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
10578         from DLL on Win32.
10579
10580         * gtk/gtk.def: Update corresponding to recent changes.
10581
10582         * gtk/makefile.{cygwin,msc}: Updates.
10583
10584 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
10585
10586         * docs/Changes-1.4.txt: A bit of editing.
10587
10588         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
10589         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
10590         to clear the update area for the window, and clear it
10591         when hiding a window.
10592
10593         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
10594         if window destroyed.
10595
10596         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
10597
10598         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
10599         gdk_window_destroy() to the generic code, since there was a lot of 
10600         window-system-independent logic it in. Add a function:
10601         
10602          _gdk_window_destroy() 
10603
10604         to the internal API to destroy a window without unreferencing it.
10605         Add a function:
10606
10607          _gdk_windowing_window_destroy()
10608
10609         That does the windowing-system-dependent part of destroying 
10610         the window.
10611
10612 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
10613
10614         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
10615
10616 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
10617
10618         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
10619         Make gtk_widget_shape_combine_mask() keep a reference count on
10620         the pixmap since it keeps it around.
10621
10622 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
10623
10624         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
10625         leak.
10626
10627         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
10628         leak with event filters.
10629
10630 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
10631
10632         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
10633         signal handlers with the right data arguments. (Fixes
10634         some warnings when a widget was repeatedly set as a drag
10635         destination.)
10636
10637         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
10638         window so we can avoid avoid setting the DND properties on the
10639         toplevel window repeatedly.
10640
10641 2000-05-13  Tor Lillqvist  <tml@iki.fi>
10642
10643         * gdk/win32/gdkwin32.h: Define more message types missing from
10644         mingw headers.
10645
10646         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
10647         call gdk_window_destroy_notify(). It was never called. This
10648         probably meant that the GdkWindow was never freed. Thanks Owen for
10649         noticing (!).
10650
10651         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
10652         window as destroyed before calling DestroyWindow(). DestroyWindow()
10653         causes a call to the window procedure (gdk_WindowProc), which
10654         calls gdk_event_translate(), which calls
10655         gdk_window_destroy_notify(), which gets confused unless the window
10656         is set as destroyed.
10657
10658         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
10659         this function to indicate it's win32 only. Put inside #ifdef
10660         G_ENABLE_DEBUG.
10661
10662         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
10663         debugging function. (gdk_event_translate:) Add a default branch
10664         that uses the above function to print debug messages with all
10665         Windows messages symbolically.
10666
10667         * gdk/win32/gdkprivate-win32.h: Declare it, and
10668         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
10669
10670 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
10671
10672         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
10673         public header file.
10674
10675 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
10676
10677         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
10678
10679         * gtk/gtktext.c: made the adjustments no-construct args, simply
10680         provide default adjustments.
10681         (gtk_text_destroy): release adjustments.
10682
10683         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
10684         adjustment argument non-construct.
10685
10686         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
10687         instead of in finalize.
10688         (gtk_progress_get_text_from_value): 
10689         (gtk_progress_get_current_text): 
10690         (gtk_progress_set_value): 
10691         (gtk_progress_get_percentage_from_value): 
10692         (gtk_progress_get_current_percentage): 
10693         (gtk_progress_set_percentage): 
10694         (gtk_progress_configure): ensure an adjustment is present.
10695
10696 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
10697
10698         * gtk/gtkcolorsel.[hc]:
10699         * gtk/gtkcolorseldialog.[hc]:
10700         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
10701         their parent implementation, use bit fields for boolean values, don't
10702         create unused widgets, usage of glib types, braces go on their own
10703         lines, function argument alignment, #include directives etc. etc. etc..
10704
10705         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
10706
10707 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
10708
10709         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
10710
10711         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
10712         of NULL.
10713
10714         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
10715         to freed data.
10716         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
10717
10718         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
10719         to NULL when the toplevel is getting destroyed.
10720         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
10721         (gtk_menu_destroy): 
10722         (gtk_menu_init): store the information of whether we have to
10723         readd the initial child ref_count during destruction in a new
10724         GtkMenu field needs_destruction_ref_count.
10725
10726         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
10727         here, those reading: learn from my mistake! ;)
10728         in order for set_?adjustment to support a default adjustemnt if
10729         invoked with an adjustment pointer of NULL, the code read (pseudo):
10730         if (v->adjustment) unref (v->adjustment);
10731         if (!adjustment) adjustment = adjustment_new ();
10732         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
10733         now imagine the first unref to actually free the old adjustment and
10734         adjustment_new() creating a new adjustment from the very same memory
10735         portion. here, the latter comparision will unintendedly fail, and
10736         all hell breaks loose.
10737         (gtk_viewport_set_hadjustment):
10738         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
10739         after unreferencing it.
10740
10741         * gtk/gtkcontainer.[hc]: removed toplevel registration
10742         functions: gtk_container_register_toplevel(),
10743         gtk_container_unregister_toplevel() and
10744         gtk_container_get_toplevels() which had wrong semantics
10745         anyways: it didn't reference and copy the list.
10746
10747         * gtk/gtkwindow.c: we take over the container toplevel registration
10748         bussiness now. windows are registered across multiple destructions,
10749         untill they are finalized. the initial implicit reference count
10750         users are holding on windows is removed with the first destruction
10751         though.
10752         (gtk_window_init): ref & sink and set has_user_ref_count, got
10753         rid of gtk_container_register_toplevel() call. add window to
10754         toplevel_list.
10755         (gtk_window_destroy): unref the window if has_user_ref_count
10756         is still set, got rid of call to
10757         gtk_container_unregister_toplevel().
10758         (gtk_window_finalize): remove window from toplevel list.
10759         (gtk_window_list_toplevels): new function to return a newly
10760         created list with referenced toplevels.
10761         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
10762
10763         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
10764         adjustment a non-construct arg.
10765         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
10766         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
10767         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
10768
10769         * gtk/gtkrange.c: added some realized checks.
10770         (gtk_range_destroy): get rid of the h/v adjustments in the
10771         destroy handler instead of finalize. remove timer.
10772         (gtk_range_get_adjustment): demand create adjustment.
10773
10774         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
10775         we simply create them on demand now and get rid of them in
10776         the destroy handler.
10777         (gtk_viewport_destroy): get rid of the h/v adjustments in the
10778         destroy handler instead of finalize.
10779         (gtk_viewport_get_hadjustment): 
10780         (gtk_viewport_get_vadjustment): 
10781         (gtk_viewport_size_allocate): demand create h/v adjustment
10782         if required.
10783
10784         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
10785         gtk_widget_real_destroy () functionality.
10786         (gtk_widget_real_destroy): reinitialize with a new style, instead
10787         of setting widget->style to NULL.
10788
10789 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
10790
10791         * gtk/gtkcalendar.c:
10792         * gtk/gtkbutton.c: ported _get_type() implementation over to
10793         GType, either to preserve memchunks allocation facilities,
10794         or because Gtk+ 1.0 GtkTypeInfo was still being used.
10795
10796         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
10797         over. prepare for ::destroy to be emitted multiple times.
10798         removed reference tracer magic. chain into GObjectClass.shutdown()
10799         to emit ::destroy signal.
10800
10801         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
10802         fundamental.
10803
10804         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
10805         cludge.
10806
10807         * gtk/gtksocket.c:
10808         * gtk/gtkplug.c:
10809         * gtk/gtklayout.c:
10810         * gtk/gtklabel.c:
10811         * gtk/gtkargcollector.c:
10812         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
10813         not being a fundamental anymore, and to work with the new
10814         type system (nuked fundamental type varargs clutter).
10815
10816         * gtk/*.c: install finalize handlers in the GObjectClass
10817         part of the class structure.
10818         changed direct GTK_OBJECT()->klass accesses to
10819         GTK_*_GET_CLASS().
10820         changed direct object_class->type accesses to GTK_CLASS_TYPE().
10821
10822         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
10823         GType. made most of the GTK_*() type macros and Gtk* typedefs
10824         simple wrappers around macros and types provided by GType.
10825         most notably, a significant portion of the old API vanished:
10826         GTK_TYPE_MAKE(),
10827         GTK_TYPE_SEQNO(),
10828         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
10829         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
10830         GTK_TYPE_ARGS,
10831         GTK_TYPE_CALLBACK,
10832         GTK_TYPE_C_CALLBACK,
10833         GTK_TYPE_FOREIGN,
10834         GtkTypeQuery,
10835         gtk_type_query(),
10836         gtk_type_set_varargs_type(),
10837         gtk_type_get_varargs_type(),
10838         gtk_type_check_object_cast(),
10839         gtk_type_check_class_cast(),
10840         gtk_type_describe_tree(),
10841         gtk_type_describe_heritage(),
10842         gtk_type_free(),
10843         gtk_type_children_types(),
10844         gtk_type_set_chunk_alloc(),
10845         gtk_type_register_enum(),
10846         gtk_type_register_flags(),
10847         gtk_type_parent_class().
10848         replacements, where available are described in ../docs/Changes-1.4.txt.
10849         implemented compatibility functions for the remaining API.
10850
10851         * configure.in: depend on glib 1.3.1, use gobject module.
10852
10853 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
10854
10855         * TODO.xml: Various updates to current status.
10856
10857 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
10858
10859         * gtk.m4: Print out version when test succeeds.
10860
10861 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
10862
10863         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
10864         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
10865         
10866         (Original triangle color selector from Simon Budig
10867         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
10868         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
10869         Santiago <mrcooger@cyberverse.com>)
10870
10871         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
10872         out into a separate widget.
10873
10874         * gtk/testgtk.c: Add some checkbuttons for toggling palette
10875         and opacity controls.
10876
10877 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
10878
10879         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
10880         snuck in prematurely.
10881
10882 2000-05-07  Tor Lillqvist  <tml@iki.fi>
10883
10884         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
10885         had deleted a ! operator by mistake, which caused
10886         GDK_SELECTION_CLEAR events never to be generated, which caused
10887         only the first copy to the clipboard from an gtkeditable to
10888         actually cause a copy to the Windows clipboard.
10889
10890 2000-05-06  Tor Lillqvist  <tml@iki.fi>
10891
10892         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
10893         compilation, too. Current mingw gcc distributions include the
10894         necessary headers. Also the necessary IIDs are now in mingw
10895         headers/libraries, and own definitions unnecessary.
10896
10897         More hacking on OLE2 DND, still doesn't work though, and thus
10898         ifdeffed out.
10899
10900         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
10901         here, too.
10902
10903 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
10904
10905         * gdk/nanox/*: nano-X port work in progress.
10906         * gdk/simple.c: simple test for Gdk.
10907         * README.nanox: notes about the port: read this first!
10908         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
10909         with nano-X.
10910
10911 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
10912
10913         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
10914         gdk_window_clear() into common code, implement in terms of
10915         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
10916         not redirected to the backing rectangle.
10917
10918 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
10919
10920         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
10921         EXTRA_DIST. It does not work well when the file that
10922         everything depends on is not in the tarball.
10923
10924 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
10925
10926         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
10927         with recursion where process_updates() is called from
10928         an expose handler. (GtkTextView is highly broken in
10929         doing this, but it should work, so it is a nice test
10930         case.)
10931
10932 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
10933
10934         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
10935         handle the case where updates are queued during processing of
10936         updates.
10937
10938 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
10939
10940         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
10941         window is on gdk_display - use that instead of segfaulting.
10942
10943 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
10944
10945         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
10946         broken and require an empty arg, give it to them.
10947
10948 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
10949
10950         * gtk/gtklabel.h: indentation fixes.
10951
10952 2000-05-02  Tor Lillqvist  <tml@iki.fi>
10953
10954         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
10955         draw too narrow or too low arcs, they seem to fail, at least with
10956         some display drivers.
10957
10958         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
10959
10960         Large changes to the Win32 backend, partially made necessary by
10961         the changes to the backend-independent internal
10962         structures. Attempts to implement similar backing store stuff as
10963         on X11. The current (CVS) version of the Win32 backend is *not* as
10964         stable as it was before the no-flicker branch was merged. A
10965         zipfile with that version is available from
10966         http://www.gimp.org/win32/. That should be use by "production"
10967         code until this CVS version is usable. (But note, the Win32
10968         backend has never been claimed to be "production quality".)
10969
10970         * README.win32: Add the above comment about versions.
10971
10972         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
10973
10974         * gdk/gdk.def: Update.
10975
10976         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
10977         presumably be replaced by some more better mechanism as 1.4 gets
10978         closer to release shape.
10979
10980         * gdk/makefile.{cygwin,msc}: Update.
10981
10982         * gdk/win32/*.c: Correct inclusions of the backend-specific and
10983         internal headers. Change code according to changes in these. Use
10984         gdk_drawable_*, not gdk_window_* where necessary.
10985
10986         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
10987         our old DND.
10988
10989         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
10990         to interpret single characters as UTF-8. Thanks to Hans Breuer.
10991         Use correct function name in warning messages.
10992
10993         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
10994         GSourceFuncs gdk_event_prepare and gdk_event_check.
10995         (gdk_event_get_graphics_expose): Do implement, use
10996         PeekMessage. Thanks to Hans Breuer.
10997         (event_mask_string): Debugging function to print an GdkEventMask.
10998         (gdk_pointer_grab): Use it.
10999
11000         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
11001         (old) book I used claimed was Hangul actually is CJK Unified
11002         Ideographs Extension A. Also, Hangul Syllables were missing.
11003         Improve logging.
11004
11005         * gdk/win32/gdkgc-win32.c: Largish changes.
11006
11007         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
11008         g_win32_getlocale() from GLib, and not setlocale() to get current
11009         locale name.
11010
11011         * gdk/win32/gdkprivate-win32.h
11012         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
11013         gdkwin32.h, similarily as in the X11 backend.
11014
11015         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
11016         assignment was used instead of equals in if test. Thanks to Hans
11017         Breuer.
11018
11019         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
11020         the X11 version.
11021
11022         * gdk/win32/makefile.{cygwin,msc}
11023         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
11024         path to the Win32 headers that works also with the mingw compiler.
11025
11026         * gtk/gtkstyle.c: Include <string.h>.
11027
11028 2000-04-26  Havoc Pennington  <hp@redhat.com>
11029
11030         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
11031         replacing the broken gtk_label_get ()
11032
11033 2000-04-15  Havoc Pennington  <hp@pobox.com>
11034
11035         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
11036         this keeps scanner scripts from getting confused.
11037
11038         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
11039         data, rather than void
11040
11041 2000-04-15  Tor Lillqvist  <tml@iki.fi>
11042
11043         * gtk/gtkclist.c (gtk_clist_motion)
11044         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
11045         with is_hint FALSE, get x and y from the event. They used to be
11046         used uninitialised. The Win32 backend never sends motion events
11047         marked as hints. This for instance fixes the annoying file and
11048         font selector behaviour in the Win32 version.
11049
11050 2000-04-14  Tor Lillqvist  <tml@iki.fi>
11051
11052         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
11053         gtk_private_n_signals variables, they are used by some software,
11054         sigh.
11055
11056         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
11057         installation directory from the Registry, where the installer
11058         should have put it.
11059
11060 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
11061
11062         * gdk/x11/Makefile.am: Fix problem with installation directory for
11063         gdkx.h
11064
11065         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
11066         <mrcooger@cyberverse.com> so that when selecting menus with the
11067         mouse, the first item will not be selected, but when selecting
11068         with an accelerator, or navigating left-right on a menubar with
11069         the menus popped up, the first item will be selected.
11070
11071 2000-04-05  Dan Damian  <dand@dnttm.ro>
11072
11073         * configure.in: Added "ro" to ALL_LINGUAS.
11074
11075 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
11076
11077         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
11078         indentation.
11079
11080         * Makefile.am (EXTRA_DIST): Fix typo.
11081
11082         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
11083         to catch gdkconfig.h
11084
11085         * gtk/gtkitemfactory.c: Added FIXME.
11086
11087 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
11088
11089         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
11090         s/return_if_fail/return_val_if_fail/g and add a return value.
11091
11092 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
11093
11094         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
11095         merge slipup.
11096
11097         * gdk/gdkinput.h: Fix missing line from merge.
11098
11099 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
11100
11101         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
11102         instead of gdkprivate.h.
11103
11104 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
11105
11106         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
11107         parent class to correctly be GtkDialogClass.
11108
11109 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
11110
11111         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
11112         toplevel windows and their immediate children by their parents,
11113         since the size of toplevel windows is out of our immediate
11114         control and we don't get any real benefit from trying to track
11115         this size for clipping.
11116
11117         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
11118         for input_only windows.
11119
11120         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
11121         to fix some hacks and make sure that we don't try to set the
11122         background of input only windows.
11123
11124 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
11125
11126         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
11127         the _really_ internal stuff, and leave gdkprivate.h for the fake private
11128         stuff that we've traditionally exposed.
11129
11130         * gdk/**.c: Use gdkinternals.h where appropriate.
11131
11132         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
11133         not include gdkprivate-x11.h, move all stuff of conceivable public
11134         interest into gdkx.h; keep all really private stuff in
11135         uninstalled header gdkprivate-x11.h.
11136
11137         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
11138         image->image_put on windows through a new function _gdk_window_draw_image()
11139         to allow us to do backing store for images. (Sort of ugly)
11140
11141         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
11142         contexts locally so that we can offset them properly when drawing 
11143         onto backing pixmaps.
11144
11145         * gdk/gdkinput.h: Reindented
11146
11147         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
11148         pixmap or color for the window, so we can properly initialize
11149         our double-buffer pixmaps, and also so that we temporarily set
11150         a background of None while scrolling.
11151
11152         * gdk/gdkregion.h: Revise region boolean operators to have an
11153         interface that is actually convenient - switch from creating new
11154         regions on every op, to "methods" that modify existing regions
11155         (A = A OP B). 3 argument forms which allow dest == src, would also
11156         be possible, but the current interfaces seem to map nicely
11157         onto what needs to be done. (There is quite a lot of region
11158         code in GDK now.)
11159
11160         * gdk/gdkregion.h: Add constructor from rectangle and a copy
11161         operator.
11162
11163         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
11164         gdkpoly-generic.h: Copy region code from Xlib, switch it over
11165         to 32 bit coordinates, modify it to be mostly GTK+ style
11166         and to have interfaces that match gdkregion.h.
11167
11168         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
11169         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
11170         create a backing pixmap and redirect all drawing to
11171         that backing pixmap until a matching gdk_window_end_paint().
11172
11173         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
11174         Create a special drawable class for GtkWindow's that 
11175         redirects the drawing to the backing pixmap as necessary
11176         and then calls the real operations in _gdk_windowing_window_class.
11177
11178         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
11179         Store invalid region for each window. Generate expose events for invalid
11180         region in an idle. This replaces both the expose compression
11181         and the redrawing queuing in GTK+. It is both more efficient and
11182         simpler than either one individually and far more so then the
11183         combination.
11184
11185         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
11186         Emulate 32 bit coordinates for windows with 16 bit coordinates
11187         by offsetting drawing, guffaw scrolling techniques and
11188         mapping/unmapping child windows as necessary.
11189
11190         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
11191         where, when invalid regions are processed, the region is stored,
11192         and if expose events come in that are detectably duplicate
11193         the processed exposes (by comparison of event serial numbers),
11194         the stored region is subtracted out of those exposes.
11195
11196         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
11197         regions newly exposed when scrolling or resizing windows.
11198         This, combined with forcing processesing of queued invalidated
11199         regions, gives nice flicker-free scrolling.
11200
11201         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
11202         invalidated regions after every scroll.
11203
11204         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
11205         emulation in GDK. Its, for all practical purposes just a
11206         GtkViewport/GtkFixed hybrid now.
11207
11208         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
11209         (16-bit) structures as necessary instead of just casting.
11210
11211         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
11212         in terms of the structures from gdkregion-generic.c, using appropriate
11213         offsets from GDK to X11 coordinates. Cache clip mask and
11214         origin and ts origin locally and only flush to the server
11215         when drawing, to avoid constantly setting and resetting these
11216         values when offsetting GC's for scrolling and backing pixmaps.
11217
11218         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
11219
11220         * gtk/gtkcontainer.c: Call process_all_updates at end
11221         of resizing to reduce flicker. (Avoids having redraw
11222         lag arbitrarily behind resize under some circumstances)
11223
11224         * gtk/gtkentry.c: Remove old backing store code, and simply take
11225         advantage of the new backing store capabilities of GDK.
11226
11227         * gtk/gtkmain.c: Simple implementation of widget backing
11228         store - simply push a paint while handling each expose.
11229         (Should really be configurable widget for widget.)
11230         
11231         * gtk/gtkwidget.c: Remove all the old complicated redraw
11232         code, and simply invalidate the GDK windows from
11233         gdk_window_queue_clear(), etc. (Sigh, so much carefully
11234         debugged complexity ... gone to the winds.)
11235
11236         Remove all the code for suppressing expose events while
11237         resizes are pending; this isn't needed since the invalid
11238         areas won't be processed until after the resizes are
11239         processed, since they are in a lower priority idle.
11240
11241 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
11242
11243         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
11244         and height of dest rectangle for non-intersecting rectangles.
11245
11246 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
11247
11248         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
11249         for GdkRectangle.
11250
11251 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
11252
11253         * gdk/gdk{events,image,private,types,window}.h
11254          gdk/x11/gdkinputprivate.h: Change all coordinates
11255          from int16 to int. Also, Change width and height from
11256          unsigned to signed to avoid all the stupid C 
11257          signedness bugs.
11258
11259 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
11260
11261         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
11262         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
11263         Add some more detailed checking.
11264
11265         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
11266         New function to retrieve the depth of a drawable.
11267
11268         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
11269         field, reorder fields to save memory. 
11270
11271 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
11272
11273         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
11274         of the background image instead of scaling the background down to
11275         a line.
11276
11277         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
11278         which temporarily set slider to wrong size.
11279
11280         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
11281         queue_clear().
11282
11283 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
11284
11285 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
11286
11287         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
11288
11289 2000-03-17  Tor Lillqvist  <tml@iki.fi>
11290
11291         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
11292         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
11293
11294         * gdk/win32/gdkfont-win32.c
11295         * gdk/win32/gdkproperty-win32.c
11296         * gdk/win32/gdkselection-win32.c
11297         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
11298         now declared such.
11299
11300 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
11301
11302         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
11303
11304 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
11305
11306         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
11307         is called without trapping X errors.
11308
11309 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
11310
11311         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
11312         way into the fontset lists.
11313
11314 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
11315
11316         * gtk/gtkthemes.h: add extern "C" scope.
11317
11318 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
11319
11320         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
11321         to make appends to the list constant. (gtk-guy-990901-0.patch)
11322
11323 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
11324
11325         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
11326         for the typename hash table.
11327
11328 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
11329
11330         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
11331         to make sure we never divide by zero. 
11332         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
11333
11334 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
11335
11336         * gtk/gtkfontsel.c: Apply patch from
11337         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
11338         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
11339
11340         Also, some cleanups in atom handling.
11341
11342 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
11343
11344         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
11345         not GtkWidget.
11346
11347 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
11348
11349         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
11350         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
11351         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
11352         more guint wrap-around bugs before going to bed.
11353
11354 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
11355
11356         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
11357         guint wrap arounds in allocation.width.
11358
11359         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
11360         process untill we fit the allocation given.
11361
11362 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
11363
11364         * gtk/gtkwidget.c:
11365         (gtk_widget_unrealize): guard widget access with ref/unref
11366         around signal emission.
11367         (gtk_widget_hide): same here, but also check its destroyed
11368         state before queueing a resize.
11369
11370 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
11371
11372         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
11373         of gtk_default_insensitive_bg as insensitive base color.
11374
11375         * gtk/gtktext.c (gtk_text_style_set): set the background color according
11376         to the widget's state.
11377         (gtk_text_realize): same here.
11378         (gtk_text_state_changed): same here.
11379         (draw_bg_rect): compare background color against base[] from
11380         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
11381
11382 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
11383
11384         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
11385         grabs are active, unless a delete event is send to the toplevel
11386         of the currently grab holding widget.
11387
11388 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
11389
11390         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
11391         debugging g_print's.
11392
11393 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
11394
11395         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
11396         ever make the scrolled-window requisition ever depend on the 
11397         visibility state of the scrollbars for the AUTOMATIC policy. 
11398         This breaks the GTK+ requisition model, and causes loops.
11399
11400 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
11401
11402         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
11403         the default font to avoid problems with XFree86-4.0 where the
11404         default charset is iso10646-1, not iso8859-1.
11405
11406 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
11407
11408         * acinclude.m4
11409         * config.guess
11410         * config.sub
11411         * ltconfig
11412         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
11413
11414         * gtk/Makefile.am: minor cosmetic consistency tweak
11415
11416 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
11417
11418         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
11419         the activate_time to 0, so that we handle a quick
11420         press/release press/release properly and don't suppress
11421         the second release. (Red Hat bug #7545)
11422
11423 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
11424
11425         * gtk/gtkctree.c (row_delete):
11426         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
11427         bugs with destruction notifier, *always* update internal
11428         structures *before* calling user code.
11429
11430 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
11431
11432         A few more fixes for bug #5487, #2051, #2677.
11433         * gtk/gtkclist.c : 
11434         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
11435         not GDK_BUTTON_PRESS.
11436         (resync_selection): resync only if selection_mode is
11437         GTK_SELECTION_EXTENDED
11438         * gtk/gtkctree.c (resync_selection): same here
11439
11440 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
11441
11442         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
11443         gdk_drag_get_selection() and gtk_menu_detach().
11444
11445         [ From Jeroen Ruigrok/Asmodai ]
11446
11447 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
11448
11449         * gtk/gtknotebook.c (gtk_notebook_size_request): 
11450         page->tab_label can be NULL.
11451
11452 2000-01-25  Havoc Pennington  <hp@pobox.com>
11453         
11454         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
11455         arg is boolean
11456
11457         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
11458
11459         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
11460
11461         * gdk/gdkproperty.c (gdk_property_get): return boolean
11462
11463         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
11464
11465         * gdk/gdkim.c (gdk_im_ready): return boolean
11466
11467         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
11468
11469         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
11470         glib clash, should fix glib)
11471
11472         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
11473         (gdk_get_show_events): return gboolean, and canonicalize 
11474         to TRUE/FALSE
11475
11476         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
11477         colormap is private
11478         (gdk_colors_alloc): gboolean whether to be contiguous
11479         (gdk_color_equal): return gboolean since we are a predicate
11480         and not a qsort() (this looks semi-wrong due to glib breakage,
11481         IMO glib should be fixed)
11482         
11483         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
11484         (gdk_get_use_xshm): return gboolean
11485         (gdk_pointer_is_grabbed): return gboolean
11486
11487         * gdk/gdk.h: Change prototypes to match all the above changes,
11488         and re-run egtk-format-protos as required.
11489
11490 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
11491
11492         * gtk/gtkctree.c (resync_selection): 
11493         * gtk/gtkclist.c (resync_selection):
11494
11495         Return immediately if clist->drag_pos < 0. This is a workaround
11496         for the corrupt state that the clist gets into when a
11497         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
11498
11499         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
11500         
11501         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
11502         variable from recent commit.
11503
11504 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
11505
11506         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
11507
11508 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
11509
11510         * gtk/Makefile.am: prefix all autogenerated source that get build in
11511         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
11512         in builddir. since we subsequently cd into srcdir for autogeneration,
11513         the paths have to be stripped from the target file names, thusly we
11514         use $(@F) as target names now.
11515         put a comment about configure.in's --disable-rebuilds option,
11516         which can be used for non-writable source directories, for development
11517         setups though, srcdir has to be *writable*.
11518
11519 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
11520
11521         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
11522           Finish the job of allowing event to be NULL.
11523           (Fixes bug #4283, reported by Chris Blizzard)
11524
11525         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
11526           things so that the cursor appears on screen, properly
11527           take into account INNER_BORDER.
11528           (Fixes bug #4754, reported by Antonio Campos)
11529
11530 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
11531
11532         * gtk/gtknotebook.c (gtk_notebook_map): Don't
11533           show the tab_label unless it itself is visible.
11534
11535           gtk/gtknotebook.c (gtk_notebook_size_request):
11536           Do a better job of making sure that the visibility
11537           of the tab label corresponds to whether it should
11538           be mapped or not.
11539
11540 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
11541
11542         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
11543           Use the requisition, not the allocation, since the
11544           allocation has not necessarily been computed yet.
11545           (Pointed out by Eugene Osintsev)
11546
11547 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
11548
11549         * gtk/gtkstyle.c (gtk_style_new): Dont' set
11550           style/base[GTK_STATE_INSENSITIVE] both to
11551           gtk_default_insensitive_bg!
11552           (Bug #2187, reported by Jonathan Blandford)
11553
11554         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
11555           Add Alt_L, Alt_R to list of invalid accelerators.
11556           (Bug #3736, reported by Vlad Harchev)
11557
11558 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
11559
11560         * gtk/gtkfilesel.c (open_ref_dir): Fix several
11561         bugs which occured after an attempt to open 
11562         invalid home directory left cmpl_state->reference_dir == NULL.
11563
11564          - completion on files in home directory didn't work
11565          - completion on an empty string caused  segfault
11566
11567          (Bug #3678, reported by Steve Ratcliffe)
11568
11569         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
11570         cut and paste error that was causing scales to
11571         be incorrectly positioned.
11572         (Bug #2956,
11573          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
11574
11575 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
11576
11577         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
11578         when checking for dcgettext, if we've found we needed
11579         it for dgettext.
11580 +
11581 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
11582
11583         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
11584         queue_clear on NO_WINDOW widgets during a reparent,
11585         since at that point the window and widget heirarchies
11586         are out of sync. This stops crashing in some cases
11587         (the scrolled window reparent test, for instance), and
11588         _probably_ won't cause drawing errors.
11589
11590         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
11591         test do what it was supposed to do and be robust against
11592         window closings, etc. (Bug #2443)
11593
11594 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
11595
11596         * gtk/gtkentry.c: Fix return values on mouse events.
11597         (Bug #2686, Sky <seb_sky@yahoo.com>)
11598
11599         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
11600         (pointed out by George Lebl)
11601
11602         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
11603         (From Ettore Perazzoli  <ettore@helixcode.com>)
11604  
11605 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
11606
11607         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
11608         clicks between rows or outside calender area correctly.
11609         (Patch from Damon Chaplin)
11610
11611         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
11612         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
11613           Call destroy function when overwriting existing data. 
11614           (Pointed out by Damon Chaplin)
11615
11616 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
11617
11618         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
11619           which was causing problems on various systems with Xmu.
11620           This hasn't been needed for a very long time.
11621           (Fixes #1185 3167)
11622
11623 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
11624
11625         * gdk/gdki18n.h: Include <ctype.h> when defining
11626           gdk_isw* in terms of is* as a fallback.
11627           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
11628
11629 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
11630
11631         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
11632           realize the widget when it is size allocated!
11633           (old, old bug)
11634
11635         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
11636           Removed unused call to gdk_window_get_size() that
11637           showed up when the above was fixed.
11638
11639 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
11640
11641         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
11642           fix up widget->window when the widget is a
11643           NO_WINDOW container widget.
11644
11645 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
11646
11647         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
11648           to account for the fact that feof() does _not_ 
11649           return TRUE on errors, and thus avoid infinite loops
11650           when trying to use gdk_pixmap_create_from_xpm()
11651           on unreadable values.
11652
11653 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
11654
11655         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
11656
11657 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
11658
11659         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
11660           gdk_gc_set_dashes to take gint8 instead of gchar to
11661           make it clearer that it is _not_ a NULL terminated string.
11662
11663         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
11664           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
11665           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
11666           arguments.
11667
11668 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
11669
11670         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
11671         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
11672         background size relative to our allocation, guard against small
11673         allocations, we may have not yet been size allocated.
11674
11675 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
11676
11677         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
11678         not just version == 3. We implement all 3 + most of 4 - 
11679         (we don't support matching text/plain;charset=iso-8859-1
11680         to a dest that expects text/plain). We'll still advertise
11681         3 to be safe, but any client implementing version >= 3
11682         must interoperate with 3.
11683         
11684 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
11685
11686         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
11687         background and gc members, add a warning in gtk_tooltips_set_color()
11688         indicating that this function is deprecated.
11689
11690 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
11691
11692         * docs/gtkfaq.sgml: FAQ Update:
11693           - Minor cleanups (Emmanuel, me)
11694           - New questions:
11695                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
11696                 How can I retrieve the text from a GtkMenuItem? (timj)
11697                 How do I validate/limit/filter the input to a GtkEntry? (me)
11698                 Memory does not seem to be released when I free the list
11699                         nodes I've allocated (timj)
11700
11701 2000-03-07  Tor Lillqvist  <tml@iki.fi>
11702
11703         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
11704         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
11705         for which it is no use to call GetLastError onWin9x.
11706         (gdk_other_api_failed) New function, for general error
11707         reporting without calling GetLastError.
11708         (gdk_win32_api_failed) OTOH, this function always calls
11709         GetLastError. (gdk_win32_last_error_string) Remove this function,
11710         GLib has the equivalent now.
11711
11712         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
11713         call them with function name, file name and line number in the
11714         arguments.
11715
11716         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
11717         functions.
11718         
11719         * gtk/gtk.def: Add some missing entry points.
11720
11721         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
11722         gtk_paned_set_gutter_size, which don't exist any longer, as void.
11723         
11724         Fixes by Hans Breuer:
11725
11726         * gdk/makefile.msc: Update for debugging.
11727
11728         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
11729         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
11730         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
11731         in the dash_list.
11732
11733         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
11734         the x11 backend.
11735
11736         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
11737
11738         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
11739
11740 2000-03-04  Tor Lillqvist  <tml@iki.fi>
11741
11742         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
11743         just pixel value of background colour.
11744
11745         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
11746         containing code snippet previously duplicated in a couple of
11747         places.
11748         
11749         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
11750         gdk_colormap_color.
11751
11752         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
11753         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
11754         events for autorepeated Shift, Control and Alt keys. Use
11755         gdk_colormap_color.
11756
11757         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
11758         pointer is inside the window the cursor of which we are setting,
11759         call SetCursor immediately.
11760
11761         * gdk/win32/makefile.cygwin
11762         * gtk/makefile.cygwin: If we don't have the build number stamp
11763         file, use zero.
11764
11765         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
11766         gtk_paned_set_gutter_size as empty.
11767
11768         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
11769         
11770 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
11771
11772         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
11773           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
11774           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
11775           docs/gtk_tut.sgml docs/gtk.texi TODO:
11776
11777           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
11778
11779 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
11780
11781         * gtk/gtkcalendar.c: Implement num_marked_dates,
11782           and don't emit mutiple day_selected signals on
11783           month_prev.
11784
11785 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
11786
11787         * docs/make-todo (lineno): let title and logo be configurable so
11788         that GNOME can use this script too.
11789
11790         * TODO.xml: added logourl and a title
11791
11792 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
11793
11794         * TODO.xml: Added some UI items, and an explanatory
11795         comment at the top of the file.
11796
11797 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
11798
11799         * TODO.xml: some updates, added abunch of new entries.
11800         a note for those fiddeling with this file, when done
11801         with it, invoke:
11802         $ ./docs/make-todo TODO.xml >/dev/null
11803         and correct output errors before comitting changes.
11804
11805 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
11806
11807         * TODO.xml: Added XML-structured TODO file.
11808         * docs/make-todo: python script to turn TODO.xml into
11809           pretty XML output. 
11810
11811 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
11812
11813         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
11814         the function to let it draw the seven dots, instead of the old,
11815         much maligned, method.
11816         (draw_dot): New function to draw a dot.
11817
11818         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
11819         to draw the handle inside the border width as opposed to outside.
11820         Use paint function instead of gdk_draw_point.
11821
11822         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
11823         to draw the handle inside the border width as opposed to outside.
11824         Use paint function instead of gdk_draw_point.
11825
11826         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
11827         Change indenting to be more GTK like.
11828
11829 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
11830
11831         * docs/gtk_tut.sgml: New section on GtkCalendar
11832         * examples/calendar: Update example code
11833
11834 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
11835
11836         * docs/gtkfaq.sgml: FAQ Update
11837
11838 2000-02-19  Anders Carlsson  <andersca@gnu.org>
11839
11840         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
11841         to prevent the scroll event to be propagated upwards.
11842
11843 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
11844
11845         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
11846         OwnerGrabButtonMask from button entries for
11847         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
11848
11849         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
11850         to the event mask (which will result in button/press release
11851         being added to the event mask on Unix) so scrolling works
11852         for layouts in scroll windows.
11853
11854         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
11855
11856         Patch from Anders Carlsson  <andersca@gnu.org> to add
11857         a scroll event.
11858
11859         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
11860         scrolling to the "Test Scrolling" part of testgtk.
11861  
11862         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
11863  
11864         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
11865         it against GDK_SCROLL.
11866  
11867         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
11868         way of mouse wheel scrolling.
11869  
11870         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
11871  
11872         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
11873  
11874         * gtk/gtkmain.c: Removed previous mouse wheel hack.
11875  
11876         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
11877         gdk_event_mask_table.
11878  
11879         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
11880         GdkEventScroll handler.
11881  
11882         * gdk/gdkevents.h: Added GdkEventScroll structure.
11883  
11884 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
11885
11886         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
11887         and Anders Carlsson to change the Paned widgets so that they
11888         can be dragged from anywhere along the length. Also change
11889         the way that this is drawn to make this apparent.
11890
11891         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
11892         from George Lebl to check that option_menu->menu is present
11893         before getting history.
11894
11895 2000-02-14  Tor Lillqvist  <tml@iki.fi>
11896
11897         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
11898         before the assertion for non-NULL segment list.
11899
11900         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
11901         Seems that pattern brushes *must* be 8x8 pixels! At least on my
11902         machine, but it might be display driver dependent. Sigh, so make
11903         sure the stipple is that size. Does Windows suck or what?
11904
11905         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
11906         places.
11907
11908 2000-02-13  Havoc Pennington  <hp@pobox.com>
11909
11910         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
11911         refcount to 1
11912         (gdk_cursor_new): init refcount to 1
11913
11914         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
11915
11916 2000-02-13  Tor Lillqvist  <tml@iki.fi>
11917
11918         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
11919         so that we don't have to do unnecessary settings to the HDC.
11920
11921         * gdk/win32/gdkdrawable-win32.c
11922         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
11923         gdk_gc_predraw.
11924
11925         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
11926         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
11927         GDI paths, call WidenPath to get the outline of the stroken path,
11928         and then fill the outline (with the brush that was built from the
11929         stipple).
11930
11931         * gdk/win32/gdkgc-win32.c: Factor out common code from
11932         _gdk_win32_gc_new and gdk_win32_gc_set_values into
11933         gdk_win32_gc_values_to_win32values. Use correct colour for
11934         SetBkColor() (Until now the code actually used a random colour in
11935         the call to SetBkColor()... but that didn't show up as not many
11936         GDI APIs use the background colour. Pattern (opaque stippled)
11937         brushes do.)
11938
11939         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
11940         gdk_win32_api_failed): New functions for error logging.
11941
11942         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
11943         WIN32_API_FAILED to call them, passing function or file name and
11944         line number.
11945
11946         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
11947
11948         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
11949         GdkColor for foreground and background in GdkGCWin32Data.
11950
11951         * gdk/makefile.cygwin: Link in the resource object separately.
11952
11953         * gdk/win32/rc/gdk.rc
11954         * gtk/gtk.rc (New file)
11955         * gdk/win32/makefile.cygwin
11956         * gtk/makefile.cygwin: Update build number in DLLs automatically,
11957         as in GLib.
11958
11959 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
11960
11961         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
11962         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
11963         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
11964         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
11965         parameters given and cursor->ref_count. coding style fixups.
11966
11967         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
11968         not GtkWidget.
11969         
11970         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
11971         fix up widget macros and add _GET_CLASS() variant.
11972         
11973         * gtk/*.c: some GtkType fixups.
11974
11975 2000-02-09  Tor Lillqvist  <tml@iki.fi>
11976
11977         * gdk/win32/gdkproperty-win32.c
11978         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
11979         were reversed.
11980
11981 2000-02-04  Tor Lillqvist  <tml@iki.fi>
11982
11983         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
11984         g_filename_to_utf8 to convert the font names Windows gives us from
11985         whatever is the default codepage to UTF-8.
11986         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
11987         in the other direction.
11988
11989         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
11990         error in debugging output.
11991
11992 2000-02-02  Tor Lillqvist  <tml@iki.fi>
11993
11994         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
11995         and height parameters to gdk_window_clear_area(). Not minus one.
11996
11997 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
11998
11999         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
12000         checks if the widget passed to gtk_drag_get_data() was not the
12001         dest widget.
12002
12003 2000-02-01  Tor Lillqvist  <tml@iki.fi>
12004
12005         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
12006         g_filename_from_utf8 functions (which were added a moment ago to
12007         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
12008         size buffers.
12009
12010         gtk_file_selection_get_filename returns the filename in the C
12011         runtime encoding. It calls g_filename_from_utf8, but copies the
12012         returned string to a static buffer, which is returned. I think
12013         this is better than returning the result from g_filename_from_utf8
12014         directly, which would mean all apps that use it would have to free
12015         the return value. Or should this function care about this issue at
12016         all? Maybe a new function with clearly defined semantics.
12017
12018         * gtk/gtkfilesel.h: Add comment about
12019         gtk_file_selection_get_filename returning the filename in the C
12020         runtime's encoding.
12021
12022         * README.win32
12023         * gdk/gdk.def
12024         * gdk/makefile.{cygwin,msc}
12025         * gtk/gtk.def: Updates.
12026
12027         * gdk/gdkcursor-win32.c: Initialise refcount.
12028
12029 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
12030
12031         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
12032
12033 2000-01-30  Havoc Pennington  <hp@pobox.com>
12034
12035         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
12036         destroy
12037
12038         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
12039
12040         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
12041         implemented in platform-specific code
12042
12043         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
12044
12045         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
12046         underscore in front
12047
12048         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
12049         put an underscore in front
12050
12051         * gdk/gdkcursor.c: new file, implements
12052         gdk_cursor_ref/gdk_cursor_unref
12053
12054         * gdk/gdkcursor.h: Refcount GdkCursor
12055
12056         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
12057
12058 2000-01-29  Tor Lillqvist  <tml@iki.fi>
12059
12060         * gdk/gdkwindow.h
12061         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
12062
12063 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
12064
12065         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
12066         structures to properly inherit from GtkWidget not GtkBin.
12067
12068 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
12069
12070         * gtk+.spec.in: Added lib/gtk+/include/* to %files
12071         (bug #5178 - Peter Wainright)
12072         
12073         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
12074         so that it will be installed.
12075         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
12076
12077 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
12078
12079         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
12080         for the GtkStyleClass vtable const.
12081
12082         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
12083         take a const string argument like GtkTranslateFunc. This will
12084         require changes in use code.
12085
12086 2000-01-19  Tor Lillqvist  <tml@iki.fi>
12087
12088         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
12089         semantics (to mimic the X11 backend, which just calls XClearArea)
12090         is to check for zero width (and height), and in that case use the
12091         window's width minus x (height minus y). This fixes for instance
12092         some redraw problems with gtkclist, which were easily noticeable
12093         in the gtk file selection widget.
12094
12095         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
12096         windows.
12097
12098 2000-01-13  Tor Lillqvist  <tml@iki.fi>
12099
12100         * configure.in
12101         * gdk/Makefile.am
12102         * gdk/x11/Makefile.am
12103         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
12104         (bug #5177).
12105         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
12106         out later.
12107
12108 2000-01-09  Tor Lillqvist  <tml@iki.fi>
12109
12110         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
12111         WM_MOVE for iconified or invisible windows. This fixes various
12112         problems when minimising windows. Thanks to Bernd Herd.
12113
12114 2000-01-05  Tor Lillqvist  <tml@iki.fi>
12115
12116         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
12117         backend's draw_lines method, not draw_points.
12118
12119 2000-01-02  Tor Lillqvist  <tml@iki.fi>
12120
12121         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
12122         before Owen's reorganisation: Don't have queued_events and
12123         queued_tail statics in this file, but use gdk_queued_events and
12124         gdk_queued_tail. This makes exposure event compression work again.
12125
12126         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
12127         seem to be needed?
12128
12129 1999-12-30  Tor Lillqvist  <tml@iki.fi>
12130
12131         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
12132         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
12133         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
12134         doesn't do anything.
12135
12136         * gdk/gdk.def: Add gdk_xid_table_insert.
12137
12138         * gdk/win32/gdkprivate-win32.h
12139         * gdk/win32/gdkevents-win32.c
12140         * gdk/win32/gdkinput-win32.c
12141         
12142         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
12143         extension_events field in the GdkWindowWin32Data struct. Use only
12144         the extension_events field in GdkWindowPrivate. Previously one was
12145         set, and the other one tested, which broke tablet
12146         functionality. Thanks to Keishi Suenaga for pointing this out.
12147
12148 1999-12-18  Tor Lillqvist  <tml@iki.fi>
12149
12150         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
12151         When handling a single character (text length == 1), don't handle
12152         it as if it was UTF-8.
12153
12154 1999-12-11  Tor Lillqvist  <tml@iki.fi>
12155
12156         * Makefile.am: Distribute README.win32.
12157         
12158         * gdk/Makefile.am
12159         * gdk/win32/Makefile.am: Distribute Win32 files.
12160
12161         * gdk/makefile.msc: New file.
12162
12163         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
12164         after label).
12165
12166         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
12167         gdk_error_code as GDKVAR, as they are referred outside GDK.
12168
12169         * gdk/win32/makefile.msc: Update.
12170
12171         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
12172         tweaks. Check only if at least one of those Unicode subrange bits
12173         we care for is set. If no code page bits are set, guess (wildly)
12174         based on the charset.
12175
12176         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
12177
12178         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
12179         non-NULL.
12180
12181         * gtk/gtkdnd.c
12182         * gtk/gtklayout.c
12183         * gtk/gtkplug.c
12184         * gtk/gtkselection.c
12185         * gtk/gtksocket.c
12186         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
12187         appropriate. There must be a cleaner way to handle this?
12188
12189         * gtk/gtkrc.c: Must include windows.h on Win32.
12190
12191         * gtk/testgtk.c: No need to include gdkx.h.
12192
12193         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
12194
12195 1999-12-07  Tor Lillqvist  <tml@iki.fi>
12196
12197         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
12198         the rbearing is set to the same as the width, but this should be
12199         fixed.
12200
12201 1999-12-06  Tor Lillqvist  <tml@iki.fi>
12202
12203         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
12204         function. If Windows doesn't tell us what Unicode subranges a font
12205         covers, guesstimate based on the codepages it covers. This will
12206         hopefully help those Windows versions or fonts that don't give us
12207         any useful Unicode subrange information with GetTextCharsetInfo.
12208         Call this function in gdk_font_load_internal.
12209
12210         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
12211         minor changes.
12212
12213 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
12214
12215         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
12216         New function, long needed.
12217
12218 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
12219
12220         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
12221         only_if_exists argument of gdk_atom_intern to
12222         bool.
12223
12224 1999-11-25  Tor Lillqvist  <tml@iki.fi>
12225
12226         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
12227         Fix two copy&paste errors.
12228
12229         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
12230         win32 has changed.
12231
12232         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
12233         GdkWin32SingleFont struct.
12234
12235         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
12236         subranges of loaded fonts. Clear font signature first, in case
12237         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
12238         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
12239
12240         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
12241         Unoffset clip region.
12242
12243 1999-11-23  Tor Lillqvist  <tml@iki.fi>
12244
12245         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
12246         event->any.window before calling filter functions.
12247
12248 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
12249
12250         * gtk/gtkgamma.h: Adapt cast macros to standard.
12251
12252 [ Merges from 1.2 ]
12253
12254 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
12255
12256         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
12257         If translation does not include a '/', use entire
12258         translation instead of crashing.
12259
12260 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
12261
12262         * docs/gtk_tut.sgml:
12263         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
12264
12265 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
12266
12267         * gtk/gtkselection.c (gtk_target_list_remove): Use
12268         g_list_remove_link, not g_list_remove.
12269
12270         [ From Geert Bevin <gbevin@thunderstorms.org> ]
12271         
12272 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
12273
12274         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
12275         statement upon unselection (how the heck did that slip in?).
12276
12277 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
12278
12279         * gtk/gtktext.c (gtk_text_freeze): 
12280         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
12281         in frozen state (and aparently crashes). patch provided by Anders
12282         Melchiorsen <and@kampsax.dtu.dk>.
12283
12284 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
12285
12286         * fix insensitive default/focus widget activation,
12287         reported by Matt Goodall <mgg@isotek.co.uk>.
12288
12289         * gtk/gtkwindow.c (gtk_window_key_press_event): 
12290         (gtk_window_activate_default):
12291         (gtk_window_activate_focus):
12292         return handled=FALSE for actiavtion of insensitive default
12293         widgets. return handled=TRUE for activation of insensitive
12294         focus widgets. don't activate in either case.
12295
12296 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
12297
12298         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
12299         and $glib_cflags to match library order and in the
12300         theory that an old version of GLib is more likely to
12301         be in the include directory for X then vice-versa.
12302         (Bug #2776)
12303
12304 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
12305
12306         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
12307         to determine the locale for fontsets, not LC_MESSAGES;
12308         the user may want English messages with a handling
12309         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
12310         will still be broken) (Bug #2891)
12311
12312 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
12313
12314         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
12315
12316 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
12317
12318         * gtk/gtkrc.ko: Changed the Korean default fontset.
12319
12320 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
12321
12322         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
12323         where when scrolling to the left or top double exposes
12324         were done, causing major slowdowns.
12325
12326 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
12327
12328         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
12329         names to lowercase and alphanumeric, before looking
12330         them up.
12331
12332         * gtk/Makefile.am: Install codeset variant gtkrc files
12333         with normalized names.
12334
12335 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
12336
12337         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
12338         popup menus when the menu is already visible, but its parent
12339         is still hidden, (happens after tornoff window got hidden).
12340
12341 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
12342
12343         * gtk/Makefile.am (install-data-local): Fix
12344         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
12345         deleted, causing error messages on install.
12346
12347 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
12348
12349         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
12350         the handle as well, since we now sometimes ignore
12351         exposes on the handle while resizing.
12352
12353 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
12354
12355         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
12356         extra g_free introduced in one of the last one or two 
12357         commits.
12358
12359 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
12360
12361         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
12362         consistent, put each style that a gtkrc.* file creates
12363         in a unique namespace, remove old files before installing.
12364
12365 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
12366
12367         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
12368         gtk_rc_init is called multiple times. (Yes, people who
12369         do that have bugs in their code.)
12370
12371 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
12372
12373         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
12374         Remove it since it's generated by the Makefile anyway
12375
12376 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
12377
12378         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
12379         device->info.axes for core pointer.
12380
12381 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
12382
12383         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
12384         idle_id, to deal with obsolete, broken C libraries.
12385
12386 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
12387
12388         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
12389         allocation->x/y twice!
12390
12391         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
12392         consistent with gtk_vscale_pos_trough().
12393
12394 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
12395
12396         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
12397         be queueing a resize on a toplevel container between
12398         the time we show it and when we map it. So, we need
12399         to test GTK_WIDGET_VISIBLE() for toplevels, and only
12400         use GTK_WIDGET_DRAWABLE() for child windows.
12401
12402 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
12403
12404         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
12405         (fixes bug #2144)
12406
12407 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
12408
12409         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
12410         container DRAWABLE (instead of VISIBLE), so we don't queue
12411         resizes on non-toplevel containers.
12412
12413 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
12414
12415         * gtk/gtkselection.[ch]: Make the data argument
12416         const guchar *.
12417
12418 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
12419
12420         * gtk/gtkwindow.c: Try to behave sensibly if 
12421         the focus widget is the window itself. (Should
12422         we allow this at all?)
12423
12424 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
12425
12426         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
12427         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
12428         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
12429         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
12430         in prototypes and implementations consistent (Tomas Ogren).
12431
12432         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
12433         before the widget is unparented (reported by damon).
12434
12435         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
12436         since we provide unsigned data anyways.
12437
12438 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
12439
12440         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
12441         the call to gtk_tooltips_layout_text() until later.
12442
12443         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
12444         Call gtk_widget_ensure_style() before using the style.
12445
12446 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
12447
12448         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
12449         for old widgets that don't propagate draws to all
12450         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
12451
12452 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
12453
12454         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
12455         for a redraw but just the widget that requested the resize.
12456
12457 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
12458
12459         * gtk/gtkcontainer.c: added new widget level method
12460         gtk_container_set_reallocate_redraws() and a GtkContainer flag
12461         reallocate_redraws : 1 to reflect the setting, exported this through
12462         the argument system as a boolean ::reallocate_redraws.
12463
12464         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
12465         on the widget because the allocation changes, do so as well for
12466         widget->parent if the parent has reallocate_redraws set to TRUE.
12467         with that containers requesting reallocation redraws get automatically
12468         redrawn if their children changed allocation (this unfortunately
12469         affects also other children that didn't change allocation, but we
12470         cannot work around that before 1.3).
12471
12472 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
12473
12474         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
12475         _and_ height are >0 (not _or_).
12476
12477         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
12478         instead of gtk_container_queue_resize(), which is a core gtk internal
12479         function (must have been on crack when i queued that).
12480
12481         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
12482         we can check more reliably if we want to discard expose events.
12483         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
12484         flag.
12485         
12486         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
12487         we simply trust these events. for deciding whether to discard exposes,
12488         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
12489         
12490 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
12491
12492         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
12493         queues of areas that are completely off screen.
12494
12495         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
12496         logic for handleboxes.
12497
12498         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
12499         check on width/height.
12500
12501 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
12502
12503         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
12504         we are fine with using $@ the way we do (if we actually encounter
12505         brokeness with $@ in VPATH builds because of additional path prefixes,
12506         we need to use $(@F) actually).
12507
12508 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
12509
12510         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
12511         short lived bugs, that would allow language bindings to do surgeries
12512         to our guts.
12513
12514 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
12515
12516         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
12517         where comparison was being done against an uninitialized
12518         value causing intermittant results depending on
12519         compiler flags. Also make it clearer that we aren't
12520         ever initializing the child as 0x0 (though this will
12521         be caught in gtk_widget_size_allocate())
12522
12523 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
12524
12525         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
12526         gtk_window_unset_transient_for() call after we do checks
12527         involving the old transient parent.
12528         [ From Lance Capser <lmc@cyberhighway.net> ]
12529
12530 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
12531
12532         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
12533         an empty file.
12534
12535 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
12536
12537         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
12538         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
12539
12540 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
12541
12542         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
12543         `$@' is valid only in the build dir, not after we've done 
12544         `cd $srcdir'.  Also use `test -f' instead of less portable
12545         `test -e'.
12546
12547 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
12548
12549         * gtk/gtktext.c (correct_cache_insert): Rewrite
12550          for simplicity, and hopefully correctness.
12551          (Fixes bug #1322, which was a segfault when
12552           on some insertions with the properties around
12553           the insertion set up just wrong.)
12554
12555         * gtk/gtktext.c (gtk_text_adjustment): When we receive
12556          a "changed" signal, clamp the new value to the adjustment
12557          bounds to avoid segfaulting if someone tries to change
12558          the adjustment to a bogus value. (Bug #1795)
12559
12560 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
12561
12562         * gtk/gtkmain.c: Ignore unexpected destroy notifies
12563         for children, for toplevel windows handle them
12564         like delete_event.
12565
12566         * gtk/gtkplug.c: Add an unrealize handler so that
12567         we unref plug->socket_window when we are done
12568         with it.
12569
12570 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
12571
12572         * gtk/gtktext.c (clear_area): Fix stupid signedness
12573          problem that was causing background to sometimes
12574          be misaligned.
12575
12576 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
12577
12578         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
12579         
12580         * gtk/gtkmenu.c (gtk_menu_position): Make
12581          sure we never position menus with negative x, y,
12582          since gtk_widget_set_uposition() can't handle that.
12583
12584         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
12585          Modify the positioning code a bit so that we always
12586          put the top-left corner onscreen. (This is for
12587          UI reasons, gtk_menu_position() now takes care of
12588          gtk_widet_set_uposition() brokeness.)
12589
12590 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
12591
12592         * gtk/Makefile.am: fixed up things for -jx, x > 1.
12593
12594 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
12595
12596         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
12597           RC style that is passed in. The lack of the ref
12598           before was a bug. If people worked around this
12599           bug, this will introduce a slight memory leak
12600           in their code. The code should typically look like:
12601
12602             rc_style = gtk_rc_style_new ();
12603             [...]
12604             gtk_widget_modify_style (widget, rc_style);
12605             gtk_rc_style_unref (rc_style);
12606
12607         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
12608           the style if it was already set.
12609
12610         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
12611           style if it was set before.
12612
12613 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12614
12615         * gtk/testgtk.c (main): Add a check to see if we
12616           are being run from the correct directory and
12617           to quit nicely if we are not.
12618
12619         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
12620           static.
12621
12622 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
12623
12624         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
12625
12626         * gtk/gtkwindow.c:
12627         queue resizes unconditionally (gtk_widget_queue_resize will figure
12628         what to do if the window is not realized).
12629         (gtk_window_move_resize): only recenter the window
12630         for GTK_WIN_POS_CENTER_ALWAYS.
12631         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
12632         the same way as GTK_WIN_POS_CENTER.
12633
12634 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
12635
12636         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
12637         with (!(info->last_flags & GDK_HINT_POS)) instead of
12638         (!info->last_flags & GDK_HINT_POS).
12639
12640         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
12641         new_height unconditionally, because we use these values even if
12642         !default_size_changed && !hints_changed.
12643         comented the (default_size_changed || hints_changed) case with
12644         respect to resize rejects from the window manager.
12645
12646         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
12647         in the zvt condition hack, since this includes the window hints, set
12648         the hints after the handling_resize case.
12649
12650         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
12651         window is initially shown with to the geometry.
12652
12653 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
12654
12655         * gtk/gtkwindow.c (gtk_window_move_resize):
12656         s/size_changed/default_size_changed/g so i know what's
12657         really going on (frying brain on smaller flame now).
12658
12659 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
12660
12661         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
12662         we have size_changed upon handling_resize. this is a gross
12663         workaround for the broken zvt widget and should be removed in
12664         1.3 again (search for FIXME).
12665         Owen provided an accurate comment for this:
12666
12667         /* We could be here for two reasons
12668          *  1) We coincidentally got a resize while handling
12669          *     another resize.
12670          *  2) Our computation of size_changed was completely
12671          *     screwed up, probably because one of our children
12672          *     is broken. It's probably a zvt widget.
12673          *
12674          * For 1), we could just go ahead and ask for the
12675          * new size right now, but doing that for 2)
12676          * might well be fighting the user (and can even
12677          * trigger a loop). Since we really don't want to
12678          * do that, we requeue a resize in hopes that
12679          * by the time it gets handled, the child has seen
12680          * the light and is willing to go along with the
12681          * new size. (this happens for the zvt widget, since
12682          * the size_allocate() above will have stored the
12683          * requisition corresponding to the new size in the
12684          * zvt widget)
12685          *
12686          * This doesn't buy us anything for 1), but it shouldn't
12687          * hurt us too badly, since it is what would have
12688          * happened if we had gotten the configure event before
12689          * the new size had been set.
12690          */
12691
12692 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
12693
12694         * gtk/gtkrc.c: deal properly with the fact that RC
12695           style lists may include rc styles more than once.
12696
12697         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
12698           unused static function.
12699
12700         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
12701           stack of directories of RC files currently being
12702           parsed and implicitely add them to pixmap path.
12703           
12704           This fixes a bug where the directory would get
12705           appended then overwritten by pixmap_path declarations.
12706
12707           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
12708
12709         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
12710           theme's exit function. (Patch from Peter Wainwright,
12711           bug #1454)
12712
12713         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
12714           Add a destroy() handler to take care of removing
12715           group for menu item. (Fixes bug #1197)
12716
12717         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
12718           in warning message.
12719
12720 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
12721
12722         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
12723         roundtrip to figure window's width and height, since we know that
12724         anyways from widget->allocation.
12725
12726 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
12727
12728         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
12729           the hints after we request the new size.
12730
12731 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
12732
12733         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
12734           GTK_WIDGET_REALIZED() assertion - we can compute the
12735           hints before we are realized.
12736
12737         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
12738           hint changing so that we have a value of hints_changed
12739           when we decide whether to constrain the window size.
12740
12741         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
12742
12743         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
12744         change back to G_MAXINT.
12745
12746 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
12747
12748         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
12749         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
12750         contain uncluttered values.
12751         (gtk_window_compute_hints): simply assert that window is realized
12752         and that geometry_info is valid, since we rely on this anyways.
12753         (gtk_window_constrain_size): major cleanups to the code.
12754         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
12755         for the base size, instead of the minimums. use 32767 as max width
12756         and height (like in gtkwindow.c) instead of G_MAXINT.
12757
12758 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
12759
12760         * cleaned up the GtkContainer.need_resize flag handling mess, we
12761         only need to force resize requests when we were prematurely
12762         realized, or our widget tree was modified when we were temporarily
12763         hidden. handling these cases directly upon showing the window (i.e.
12764         while the GdkWindow is still unmapped) avoids the need to wait for
12765         a configure event response and therefore makes the GUI more snappier
12766         and avoids blank windows during the roundtrip.
12767
12768         * gtk/gtkwidget.c:
12769         (gtk_widget_hide): 
12770         (gtk_widget_show): don't queue resizes on toplevels, they know how
12771         to deal with matters.
12772
12773         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
12774         flag directly for not visible resize containers and spare us unecessary
12775         signal emissions.
12776
12777         * gtk/gtkwindow.c:
12778         (gtk_window_realize): if we need to enforce premature size allocation,
12779         queue a container resize so we are correctly resized later on.
12780         (gtk_window_init):
12781         (gtk_window_size_request):
12782         don't freak around with the ->need_resize flag,
12783         gtk_container_queue_resize() will care about that.
12784         (gtk_window_show):
12785         handle initial resizing issues here, we can handle matters better in
12786         this place, especially since we know that our GdkWindow is still
12787         unmapped.
12788         (gtk_window_move_resize):
12789         don't care about ->need_resize at all.
12790         handle size changes properly that occoured while we waited for a
12791         configure event.
12792
12793 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
12794
12795         * gtk/gtkwidget.c (gtk_widget_set_uposition):
12796         * gtk/gtkwindow.[hc] (gtk_window_reposition):
12797         Move the hint setting code from gtk_widget_set_uposition
12798         to here; set the hints so that we respect any previously
12799         set geometry hints.
12800
12801         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
12802         change the window hints here or move the window here,
12803         let that happen in gtk_window_move_resize().
12804
12805 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
12806
12807         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
12808         to already queued resizes (and therefore redraws) on a widget, check
12809         its anchestry as well.
12810
12811         * gtk/gtkcontainer.c:
12812         (gtk_container_queue_resize): clear resize widgets for resize
12813         containers before aborting prematurely. this is especially important
12814         for toplevels which may need imemdiate processing or their resize
12815         handler to be queued.
12816         (gtk_container_dequeue_resize_handler): added new internal function for
12817         gtkwindow.c.
12818
12819         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
12820         configure event, take possible changes in window position into account
12821         as well.
12822         if we request a new window size, queue up a resize handler that will
12823         last until the configure event response arrives.
12824         combined the ->need_resize case (initial show) with the general size
12825         (hints) changed case and added even more comments.
12826         if !auto_shrink, only revert to the old allocation if the new size
12827         is smaller than the current allocation.
12828
12829 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
12830
12831         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
12832                            gtk_window_set_geometry_hints
12833                            gtk_window_set_default_size):
12834         When hints are set, queue a resize so that the hints will
12835         be eventually reset on the toplevel.
12836
12837         * gtk/gtkwindow.c (gtk_window_show): Use
12838         gtk_window_compute_default_size(). Clear the need_resize flag
12839         on the initail map so that we don't unnecessarily trigger the
12840         resize code.
12841
12842         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
12843         into separate functions. Compare the hints we are setting
12844         with what we set last time so that we can accurately
12845         tell when we need to reset the hints.
12846
12847         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
12848         function to figure out the size from requisition
12849         and default_size.
12850
12851         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
12852         from fvwm to constrain a size to the geometry hints.
12853
12854         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
12855         to compare two sets of geometry hints.
12856
12857         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
12858         from gtk_window_set_hints(), just compute the hints,
12859         don't set them.
12860
12861         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
12862         code from gtk_window_move_resize() to separate function,
12863         rationalize a bit.
12864
12865 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
12866
12867         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
12868         structure into a new private structure.
12869
12870         * gtkrc.c: Split GtkRcStyle into public/private.
12871         In the private part, add a list of pointers to the
12872         RcStyle lists this RcStyle participates in.
12873
12874         * gtkrc.c: When a RcStyle is free, remove all
12875         lists referencing it from the 
12876         realized_style_ht hash, and free those lists.
12877         
12878         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
12879         gtk_rc_init(), since that adds the default styles
12880         to the list of parsed RC files again.
12881
12882         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
12883         
12884 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
12885
12886         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
12887         checks that ensure that a widget's allocation is at least 1 in width
12888         and height. (GNOME note: this doesn't affect old panel code anymore,
12889         because GtkSocket will request width and height of at least 1 since
12890         Fri Jul 23).
12891
12892         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
12893         allocated yet (happens if the user realizes the window prematurely),
12894         size request and allocate it.
12895         (gtk_window_size_allocate): guard against guint underflows.
12896
12897 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
12898
12899         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
12900         in gtk_built_sources, so gtk.defs gets built prior to all other
12901         sources.
12902
12903 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12904
12905         * gtk/Makefile.am:
12906         invoke indent on gtkmarshal.*. 
12907         rewrote source generation rules, use COPYING as oldest source tag for
12908         a piggyback rule to generate all sources from (don't touch it ;).
12909         major cleanups, strip spaces on build rules for GNU Make.
12910
12911         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
12912         source and target files from commandline arguments. don't invoke indent.
12913
12914 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
12915
12916         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
12917         notebook after switch to avoid drawing problems.
12918         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
12919         
12920         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
12921         show them instead. 
12922         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
12923
12924 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
12925
12926         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
12927         notebook after switch to avoid drawing problems.
12928         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
12929         
12930         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
12931         show them instead. 
12932         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
12933
12934 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
12935
12936         * gtk/gtkwindow.c:
12937         we use window->need_resize from configure_event now, to indicate that
12938         the gtkwindow should keep its allocation (e.g. because the user resized
12939         the window through window manager handles). resize_count is now reliably
12940         used to figure whether we got the allocation we requested from the
12941         window manager.
12942         configure events get queued as resizes now, the real stuff (size
12943         computation and allocation) now only goes on in gtk_window_move_resize().
12944         GtkWindow's requisition now contains its *real* requisition (like all
12945         other widgets), *not* taking usize into account.
12946         geometry_info->last_{width|height} is now updated from set_hints() only
12947         so it always contains the last hints we set for the window manager.
12948         made some event handlers return TRUE instead of FALSE.
12949         the overall code should be much more straight forward now, and the
12950         significant code portions are accompanied by comments now.
12951         (gtk_window_set_hints):
12952         removed requisition argument and made it
12953         fetch the requisition through gtk_widget_get_child_requisition.
12954         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
12955         does that now.
12956         (gtk_window_show):
12957         ensure that the widget is realized before calling 
12958         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
12959         ensure that we got properly size requested and allocated before
12960         realization.
12961         (gtk_window_configure_event):
12962         ignore plain window moves, or reallocate the widget tree through the
12963         resize queue otherwise.
12964         (gtk_window_move_resize):
12965         mostly rewrote this function to figure window manager hints more
12966         reliably, coalesce window moves and resizes to reduce configure events
12967         and do actuall size allocations.
12968
12969 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
12970
12971         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
12972         that have a resize pending, because a redraw is already queued for them.
12973
12974         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
12975         hack to clear resize_widgets.
12976
12977         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
12978         for resize containers prior to size allocation. (this is also a bit
12979         ugly, but avoids side effects for stopped emissions and is thus more
12980         reliable).
12981         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
12982
12983         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
12984         function from gtk_tooltips_expose, as we connect to ::expose_event
12985         *and* ::draw now.
12986
12987 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
12988
12989         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
12990         checks.
12991         (gtk_target_list_unref): Likewise.
12992
12993         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
12994
12995 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
12996
12997         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
12998         guard against division by zero. (Fixes bug #1339)
12999
13000 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
13001
13002         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
13003         Prevent the trivial leak of information of allowing
13004         word motion when the entry is not visible.
13005
13006 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
13007
13008         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
13009         modality to error dialog as well as confirmation dialogs.
13010         (Bug #1803, reported by Rosanna Wing Sze Yuen)
13011
13012 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
13013
13014         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
13015         tree->view_lines.
13016         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
13017
13018         * gtk/Makefile.am (install-data-local): Solaris apparently
13019         has various troubles with ln -f; use rm first instead.
13020         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
13021
13022 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
13023
13024         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
13025         use `cp' followed by `rm' (the `rm' was already there).
13026
13027 July 30, 1999 Elliot Lee <sopwith@redhat.com>
13028         
13029         * configure.in: Fix autoconf warnings about cross compilation by
13030         trying to provide sane defaults for AC_TRY_RUN.
13031         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
13032         put them into $(srcdir) when generated. Also add a dependency of
13033         gtksignal.h on gtkmarshal.h for -j builds. 
13034         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
13035
13036 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
13037
13038         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
13039         GDK_THREADS_{LEAVE,ENTER} pair.
13040         (From Paul Fisher <pnfisher@redhat.com>)
13041
13042 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
13043
13044         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
13045         width and height are always >0 (owen).
13046
13047 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
13048
13049         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
13050         change that assured that a widget's allocated with and height are
13051         always >1, since this breaks *buggy* panel code. unfortunately this
13052         back-breaks the gimp's color selector.
13053
13054         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
13055         allocation is always >0 in width and height, before sending the
13056         configure event; this is a *gross* hack to get the gimp back to work.
13057         
13058         * marked both cases with TODO-1.3
13059
13060 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
13061
13062         * gtk/gtktext.c: Don't display wrap indicators when
13063         text is not editable and word wrap is on.
13064
13065 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
13066
13067         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
13068         option menus here as they are not derived from menu shell, assure that
13069         the option menu has a menu we can add items to.
13070
13071 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
13072
13073         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
13074         width/height to (gint) before calculations and check against < 0 to
13075         avoid guint wraparounds.
13076
13077 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
13078
13079         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
13080         width and height is never zero. sanity check both dimensions against
13081         32767 and issue a warning if the allocation is greater than that.
13082
13083 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
13084
13085         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
13086         to g_main_pending() as well.
13087
13088 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
13089
13090         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
13091         call to g_main_iteration() - since that will regrab
13092         GTK+ lock to process events.
13093
13094 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
13095
13096         * gtk/gtkwindow.c
13097         - Regularize with the rest of GTK+ by making widget->requisition
13098           not reflect the set_usize()
13099         - Always recompute geometry hints, then check if they
13100           changed before sending them to the X server. The
13101           previous checks for changes would fail in a number
13102           of circumstances. 
13103
13104 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
13105
13106         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
13107
13108 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
13109
13110         * gtk/gtkdnd.c:
13111         - Code cleanups
13112         - Instantaneously update on modifier key presses
13113         - Allow cancellation of the drag with Escape.
13114
13115 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
13116
13117         * gtk/testgtk.c (create_handle_box): Set the policy
13118         to auto_shrink - otherwise the appearance is rather
13119         strange when flipping between horizontal and vertical.
13120
13121 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
13122
13123         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
13124         (gtk_window_set_default_size): don't change a value if it's < 0.
13125         queue a resize.
13126
13127 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
13128
13129         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
13130
13131 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
13132
13133         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
13134         add an extra "/" when concating "/" + filename.
13135         (From Matt Grossman <mattg@oz.net>)
13136
13137 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
13138
13139         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
13140         for fg_gc if we set it for drawing pixmap.
13141
13142 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
13143
13144         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
13145         
13146         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
13147         already set, call old engine's destroy function and
13148         unref the old engine.
13149
13150 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
13151
13152         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
13153
13154 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
13155
13156         * gtk/gtkaccelgroup.h: mark certain functions as internal.
13157
13158 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
13159
13160         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
13161         expand behaviour changed.
13162
13163         * gtk/gtklabel.c (gtk_label_set_pattern):
13164         (gtk_label_set_justify):
13165         (gtk_label_set_line_wrap):
13166         don't bother invoking queue_clear, the reallocation does
13167         that for us, always free_words so the upcoming resize will
13168         relayout the label's contents.
13169
13170 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
13171
13172         * applied argument implementation patches from Elena Devdariani
13173         <elena@cogent.ca>.
13174
13175         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
13176         ::space_style, ::relief
13177         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
13178         * gtk/gtkpreview.c: ::expand
13179         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
13180         * gtk/gtknotebook.c: ::homogeneous
13181         * gtk/gtklabel.c: ::wrap
13182         * gtk/gtklist.c: ::selection_mode
13183         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
13184         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
13185         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
13186         * gtk/gtkclist.c: ::sort_type
13187         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
13188         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
13189
13190 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
13191
13192         * gtk/gtkstyle.c: Removed ill-thought-out part of last
13193         comment.
13194
13195 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
13196
13197         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
13198         counting right when we have to attach a new style
13199         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
13200
13201         * gtk/gtkstyle.c: Documented the refcounting
13202         peculularities of gtk_style_attach.
13203
13204 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
13205
13206         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
13207         window types.
13208
13209         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
13210         of GTK_TOPLEVEL for creating the window.
13211
13212 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
13213
13214         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
13215         the last argument (reported by Per Winkvist).
13216         
13217 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
13218
13219         Fixes for invisible XOR lines (Frank Loemker
13220         <floemker@TechFak.Uni-Bielefeld.DE>)
13221         
13222         * gtk/gtkclist.c (gtk_clist_realize): Always use
13223         a non-zero pixel for GDK_XOR.
13224
13225         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
13226         Use GDK_INVERT instead of GDK_XOR.
13227
13228 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
13229
13230         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
13231         signals if h/voffsets differ from adjustment values.
13232         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
13233
13234 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
13235
13236         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
13237         ::selection-done emissions up to the topmost menu shell.
13238
13239 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
13240
13241         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
13242         the user data on the window before destroying it.
13243
13244         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
13245         unrealize handler to take care of destroying 
13246         notebook->panel properly. 
13247         (Bug #1198 - Morten Welinder <terra@diku.dk>)
13248
13249         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
13250         of g_new and g_realloc to stop memory leak. (Actually,
13251         we could just use g_realloc(), but I'm not 100% sure
13252         that is portable).
13253         (Bug #1196 - Morten Welinder <terra@diku.dk>)
13254
13255 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
13256
13257         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
13258
13259         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
13260         for fontsets.
13261
13262         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
13263         with bin/button confusion.
13264
13265 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
13266
13267         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
13268         and show how preselection of radio items is done.
13269
13270 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
13271
13272         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
13273         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
13274         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
13275         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
13276         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
13277         * gtk/gtktable.c (gtk_table_attach): 
13278         * gtk/gtklist.c (gtk_list_insert_items): 
13279         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
13280         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
13281         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
13282         * gtk/gtkbin.c (gtk_bin_add): 
13283         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
13284         * gtk/gtkfixed.c (gtk_fixed_put): 
13285         * gtk/gtklayout.c (gtk_layout_put):
13286         general fixups to container_add logic. always realize child if
13287         child->parent is realized, only map the child and queue a resize
13288         if child and child->parent are both visible.
13289
13290 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
13291
13292         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
13293         instead of gtk_container_foreach to walk and unrealize children, so
13294         composite children get also unrealized.
13295         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
13296         (gtk_widget_map): assert that the widget is visible (basic constrain).
13297         (gtk_widget_real_map): assert that the widget is realized (basic
13298         constrain).
13299
13300 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
13301
13302         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
13303
13304 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
13305
13306         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
13307         file for iso-8859-2 locales.
13308
13309         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
13310
13311 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
13312
13313         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
13314          (Pointed out by andy@rz.uni-karlsruhe.de and others).
13315          Remove some suspicious and useless lines. 
13316
13317 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
13318
13319         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
13320         width,height = 0, 0 to mean - here to edge of window,
13321         instead of -1, -1, since the former is all we support.
13322
13323 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
13324
13325         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
13326         when removing from quit_functions list.
13327
13328 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
13329
13330         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
13331
13332 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
13333
13334         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
13335          When redrawing characters on non-visible entry, use appropriate
13336          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
13337
13338 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
13339
13340         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
13341         from drag coordinates.
13342         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
13343         use drag_dest_cell.
13344
13345         * gtk/gtktree (drag_dest_cell)
13346         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
13347         (Bug #1129)
13348
13349 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
13350
13351         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
13352         translate_* fields.
13353         (gtk_item_factory_finalize): invoke translate_notify independant from
13354         translate_data.
13355         (gtk_item_factory_set_translate_func): likewise.
13356         (gtk_item_factory_destroy): only remove ifactory pointer from those
13357         widgets that belong to us (stupid me).
13358
13359 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
13360
13361         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
13362         rc_style list when lookup succeeeds.
13363
13364 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
13365
13366         * gtk/gtkctree.c (resync_selection): 
13367         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
13368         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
13369         bug.
13370
13371 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
13372
13373         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
13374         Add some missing GDK_THREADS_ENTER()/LEAVE around
13375         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
13376
13377 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
13378
13379         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
13380         rather than emit_by_name.
13381
13382         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
13383         on the widget across multiple signal emissions.
13384         (gtk_editable_delete_text): same here.
13385         (gtk_editable_class_init): set widget_class->activate_signal after
13386         editable_signals[ACTIVATE] has been created.
13387
13388 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
13389
13390         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
13391         position here prematurely -- we might not have the
13392         right ->min_position and ->max_position yet.
13393
13394 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
13395
13396         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
13397         Add error traps so if the other end of the connection
13398         dies, we survive.
13399
13400         * gtk/gtkselection.c (gtk_selection_notify): Clean
13401         up properly when selection property retrieval fails.
13402         
13403         * gtk/gtkselection.c (gtk_selection_request): Correctly
13404         reject SelectionRequest notifies where the handler
13405         returns no data.
13406
13407 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13408
13409         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
13410         when we've previously highlighted.
13411
13412         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
13413         emit two "drag_leave" signals for Motif drops.
13414
13415         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
13416         back the correct status messages when dropping from
13417         Motif onto a proxy window that is rejecting the
13418         drop.
13419
13420 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
13421
13422         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
13423         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
13424         to compare two argument values. added gtk_arg_to_valueloc() to set a
13425         variable from an arg through its location (pointer).
13426
13427         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
13428         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
13429         as gfloat*, uchars are collected as guchar*, ints are collected as
13430         gint*, etc...
13431
13432 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
13433
13434         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
13435         Include <string.h> instead of <strings.h>.
13436
13437         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
13438         (actually, a lot more duplicate includes occur if
13439          you trace through the sequence of #include's)
13440         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
13441         
13442 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
13443
13444         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
13445         gtk-a-higuti-990322-[0-3]
13446
13447         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
13448         that was causing -DX_LOCALE not to work.
13449
13450         * gtk/gtkrc.c (gtk_rc_init):
13451         X_LOCALE will never have LC_MESSAGES defined
13452
13453 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
13454
13455         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
13456         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
13457
13458         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
13459         left/right as well (gtk-michael-980726-0.patch.gz).
13460
13461         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
13462         for pointer values, use gchar instead of char. fixed uline allocation
13463         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
13464         chunks instead of G_ALLOC_ONLY.
13465         (gtk_label_size_request): always alter requisition as passed and leave
13466         widget->requisition alone.
13467         (gtk_label_set_text): allow NULL strings.
13468         (gtk_label_new): likewise.
13469
13470 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
13471
13472         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
13473
13474 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
13475
13476         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
13477         *and* mapped (i.e. drawable).
13478         (gtk_bin_expose): only send exposes to drawable children.
13479
13480         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
13481         (gtk_box_expose): only send exposes to drawable children.
13482
13483         * gtk/gtkhscale.c (gtk_hscale_draw): 
13484         * gtk/gtkvscale.c (gtk_vscale_draw):
13485         hm, this is an ugly one. we first compute the size of our trough area
13486         here (window relative) and then check intersection with the draw_area
13487         which is parent relative because we're a NO_WINDOW widget, so we need
13488         to offset the trough area by allocation.x and allocation.y before the
13489         check. (this must not be done for the background area though, since
13490         that's already computed parent relative).
13491
13492 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
13493
13494         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
13495         unrealize title buttons.
13496
13497 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
13498
13499         * gtk/gtkclist.c (gtk_clist_column_title_passive)
13500         (gtk_clist_column_title_active): 
13501         only connect/disconnect to GtkWidgetClass::event to block mouse events.
13502
13503         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
13504         zero initialize event, removed superfluous gdk_window_get_pointer call
13505
13506         * gtk/gtklist.c (gtk_list_vertical_timeout)
13507         (gtk_list_horizontal_timeout): removed superfluous
13508         gdk_window_get_pointer call
13509
13510 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
13511
13512         * plugging problems reported by "Bruce Mitchener, Jr."
13513         <bruce@puremagic.com> due to a purify session.
13514
13515         * gtk/gtkstyle.c:
13516         (gtk_style_ref): 
13517         (gtk_style_unref): assert ref_count to be > 0.
13518
13519         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
13520         the requisition.
13521         (gtk_clist_set_shift): likewise.
13522
13523         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
13524         adjustments.
13525
13526         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
13527         event before sending it and set send_event to TRUE (which needs to
13528         be done for *all* synthesized events).
13529         (gtk_list_vertical_timeout): likewise.
13530
13531         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
13532         leaks.
13533
13534         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
13535         to TRUE when synthesizing events.
13536
13537 [ *** end of merges from 1.2 *** ]      
13538         
13539 1999-11-21  Tor Lillqvist  <tml@iki.fi>
13540
13541         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
13542         (or copied from gdkconfig.h.win32 on Win32, sigh).
13543
13544         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
13545
13546         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
13547
13548         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
13549
13550         * gdk/gdkconfig.h.win32: New file.
13551
13552         * gdk/win32/makefile.cygwin: Build just a static archive here.
13553
13554         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
13555         for the DLL from the static archive built above.
13556
13557         * gdk/gdk.def: Moved here from the win32 subdirectory.
13558
13559         * gdk/win32/*: Adapt for the changed private struct organisation.
13560
13561         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
13562
13563 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
13564
13565         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
13566         for wheel mice (buttons 4 and 5).
13567
13568 1999-11-18  Tor Lillqvist  <tml@iki.fi>
13569
13570         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
13571         drawables use just the pixel field in the foreground and
13572         background GdkColor of the GdkGC.
13573
13574         gdk_gc_set_{fore,back}ground() are called in the GIMP with
13575         GdkColors containing uninitialized (red,green,blue) fields, and
13576         just the pixel field filled in, and furthermore in the
13577         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
13578         It thus turns out that we really don't need to have the full
13579         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
13580         it later to have just the pixel values.
13581
13582 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
13583
13584         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
13585
13586 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
13587
13588         * docs/gtkfaq.sgml: threads example from Erik Mouw.
13589         New question on GtkLabel background colors.
13590
13591         * docs/gtk_tut.sgml:
13592           - Correct the example code callback
13593             function definitions.
13594           - Update the gtkdial example code, from Frans van Schaik.
13595           - Update setselection.c to current API.
13596
13597         * examples/Makefile examples/*/*.c: Update to code
13598         listed in tutorial.
13599
13600 1999-11-10  Tor Lillqvist  <tml@iki.fi>
13601
13602         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
13603         subrange table (from the "Developing International Software for
13604         WIndows 95 and Windows NT" book) was missing the Hangul syllable
13605         block... Get the loaded font's charset correctly.
13606
13607         (Note that this, and the other *-win32.c files, still really are
13608         the old ones, the win32 subdirectory is not ready for compilation
13609         yet after the reorg.)
13610
13611 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
13612
13613         * gtk/gtkclist.c: Fix off-by-one bug in parameter
13614         check.
13615
13616 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
13617
13618         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
13619         on results of XQueryDeviceState().
13620
13621 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
13622
13623         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
13624         we need to accesss only ->children. We need an accessor
13625         for the children.
13626
13627         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
13628         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
13629         to get rid of gdkx.h include.
13630         
13631         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
13632         and random references to 'None'.
13633
13634         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
13635         Get rid of unused #include <gdk/gdkx.h>
13636
13637         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
13638         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
13639         gdkconfig.h.
13640
13641 1999-11-08  Tor Lillqvist  <tml@iki.fi>
13642
13643         * gdk/win32/gdkdraw.c
13644         * gdk/win32/gdkfont.c
13645         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
13646         following yesterday's changes. (Unrelated to Owen's reorg.)
13647
13648 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
13649
13650         * gdk/x11/gdkinput-gxi.c: Add missing include,
13651           fix GdkWindowPrivate => GdkDrawablePrivate.
13652
13653         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
13654
13655         * gdk/x11/Makefile.am (xinput_sources): Add missing
13656         backslash to fix building with --with-xinput=none
13657
13658 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
13659
13660         Move all X specific code into the x11/ directory.
13661         Aside from shuffling things around, did the following:
13662
13663        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
13664          gdk_arg_context_* - a simple argument parsing system
13665          in the style of popt.
13666
13667        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
13668          gdk/x11/gdkprivate-x11.h:
13669          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
13670          add ->klass and ->klass_data fields. The klass_data
13671          field points to an auxilliary structure that is
13672          windowing system dependent.
13673
13674        * gdk/gdkfont.c: Make most of the measurement functions
13675          simply wrappers around gdk_text_extents().
13676
13677        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
13678          _gdk_font_strlen() function that hides the weird
13679          behavior in gtk+-1.[02] where a string is interpreted
13680          differently for 8-bit and 16-bit fonts.
13681
13682        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
13683          to store common code for synthesizing double/triple
13684          press events.
13685         
13686        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
13687          Make all the function that modify an existing GC
13688          simply wrappers around gdk_gc_set_values().
13689          
13690        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
13691          for throwing out later.
13692
13693        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
13694          GdkImagePrivate and GdkColormapPrivate to have a
13695          windowing system dependent part (GdkFontPrivateX etc.)
13696          that "derives" from the system-independent part.
13697
13698        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
13699          Got rid of the included-source-files for XInput in
13700          favor of automake conditionals. (Which didn't exist
13701          when XInput support was originally added.)
13702
13703        * gdk/gdkrgb.c: Remove the visual id from the debugging
13704          statements since that is X11 specific; print out
13705          type/depth info instead.
13706          
13707
13708 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
13709
13710         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
13711         loading duplicates of hashed fonts.
13712
13713         * gdk/gdk.c (gdk_keysym_convert_case): rename
13714         gdk_XConvertCase to gdk_keysym_convert_case, allow
13715         results to be NULL in the GTK+ style.
13716
13717         * gdk/gdkcompat.h: Started compatibility header
13718         for renames.
13719
13720 1999-11-07  Tor Lillqvist  <tml@iki.fi>
13721
13722         * gdk/win32/gdkprivate.h: New font private structures, related to
13723         fontsets.
13724
13725         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
13726         gdk_font_list_free(). On X11, will just be wrappers to
13727         XListFonts() and XFreeFontNames(). On Win32, the code previously
13728         in gtkfontsel.c is now here.
13729
13730         New function gdk_font_xlfd_create(). On X11 will get the FONT
13731         property of the font (for GDK_FONT_FONTs), or call
13732         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
13733         builds a XLFD style name from the font information in the LOGFONT
13734         struct(s).
13735
13736         New function gdk_font_xlfd_free(), which correspondingly frees the
13737         string returned by gdk_font_xlfd_create().
13738
13739         Implement fontsets on Win32. Add a function that iterates over a
13740         wide char string and calls a callback function for each substring
13741         of wide chars from the same Unicode subrange (and thus probably
13742         available in the same real font).
13743
13744         Improve the XLFD emulation a bit.
13745
13746         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
13747
13748         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
13749         Beta3, WM_IME_CHAR messages don't seem to contain the composed
13750         multi-byte char as with the Active IMM on Win9x. Oh well, handle
13751         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
13752         ImmGetCompositionStringW() to get the composed Unicode chars.
13753
13754         * gdk/win32/gdkgc.c
13755         * gdk/win32/gdkdraw.c: Changes needed because of the font private
13756         struct changes.
13757
13758         * gdk/win32/gdk.def: Add the new functions.
13759
13760 1999-11-04  Tor Lillqvist  <tml@iki.fi>
13761
13762         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
13763         get the Platform SDK to get <dimm.h>.
13764
13765         * gdk/win32/gdkevents.c: More event handling fixes and
13766         simplification. Never generate motion events with is_hint true. We
13767         used to do that on bogus grounds earlier. Windows sends
13768         WM_MOUSEMOVE messages on button events even if the mouse hasn't
13769         moved, ignore these.
13770
13771         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
13772
13773         * gdk/win32/gdkglobals.c
13774         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
13775         the TrackMouseEvent function, and use it.
13776
13777         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
13778         char before calling WideCharToMultiByte in order to get a string
13779         for the window title.
13780
13781         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
13782
13783         * gdk/win32/gdk.def: Remove obsolete functions.
13784
13785         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
13786         /nodefaultlib and /defaultlib switches.
13787
13788         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
13789
13790 1999-10-31  Tor Lillqvist  <tml@iki.fi>
13791
13792         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
13793         EuroSign).
13794
13795         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
13796         same type as GdkWChar, especially on Win32.
13797
13798         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
13799
13800         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
13801         before passing to Windows GDI for drawing etc. Convert to the
13802         system default codepage before passing to Windows as window
13803         titles.
13804
13805         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
13806         support changing input locale on the fly.
13807
13808         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
13809         on-the-fly changes. Convert incoming characters from the current
13810         codepage to Unicode (and then to a UTF-8 multi-byte string) based
13811         on the current input language. Use keysym<->Unicode mapping tables
13812         and functions borrowed from xterm sources.
13813
13814         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
13815         editions of Win9x, use the ActiveX-based Active IMM (Input Method
13816         Manager) if available. IMEs and the Active IMM are available under
13817         the disguise of Chinese, Korean and Japanese support for IE and
13818         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
13819         support is present in all editions (as long as you install it).
13820
13821         Call DispatchMessage from gdk_events_queue() (and thus
13822         gdk_WindowProc()), instead of duplicating the code in
13823         gdk_WindowProc().
13824
13825         Reworked the grab handling and propagation code, factored out
13826         duplicated code snippets into separate functions. Other cleanups,
13827         too.
13828
13829         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
13830         the <dimm.h> header describing the Active IMM.
13831
13832         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
13833         just do the same as for "single" fonts.
13834
13835         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
13836         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
13837         the new keysyms from gdkkeysyms.h.
13838
13839         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
13840         fontset, so that gtkentry uses wide characters.
13841
13842         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
13843         GTk+'s system directory "gtk+", not "gtk".
13844
13845 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
13846
13847         * docs/gtkfaq.sgml: FAQ update
13848
13849 1999-10-21  Tor Lillqvist  <tml@iki.fi>
13850
13851         * gdk/win32/gdkprivate.h: Add more font private data.
13852
13853         * gdk/win32/gdkfont.c
13854         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
13855         fonts and strings. Now works much better. You still have to
13856         have a correct font selected, though. No fontset emulation yet.
13857
13858 1999-10-19  Tor Lillqvist  <tml@iki.fi>
13859
13860         * gtk/maketypes.awk: Use G_OS_WIN32.
13861
13862         * gtk/gtk.def: Add some missing entry points. Also some non-public
13863         ones, but PyGTK porter claims to need them.
13864
13865         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
13866         built-in type generation.
13867
13868 1999-10-14  Tor Lillqvist  <tml@iki.fi>
13869
13870         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
13871         GDK_FONT_FONT fonts (which is all we have for now, we don't
13872         emulate fontsets). The X11 version uses plain XDrawString in that
13873         case, too. The string passed to gdk_draw_text_wc seems to be in
13874         fact (at least, when used by gtkentry and gtktext) either in a
13875         single-byte charset, or a DBCS. Not Unicode.
13876
13877         This fixes the problem in gtkfontsel, where even if you had
13878         selected a font with a non-Latin1 charset (windows-greek, for
13879         instance), the preview still used Latin-1 glyphs.
13880
13881         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
13882         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
13883         (gdk_font_load): Recognize the demibold etc weights, even if we
13884         don't have the corresponding constants in the headers.
13885         (gdk_font_hash_insert): Use same hash mechanism as in the X11
13886         version. Should save font resources a bit, when we don't have
13887         multiple HFONTs for the same font.
13888
13889         * gdk/win32/gdkprivate.h: Add the names field as in the X11
13890         version.
13891
13892 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
13893
13894         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
13895         X values
13896
13897 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
13898
13899         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
13900         layout support (as mentioned on
13901         http://www.jcinteractive.com/gnome-ui/software/widgets/)
13902
13903 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
13904
13905         * gtk/fnmatch.c
13906         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
13907
13908 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
13909
13910         * configure.in (ALL_LINGUAS): Added Galician (gl)
13911
13912 1999-10-05  Tor Lillqvist  <tml@iki.fi>
13913
13914         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
13915
13916         * gdk/win32/gdkcompat.c: New file, actually provide an
13917         implementation for the deprecated functions. (Just temporarily.)
13918
13919         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
13920
13921         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
13922
13923         * gdk/win32/gdk.def gtk/gtk.def: Updates.
13924
13925 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
13926
13927         * configure.in: Added "uk" to ALL_LINGUAS.
13928         
13929 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
13930
13931         * configure.in: correct checking for BeOS check
13932
13933         * gdk/gdktypes.h
13934         * gtk/fnmatch.c
13935         * gtk/gtkfilesel.c
13936         * gtk/gtkitemfactory.c
13937         * gtk/gtkmain.[ch]
13938         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
13939
13940 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
13941
13942         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
13943         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
13944         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
13945         by Bulgarian). 
13946
13947 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
13948
13949         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
13950         Fix a reference to window_private->destroyed.   
13951
13952         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
13953         (ugly) setting of an internal GdkWindow member to use
13954         a _slightly_ cleaner macro.
13955
13956         * gdk/gdkprivate.h: Split GdkWindowPrivate into
13957         GdkDrawablePrivate and GdkWindowPrivate.
13958         Add extra macros for accessing GDK_DRAWABLE_ components.
13959
13960         * *.[ch]: Massive adjustments for the above, use the
13961         new macros in a lot of places.
13962
13963 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
13964
13965         * gdk/gdktypes.h: Make GdkDrawable the base type,
13966         not GdkWindow.
13967
13968 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
13969
13970         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
13971
13972 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
13973
13974         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
13975
13976 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
13977
13978         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
13979         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
13980
13981         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
13982
13983         * docs/gtk-config.1: Now autogenerated.
13984         * docs/Changes-1.4.txt: started
13985         
13986 1999-10-03  Tor Lillqvist  <tml@iki.fi>
13987
13988         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
13989         to #ifdef also here.
13990
13991         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
13992         Owen did to the X11 backend.
13993
13994         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
13995         ScrollWindowEx when blitting inside a window, it can't be correct
13996         in the general case.
13997
13998         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
13999         WM_GETMINMAXINFO is easier.
14000
14001         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
14002         depth equal to the bitspixel value, not the visual's depth.
14003
14004         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
14005         to 24 even if the bitspixel value is 32.
14006
14007         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
14008         need to check for depth==32 when bpp==32, depth will always be 24.
14009
14010 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
14011
14012         * docs/Changes-1.4.txt: Started
14013         
14014         * gtk/Makefile.am (gdk_headers): Include all the new headers.
14015
14016         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
14017         
14018         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
14019         into C file.
14020         
14021         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
14022         header to gdkinputprivate.h.
14023
14024         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
14025         unused since before 1.2.
14026
14027 1999-09-30  Tor Lillqvist  <tml@iki.fi>
14028
14029         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
14030         expand possible hex escapes in the font family (put there by
14031         logfont_to_xlfd if the font name isn't a legal XLFD font family,
14032         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
14033         On Win32, add hex escapes here, too.
14034
14035 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
14036
14037         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
14038         to #ifdef GDK_WINDOWING_X11.
14039
14040 [ Merges from gtk-1-2 ]
14041
14042 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
14043
14044         * configure.in: fixed "GNU Make" check to pass with new make version
14045         3.77.95.
14046
14047 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
14048
14049         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
14050         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
14051         AM_PATH_GTK() macros don't get confused by the -pre1.
14052
14053 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
14054
14055         * configure.in (REBUILD): Change check for perl5
14056           to check explicitely for v >= 5.002. (5.001
14057           does not work with our scripts.)
14058
14059 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
14060
14061         * configure.in: evaluate $PERL for the perl version check. added
14062         --disable-rebuilds to give the user an option to completely disable
14063         any source autogeneration rules.
14064
14065 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
14066
14067         * configure.in: evaluate $ac_make when checking for GNU Make.
14068
14069 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
14070
14071         * docs/Makefile.am: added generation.txt.
14072
14073         * Makefile.am: require automake 1.4, build README from README.in and
14074         INSTALL from INSTALL.in in dist-hook.
14075         
14076         * README.in:
14077         * INSTALL.in: new files to autogenerate README and INSTALL from.
14078
14079         * configure.in: figure whether we have GNU Make
14080
14081         * docs/generation.txt: minor additions/corrections.
14082
14083 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
14084
14085         * docs/gtkfaq.sgml: FAQ Update
14086
14087 July 30, 1999 Elliot Lee <sopwith@redhat.com>
14088         
14089         * configure.in: Fix autoconf warnings about cross compilation by
14090         trying to provide sane defaults for AC_TRY_RUN.
14091
14092 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
14093
14094         * ltconfig
14095         * ltmain.sh: upgrade to libtool 1.3.3
14096
14097 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
14098
14099         * INSTALL: Indicate that the --with-glib= configure
14100         time flag is unsupported.
14101
14102 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
14103
14104         * docs/generation.txt: Added a file that gives
14105         documenation about the autogeneration process for
14106         various autogenerated files.
14107         
14108 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
14109
14110         * configure.in (LIBS): Look for libgmodule in the
14111         right location.
14112
14113 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
14114
14115         * docs/gtk_tut.sgml: Removed references to
14116         code examples in my directory on gtk.org as
14117         they should all be in the tutorial now.
14118
14119         * docs/gtk_tut.sgml: Added sources for dial-test
14120         and scribble-xinput programs that were previously
14121         missing.
14122
14123 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
14124
14125         * TODO: Added entry about menu keyboard navigation, removed
14126         some finished items.
14127
14128 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
14129
14130         * acinclude.m4: Standardize on func_dgettext
14131         not func_gettext, so that the checks for dgettext
14132         actually are paid attention to.
14133
14134 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
14135
14136         * configure.in (LIBS): Add $INTLLIBS into $LIBS
14137         directly, rather than repeating the checks for
14138         gettext.
14139
14140         * INSTALL: Added information about gettext and
14141         NLS support.
14142
14143         * acinclude.m4 (LIBM): Check for dgettext, not
14144         just gettext. This should hopefully fix things wrt
14145         systems with old versions of GNU gettext installed.
14146
14147 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
14148
14149         * configure.in (LIBS): Look for libgmodule in the
14150         right location.
14151
14152 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
14153
14154         * autogen.sh: add --enable-maintainer-mode
14155
14156         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
14157
14158 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
14159
14160         * docs/gtk-config.1.in:
14161           docs/Makefile.am:
14162           configure.in: gtk-config is now generated.
14163
14164         * docs/gtk-config.1: Removed, now generated.
14165
14166 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
14167
14168         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
14169         handle CreateNotify itself, still put out a debuging message for
14170         --gdk-debug=events. made the ReparentNotify debugging message more
14171         verbose.
14172         wrap xcoords translation for ConfigureEvents into an error trap,
14173         a destroy event may already be pending, and in that case, the
14174         actuall coordinate values are not at all critical.
14175
14176 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
14177
14178         * gdk/gdkcc.c: Stop leaking the color_hash all over
14179         the place. Simplify and improve the logic.
14180
14181 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
14182
14183         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
14184         for prototypes and function implementations consistent (reported
14185         by Tomas Ogren).
14186
14187 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
14188
14189         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
14190         send_event set in debugging output.
14191         (gdk_compress_exposures): default initialize the event so we don't
14192         operate on bogus values (namely send_event).
14193
14194 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
14195
14196         * gdk/gdkwindow.c: When we receive an unexpected
14197         destroy notify on one of our windows, don't just
14198         warn about it, also mark our windows as destroyed.
14199
14200 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
14201
14202         * gdk/gdkfont.c (gdk_font_hash_insert): Add
14203           name => font and name => fontset hashes. The 
14204           name => fontset hash is a _big_ win since we
14205           weren't previously caching fontsets at all and loading
14206           fontsets is expensive. The name => font hash
14207           is less of a win, but it does save us from doing
14208           repeated XQueryFont calls on the same font.
14209
14210         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
14211           list so we can remove font/fontset from hash.
14212
14213 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
14214
14215         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
14216           and slightly confusing test. [ XInternAtom (,,TRUE)
14217           will never return None ].
14218
14219 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
14220
14221         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
14222           gdk/gdkwindow.c (gdk_window_set_hints):
14223
14224         Don't omit setting the properties if flags == 0 -
14225         there may be an existing set of properties there
14226         already. (Very old bug. Would it be better to
14227         delete the property instead?)
14228
14229         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
14230           spelling error in comment.
14231
14232 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
14233
14234         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
14235           to avoid stomping over gdk_error_warnings.
14236
14237         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
14238           as (bits_per_pixel + 7) / 8. This gives the same
14239           result as before for multiples of 8, but actually
14240           a "reasonable" value for 1bit or 4bit displays.
14241
14242 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
14243
14244         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
14245         GNU Make.
14246
14247 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
14248
14249         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
14250         discarding configure events.
14251
14252 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
14253
14254         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
14255         refcount is greater than zero.
14256
14257         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
14258
14259         * gdk/gdkfont.c (gdk_font_unref): Likewise.
14260
14261         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
14262
14263         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
14264
14265 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
14266
14267         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
14268         that format 32 => sizeof(item) == 4. It really is
14269         sizeof(long).
14270
14271 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
14272
14273         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
14274         core dump at all on X IO errors, only core dump
14275         if --enable-debug for X errors.
14276
14277 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
14278
14279         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
14280         unknown window:" message. disabled ConfigureNotify discarding code,
14281         because it led to events being processed out of order.
14282
14283 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
14284
14285         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
14286
14287         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
14288         we export this function, supress error warnings and don't reset the
14289         error code in the first half of this function.
14290
14291         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
14292         code (instead of just -1) so gdk_error_trap_pop() reveals something
14293         actually informative about the error that happened.
14294
14295         * gdk/*.c:
14296         don't rely on gdk_error_code being -1 if an error occoured, but just
14297         gdk_error_code != 0.
14298
14299 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
14300
14301         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
14302         pointer *before* invoking the filter function, so we at least don't
14303         crash if a filter is removed that is currently executed. window filters
14304         *really* need to be made truely reentrant at some point.
14305
14306 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
14307
14308         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
14309         PropertyNotify debug messages.
14310
14311 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
14312         
14313         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
14314         
14315         * gdk/gdkim.c: Fix cut-and-paste errors for 
14316         x/y and PreeditAttributes/StatusAttributes.
14317
14318 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
14319
14320         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
14321         G_MAXINT to 2^16 to alleviate overflow problems in
14322         various window managers.
14323
14324 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
14325
14326         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
14327         for fontsets.
14328
14329 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
14330
14331         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
14332         Initialize size_hints.x and size_hints.y because kwm
14333         brokenly pays attention to them.
14334         (Bug #1181 -  Lars Heete <hel@admin.de>)
14335
14336 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
14337
14338         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
14339         return value of gdk_list_visuals(). 
14340         (Bug #1193 - Morten Welinder <terra@diku.dk>)
14341
14342 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
14343
14344         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
14345         XSetIMValues to (void *) when comparing to NULL, to workaround
14346         the problem of some compilers barfing since older X headers don't
14347         have the prototype for it.
14348
14349 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
14350
14351         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
14352         for pseudocolor where colormap->colors was double
14353         allocated.
14354
14355         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
14356         color value in the hash table with the pixel filled
14357         in so when we do later hash table lookups, the color
14358         value is correct.
14359         
14360 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
14361
14362         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
14363         making the call
14364
14365 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
14366
14367         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
14368         pointed out by Morten Welinder <terra@diku.dk>.
14369
14370 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
14371
14372         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
14373           default filter from the list
14374
14375 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
14376
14377         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
14378           default filter from the list
14379
14380 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
14381
14382         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
14383
14384         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
14385         g_strdup_printf instead of calcing the length separately
14386
14387 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
14388
14389         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
14390         that we don't do in many other places. (Fixing duplicate 
14391         #include of config.h)
14392
14393         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
14394         Otherwise, #ifndef XINPUT_NONE check in the latter
14395         doesn't work. (Bug #546)
14396
14397 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
14398
14399         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
14400         "None" case insensitive.
14401
14402 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
14403
14404         * gdk/gdkselection.c: 
14405         Add error traps so if the other end of the connection
14406         dies, we survive.
14407
14408 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
14409
14410         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
14411         dest_xid field into two fields - one for the window
14412         to send in messages, one to indicate the last looked
14413         up window for caching purposes. This is needed, so
14414         that Leave messages get the correct window.
14415
14416 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
14417
14418         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
14419         Fix warning created by people mucking around
14420         with the gsource API.
14421
14422         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
14423         Change mapping between GIOCondition and GdkInputCondition
14424         to match the way the Linux kernel does it. This should
14425         fix problems where closed pipes were no longer signalling
14426         GDK_INPUT_READ on systems with a native poll().
14427
14428 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
14429
14430         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
14431         explicitly for the string "None" - it is in the XPM
14432         spec and some servers treat unknown colors in odd ways
14433         (like asking the user!)
14434
14435 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
14436
14437         * gdk/gdkevents.c: made "->" into a "." of previous change so
14438         it compiles
14439
14440 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
14441
14442         * gdk/gdkevents.c (gdk_compress_exposures): Set the
14443         window field of the event structure before calling
14444         user filters.
14445
14446 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
14447
14448         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
14449         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
14450
14451 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
14452
14453         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
14454         intermediate text property - prevents major memory
14455         leak when gdk_use_mb.
14456         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
14457
14458 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
14459
14460         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
14461         gtk-a-higuti-990322-[0-3]
14462
14463         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
14464         sizeof(wchar_t) != sizeof (GdkWChar)
14465
14466         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
14467         that was causing -DX_LOCALE not to work.
14468
14469         * gtk/gtkrc.c (gtk_rc_init):
14470         X_LOCALE will never have LC_MESSAGES defined
14471
14472         * gdk/gdk.c (gdk_init_check):
14473         Remove --xim-preedit and --xim-status from argv properly.
14474
14475         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
14476         that the client window is present on the X server
14477         before we pass it to the input method.
14478
14479 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
14480
14481         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
14482         if --display is specified on the command line, than
14483         the drag window will not be created on that display.
14484         
14485 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
14486
14487         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
14488         lookups with only_if_exists == TRUE were inserting
14489         bogus values into the atom cache.
14490
14491 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
14492
14493         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
14494         then reset it to NULL.
14495
14496         * gdk/gdkcolor.c:
14497         (gdk_colors_free): 
14498         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
14499         key for g_hash_table_remove() in both functions, this prevents us
14500         from accessing possibly uninitialized portions of a GdkColor structure
14501         where we are only interested in its pixel value.
14502
14503 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14504
14505         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14506         font hash table, if we have a GdkFontPrivate entry for this font
14507         already, simply increment its reference count, provided by Olaf Dietsche
14508         <olaf.dietsche+list.gtk@netcologne.de>.
14509
14510 1999-09-21  Tor Lillqvist  <tml@iki.fi>
14511
14512         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
14513         just to be sure.
14514
14515         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
14516         unused variables, leftovers from the X11 version.
14517
14518         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
14519
14520         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
14521         downcase fields on X11.
14522
14523 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
14524         
14525         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
14526         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
14527
14528 1999-09-17  Tor Lillqvist  <tml@iki.fi>
14529
14530         * gdk/win32/gdk.def: Add gdk_threads_mutex.
14531
14532         * gtk/makefile.msc: Correct path to libintl.
14533
14534         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
14535         use of gint vs. int, and gint vs. gboolean in headers and
14536         definitions. Use GtkType for the *_get_type functions. Note that
14537         these changes preserve binary compatibility.
14538
14539         * gdk/gdk.c
14540         * gdk/win32/gdk.c
14541         * gdk/gdk.h: Fix inconsistencies: gint vs int.
14542
14543         * gtk/gtkmain.c
14544         * gtk/gtkclist.c
14545         * gtk/gtkmenufactory.c
14546         * gtk/gtknotebook.c
14547         * gtk/gtkwidget.c: Fix inconsistencies, also gint
14548         vs. gboolean.
14549
14550         * gtk/gtkcolorsel.[ch]
14551         * gtk/gtkcombo.[ch]
14552         * gtk/gtkdrawingarea.[ch]
14553         * gtk/gtkgamma.[ch]
14554         * gtk/gtkhandlebox.[ch]
14555         * gtk/gtkhpaned.[ch]
14556         * gtk/gtkhruler.[ch]
14557         * gtk/gtkplug.[ch]
14558         * gtk/gtkpreview.[ch]
14559         * gtk/gtkruler.[ch]
14560         * gtk/gtksocket.[ch]
14561         * gtk/gtkstatusbar.[ch]
14562         * gtk/gtktoolbar.[ch]
14563         * gtk/gtkvbbox.[ch]
14564         * gtk/gtkvpaned.[ch]
14565         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
14566         functions.
14567
14568         * gtk/gtkgamma.h: Fix bug, missing () in call of
14569         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
14570
14571 1999-09-14  Tor Lillqvist  <tml@iki.fi>
14572
14573         * gdk/gdkcolor.c (gdk_colormap_new)
14574         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
14575         colormap->colors was allocated twice.
14576
14577         * gdk/win32/gdk.c: Remove some unused stuff.
14578
14579         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
14580         colormap.
14581
14582         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
14583         * gtk/gtklabel.h (gtk_label_get_type)
14584         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
14585         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
14586         in a couple of places, not guint.
14587
14588 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
14589
14590         * configure.in,po/et.po: added Estonian language file
14591
14592 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
14593
14594         * configure.in,po/da.po: added Danish file
14595
14596 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
14597
14598         * docs/gtkfaq.sgml: Minor FAQ Update
14599
14600 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
14601
14602         * docs/gtkfaq.sgml: FAQ update
14603
14604 1999-08-27  Tor Lillqvist  <tml@iki.fi>
14605
14606         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
14607         way to get window contents continually refreshed while resizing. I
14608         didn't like the effects myself, so it's not on by default.
14609
14610         * gdk/win32/gdkprivate.h: New flag variable
14611         gdk_event_func_from_window_proc, FALSE by default.
14612
14613         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
14614         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
14615         are passed --gdk-event-func-from-window-proc.
14616
14617         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
14618         and we have am event_func, call it instead of enqueing the event.
14619
14620 1999-08-23  Tor Lillqvist  <tml@iki.fi>
14621
14622         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
14623         Kelley: Set expose_count in GdkEventExposes correctly.
14624
14625         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
14626         MULTIPLE_WINDOW_CLASSES).
14627
14628         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
14629         for bug in NT, apparently NT *does* draw the end pixel, too, in
14630         LineTo with a one-pixel pen, so we don't have to do it ourselves.
14631
14632 1999-08-21  Tor Lillqvist  <tml@iki.fi>
14633
14634         Improvements by Hans Breuer: 
14635
14636         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
14637
14638         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
14639         CS_?REDRAW flags as they cause lots of (late) redraws when "show
14640         window contents while dragging" is turned on. Allocate at least
14641         one unique class for every GdkWindowType. If support for single
14642         window-specific icons is ever needed (eg. Dialog specific), every
14643         such window should get its own class.
14644
14645 1999-08-19  Tor Lillqvist  <tml@iki.fi>
14646
14647         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
14648         error that caused crashes.
14649
14650 1999-08-17  Tor Lillqvist  <tml@iki.fi>
14651
14652         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
14653         window, use ScrollWindowEx, and call UpdateWindow. This prevents
14654         bugs when for instance part of the window was outside the
14655         display. Thanks to Philippe Colantoni for finding and fixing this.
14656
14657 1999-08-16  Tor Lillqvist  <tml@iki.fi>
14658
14659         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
14660         endpoint calculations which were totally wrong. (A little RTFMing
14661         helps a lot ;-)
14662
14663         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
14664         from a separate directory, not from gettext, because of licensing
14665         issues (we want to use the LGPL version).
14666
14667         * README.win32: Mention the intl from glibc vs from gettext issue.
14668
14669 1999-08-13  Tor Lillqvist  <tml@iki.fi>
14670
14671         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
14672         in the key event handling: Now AltGr chars work again. Also,
14673         now Alt-digits are passed up as well as Control-digits.
14674         Pass keypad plus and minus as normal plus and minus.
14675
14676 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
14677
14678         * docs/gtkfaq.sgml: FAQ Update
14679
14680 1999-07-25  Tor Lillqvist  <tml@iki.fi>
14681
14682         * README.win32
14683         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
14684         the Wintab SDK.
14685
14686         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
14687         OK, but getting closer. Guard against bogus tilt data from Wacom
14688         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
14689         enable easier building without Wintab.
14690
14691         * gdk/win32/gdkinput.h
14692         * gdk/win32/gdkevents.c 
14693         * gdk/win32/gdkwindow.c: Minor changes related related to above.
14694         
14695         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
14696         code. As we have just one visual on Win32, no sense to have it in a
14697         table, and no need for the hash table.
14698
14699         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
14700         better on white background.
14701
14702 1999-07-21  Tor Lillqvist  <tml@iki.fi>
14703
14704         * README.win32: Update gcc build instructions. Mention gettext is
14705         GPL.
14706
14707         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
14708         supported cursor size with GetSystemMetrics.
14709
14710         * gdk/win32/gdkfont.c
14711         * gtk/gtkfontsel.c: Guard against some font weight and charset
14712         symbols being undefined (in mingw32 headers).
14713
14714         * gdk/win32/makefile.cygwin
14715         * gtk/makefile.cygwin
14716         * gtk/gtkthemes.c: No longer need to have differently named
14717         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
14718
14719 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
14720
14721         * docs/gtkfaq.sgml: Long awaited FAQ update.
14722
14723 1999-07-15  Tor Lillqvist  <tml@iki.fi>
14724
14725         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
14726         it. Obscure bit manipulation needed.
14727
14728         * gdk/win32/gdkevents.c: Logging.
14729         
14730         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
14731         style (file name include compiler name) for theme engines.
14732
14733 1999-07-13  Tor Lillqvist  <tml@iki.fi>
14734
14735         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
14736
14737         * gdk/win32/gdkevents.c: Fix long-standing bug in key
14738         events. The key.string wasn't zero-terminated, still we strdup'ed
14739         it in gdk_event_copy(). Synthesize crossing events for button
14740         events before possible propagation.
14741
14742         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
14743
14744         * gdk/win32/makefile.cygwin
14745         * gtk/makefile.cygwin: Use new DLL naming style for the
14746         GCC-compiled ones.
14747
14748         * gdk/win32/makefile.msc
14749         * gtk/makefile.msc: Cosmetics mostly.
14750
14751         * gtk/gtk.def: Add missing entry points.
14752
14753         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
14754
14755 1999-07-09  Tor Lillqvist  <tml@iki.fi>
14756
14757         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
14758         or height is zero. Don't print a warning if Pie or Arc fails, they
14759         always fail (?) for very narrow ellipses.
14760
14761         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
14762         the part or the destination window corresponding to source area
14763         outside of the source drawable's boundary.
14764
14765         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
14766         anything if less than two points.
14767
14768         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
14769         return NULL. Gtk cut-and-paste inside a single program works
14770         better this way. (It always gets the clipboard contents from
14771         Windows, not from its own copy, which is cleared anyway. I can't
14772         say I fully understand what happens... Emulating the X selection
14773         and property stuff is a bit of a mess.)
14774
14775         * gdk/win32/gdkevents.c
14776         * gdk/win32/gdkproperty.c: A bit more verbose logging.
14777
14778         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
14779         that never got deleted). Revamp gdk_region_shrink.
14780
14781         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
14782         after use.
14783
14784         * gtk/gtk.def: Add some missing entry points.
14785
14786         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
14787         component.
14788
14789 1999-07-04  Tor Lillqvist  <tml@iki.fi>
14790
14791         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
14792         Control-digits specially.
14793
14794 1999-07-03  Tor Lillqvist  <tml@iki.fi>
14795
14796         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
14797
14798 1999-06-28  Tor Lillqvist  <tml@iki.fi>
14799
14800         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
14801         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
14802         finding this.)
14803
14804 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
14805
14806         * gtk+.spec.in: Corrected some typos in files section.
14807         
14808 1999-06-15  Tor Lillqvist  <tml@iki.fi>
14809
14810         * README.win32: Mention using GNU gettext.
14811         * config.h.win32: Enable NLS stuff.
14812         * gtk/makefile.msc: Use GNU gettext.
14813         * gdk/win32/gdkdnd.c: Minor header reorg.
14814         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
14815         cosmetics.
14816         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
14817         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
14818
14819 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
14820
14821         * acinclude.m4
14822         * config.guess
14823         * config.status
14824         * ltconfig
14825         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
14826
14827 1999-05-30  Tor Lillqvist  <tml@iki.fi>
14828
14829         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
14830         SafeAdjustWindowRectEx. Don't override all calls to
14831         AdjustWindowRectEx by it, but use it only in two places: When
14832         creating a new top-level window and when moving a top-level
14833         window.
14834
14835         Use screen coordinate rectangle, not client rectangle, in
14836         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
14837         when we try to place a window so that the decoration (mainly,
14838         title bar) isn't visible.
14839
14840         These changes fix the bug that showed up for instance as the
14841         GIMP's saved top-level windows moving right and down (by an amount
14842         equal to the window decoration) for each session. This bug showed
14843         up also in testgtk's "Saved Position".
14844
14845         gdk_window_resize also redone a bit.
14846
14847 1999-05-25  Tor Lillqvist  <tml@iki.fi>
14848
14849         * gtk/testgtkrc: Add (commented out) Windows-style theme
14850         include line.
14851
14852         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
14853
14854 1999-05-18  Tor Lillqvist  <tml@iki.fi>
14855
14856         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
14857         gdkx.h to a gdk subdirectory, so that applications can include
14858         these with <gdk/*.h> without trouble.
14859
14860         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
14861         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
14862         have their bitmap destroyed.
14863
14864         * gdk/win32/gdk.def: Add gdk_root_parent.
14865
14866 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
14867
14868         * configure.in
14869           gtk-config.in
14870           ltconfig
14871           ltmain.sh     
14872           gtk/Makefile.am: changes to compile nicely (with xlib) 
14873           on BeOS
14874
14875 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
14876
14877         * acinclude.m4
14878         * config.guess
14879         * config.sub
14880         * ltconfig
14881         * ltmain.sh: upgrade to libtool 1.3
14882
14883 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
14884
14885         * gtk/gtkclist.c:
14886         * gtk/gtkctree.c: merges from gtk-1-2
14887
14888 1999-04-25  Tor Lillqvist  <tml@iki.fi>
14889
14890         Support added for building using a GNU toolchain on Win32,
14891         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
14892
14893         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
14894         * config.h.win32: Changes for gcc.
14895         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
14896         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
14897         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
14898         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
14899         Protect shl stuff unavaiilable with mingw32 headers.
14900         * gdk/win32/gdkevents.c: Fix typo.
14901         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
14902         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
14903         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
14904         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
14905         the mingw32 headers.
14906         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
14907         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
14908         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
14909         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
14910         Test for NATIVE_WIN32, not _MSC_VER.
14911         * gtk/gtkmain.c: No use warning about developer version on Win32,
14912         there aren't any non-developer versions anyhow.
14913         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
14914         * gtk/makefile.msc: Use pthread from another directory. Minor other
14915         changes. 
14916
14917 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
14918
14919         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
14920           default filter from the list
14921
14922 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
14923
14924         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
14925          when gtk_widget_grab_default() is called for a widget that
14926          is not within a GtkWindow.
14927
14928 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
14929
14930         * docs/gtk_tut.sgml, examples/clist.c: use a
14931           scrolled window in the clist example. Minor
14932           tutorial fixes.
14933
14934 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
14935
14936         * docs/gtk_tut.sgml: Style check from David King
14937           <dking@youvegotmail.net>
14938
14939 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
14940
14941         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
14942         compile with unknown value of GDK_WINDOWING
14943
14944 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
14945
14946         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
14947         after the rule is fired.
14948         (install-exec-local): Install gdkconfig.h only if the contents are
14949         different from the currently installed gdkconfig.h.
14950
14951 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
14952
14953         * gdk/Makefile.am (configexecincludedir): Rename from 
14954         configincludedir so that gdkconfig.h will be installed 
14955         as part of `make install-exec'. 
14956
14957 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
14958
14959         * acinclude.m4
14960         * config.guess
14961         * config.sub
14962         * ltconfig
14963         * ltmain.sh: upgrade to libtool 1.2f
14964
14965         * autogen.sh: libtool is not required to autogen gtk+
14966
14967         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
14968         needed)
14969
14970 1999-03-18  Tor Lillqvist  <tml@iki.fi>
14971
14972         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
14973         declaring gdk variables exported/imported from the DLL. New image
14974         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
14975         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
14976         GDK_DRAG_PROTO_OLE2.
14977
14978         * gdk/gdk.h: Merge in Win32 version: Two new functions,
14979         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
14980         declared only for the Win32 version, but could be in the X11
14981         version as well. (Needed for a Xlib-less gdk_imlib.)
14982         gdk_color_hash should have only one parameter. Declare
14983         gdk_threads_mutex with GDKVAR.
14984         
14985         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
14986         just one parameter.
14987
14988         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
14989         per pixel, not bits.
14990
14991         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
14992         Fetch bpp (which means bits-per-pixel here) from another place on
14993         Win32. Accept also depth==32 (which we might get on Win32) with
14994         bpp==32.
14995
14996         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
14997         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
14998         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
14999         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
15000         in the backend-dependent directory, not in the common gdk
15001         directory.
15002
15003         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
15004         headers.
15005
15006 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
15007
15008         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
15009         want to use the Gtk+ devel version (which is true, and yes - even i am
15010         currently working with the 1.2.x branch). so everyone reading this, you
15011         probably want to issue
15012         cvs checkout -r glib-1-2 glib
15013         and
15014         cvs checkout -r gtk-1-2 gtk+
15015         as your next two comands.
15016
15017 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
15018
15019         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
15020         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
15021
15022         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
15023         file. strongly deprecated the GTK_HAVE_* macros, we provide
15024         GTK_CHECK_VERSION() for people that need to check for certain
15025         Gtk+ versions.
15026
15027         * gtk/gtkcompat.h: removed this from CVS.
15028         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
15029         idea right from the start, it just didn't seem like that back then.
15030
15031 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
15032
15033         * merges from gtk-1-2:
15034
15035 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
15036
15037         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
15038         item factory class has been created.
15039         (gtk_item_factory_parse_rc): likewise.
15040
15041         * gtk/gtkmenu.c:
15042         keep proper references for old_active_menu_item.
15043         (gtk_menu_reparent): unset the usize of the new parent,
15044         so the menu can sanely be size requested and we don't get nasty screen
15045         artefacts upon next reparentation.
15046         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
15047         enter notify. only synthesize enter notifies if the pointer really is
15048         inside the event window.
15049         (gtk_menu_popdown): use gtk_menu_shell_deselect().
15050         (gtk_menu_popup): move the background setting stuff into
15051         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
15052
15053         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
15054         gtk_menu_shell_select_item() to select the new item.
15055         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
15056         do the right thing for deselection as well.
15057
15058 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
15059
15060         * gtk/gtkwidget.[hc]:
15061         (gtk_widget_accelerators_locked): return whether a widget's accelerators
15062         are locked.
15063
15064         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
15065         existing accelerators if the widget's accelerators are locked.
15066
15067 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
15068
15069         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
15070
15071         * gtk/gtkmenu.c: truely forward key press and key release events to
15072         the menu widget from the toplevel or tearoff window. we can't simply
15073         connect to that, we need to stop further processing of the events as
15074         well.
15075
15076 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
15077
15078         * gtk/gtkmenu.c:
15079         (gtk_menu_key_press): pass event->keyval, event->state to
15080         gtk_accelerator_valid, instead of event->keyval twice.
15081         refuse to install single letter accelerators for menus that use
15082         single letter shortcuts.
15083
15084         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
15085         gtk_menu_ensure_uline_accel_group().
15086
15087         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
15088         which will always return an uline accel group, made
15089         gtk_menu_get_uline_accel_group() return NULL if the group isn't
15090         yet created.
15091
15092 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
15093
15094         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
15095
15096         * gtk/gtkclist.c (gtk_clist_column_title_passive):
15097         Leave button sensitive, trap  button_press, button_release,
15098         motion_notify, enter_notify and leave_notify events instead.
15099         (gtk_clist_column_title_active): disconnect event handler.
15100         (gtk_clist_drag_data_get): fixed memory leak. Reported by
15101         Guillaume Laurent <glaurent@worldnet.fr>
15102
15103 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
15104
15105         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
15106         width/height mixups.
15107
15108         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
15109         if needed.
15110
15111 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
15112
15113         * gtk/testgtk.c (create_item_factory): unref the item factory after
15114         window's destruction.
15115
15116         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
15117         count on the menu shell around the menu item's activation, since the
15118         signal emission may cause menu shell destruction.
15119
15120         * gtk/gtkitemfactory.c:
15121         the previous code leaked one accel group per menu. we use
15122         gtk_menu_get_uline_accel_group() now to fix that, and with that
15123         also create the underline accelerator group of the menus only if
15124         required (i.e. an underline accelerator has been specified).
15125         (gtk_item_factory_construct):
15126         (gtk_item_factory_create_item): removed code that would create an
15127         extra accel group for the menu (and leak references).
15128         (gtk_item_factory_create_item): adapted the underline accelerator
15129         installation code to properly feature gtk_menu_get_uline_accel_group().
15130
15131         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
15132         menu->accel_group, this may return NULL if the accelerator group
15133         hasn't been set yet.
15134         added gtk_menu_get_uline_accel_group() to retrive the underline
15135         accelerator group of the menu, this will be created on demand
15136         and proper care is taken about its reference count.
15137
15138         * gtk/gtkitemfactory.h:
15139         * gtk/gtkitemfactory.c:
15140         dumped the approach of keeping a widgets by action list on the
15141         factory since the factory<->widget destroy negotiation didn't work
15142         and would be hard to get going at all. instead we keep a list of
15143         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
15144         persistant throughout a program's life time).
15145         also, i removed the static const gchar *key_* variables, and made
15146         them inline strings (they weren't actually used anyways).
15147         (gtk_item_factory_add_item): update ifactory->items.
15148         (gtk_item_factory_destroy): destroy ifactory->items (and remove
15149         the item factory pointer from the remaining ifactory widgets).
15150         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
15151         list to find the widget.
15152         (gtk_item_factory_get_item): new function that works around
15153         gtk_item_factory_get_widget() limitations, this function will only
15154         return menu items, even for <Branch> entries.
15155
15156 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
15157
15158         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
15159         font hash table, if we have a GdkFontPrivate entry for this font
15160         already, simply increment its reference count, provided by Olaf Dietsche
15161         <olaf.dietsche+list.gtk@netcologne.de>.
15162
15163         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
15164         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
15165
15166 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
15167
15168         * gtk/gtkcontainer.c:
15169         (gtk_container_add_with_args):
15170         (gtk_container_addv):
15171         (gtk_container_add): before adding a child to a conatiner, make sure
15172         it is (default) constructed, this is neccessary because under certain
15173         circumstances the child will get relized and mapped immediatedly, in
15174         which case it has to be constructed already.
15175
15176 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
15177
15178         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
15179         values > 1 as TRUE also.
15180
15181 1999-03-16  Tor Lillqvist  <tml@iki.fi>
15182
15183         * README.win32: New file.
15184                 
15185         * configure.in: Check for lstat.
15186
15187         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
15188         completeness.
15189
15190         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
15191
15192         * gtk/gtk.def: Removed CRs.
15193
15194         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
15195         ..\gdk\win32).
15196
15197         * gdk/win32/makefile.msc: Correct upwards relative paths.
15198         
15199 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
15200
15201         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
15202           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
15203           it was connecting a void function to expose_event and the int
15204           returning function to the draw signal
15205
15206 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
15207
15208         * configure.in:
15209         Use correct path to libgmodule.la when ref'ing uninstalled copy
15210         of glib.  (Already in stable branch, Bug #417)
15211
15212 1999-03-15  Tor Lillqvist  <tml@iki.fi>
15213
15214         Win32 merge and general portability stuff:
15215                 
15216         * acconfig.h,configure.in: Check for <sys/time.h>.
15217
15218         * gdk/win32: New directory (actually, been there for a while).
15219         
15220         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
15221         NATIVE_WIN32, and use these. Always case fold on Win32. No
15222         backslashed escapes on native Win32.
15223
15224         * gtk/{gtk.def,makefile.msc}: New files.
15225
15226         * gtk/Makefile.am: Add above new files.
15227         
15228         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
15229         instead of <strings.h>.
15230
15231         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
15232         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
15233         <unistd.h> appropriately.
15234
15235         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
15236         Use ABS() (from <glib.h>) instead of abs().
15237         
15238         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
15239         of gtk (and thus glib) headers, so that WIN32 will be
15240         defined. With MS C, include <direct.h> for mkdir prototype.
15241
15242         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
15243         some casts, needed by MS C.
15244
15245         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
15246         implemented).
15247
15248         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
15249         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
15250         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
15251
15252         * gtk/gtkmain.h: Mark variables for export/import on Win32.
15253                 
15254         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
15255         the event is not a hint, or its window is not the slider. Needed
15256         on Win32, at least.
15257
15258         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
15259         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
15260         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
15261         a subdirectory of the Windows directory as gtk system
15262         configuration directory.
15263
15264         * gtk/gtkselection.c: No chunks on Win32.
15265
15266         * gtk/gtksocket.c: Not implemented on Win32.
15267
15268         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
15269
15270         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
15271
15272         * gtk/maketypes.awk: Declare variables with a macro that expands to
15273         necessary export/import magic in the case of Win32.
15274                 
15275         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
15276
15277 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
15278
15279         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
15280         since those were meant only for gdki18n.h.  
15281         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
15282         for widechar tests.
15283         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
15284
15285 1999-03-13  Tor Lillqvist  <tml@iki.fi>
15286
15287         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
15288         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
15289
15290         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
15291         installed) to CFLAGS.
15292
15293         * gdk/Makefile.am: Add rules for gdkconfig.h.
15294
15295         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
15296         APIs.
15297
15298         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
15299         gdkx.h anyway when compiling for X11.
15300         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
15301         general): Merge in Win32 version.
15302         
15303         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
15304         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
15305         expansion (if we don't have HAVE_PWD_H), allow for drive
15306         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
15307         included code from Craig Setera's port to Win32 (the one that uses
15308         X11, and the cygwin dll), even if it probably will be abandoned.
15309
15310         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
15311         the user entered one herself.  This way one can complete *.h and
15312         don't get matches on any .help files, for instance.
15313         
15314 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
15315
15316         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
15317         font hash table, if we have a GdkFontPrivate entry for this font
15318         already, simply increment its reference count, provided by Olaf Dietsche
15319         <olaf.dietsche+list.gtk@netcologne.de>.
15320
15321         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
15322         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
15323
15324 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
15325
15326         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
15327         the number of calls to gdk_draw_point() (and thus to X) by
15328         clipping the points by hand.
15329
15330         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
15331         the clip parameter.
15332         (gtk_handle_box_paint): Only paint the handle if the expose area
15333         intersects it.
15334
15335 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
15336
15337         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
15338
15339 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
15340
15341         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
15342         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
15343
15344 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
15345
15346         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
15347          textmode (O_TEXT) for OS/2 version.
15348
15349 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
15350
15351         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
15352         GtkSpinButton, "input" and "output", to make the output more flexible.
15353         The user has to provide a mapping between adjustment->value and the
15354         output string (and vice versa, if the spin button is editable). 
15355         See testgtk for examples.
15356
15357 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
15358
15359         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
15360         new one.
15361         
15362         * configure.in: set gtk+ version to 1.3.0.