]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-4
Translations from Keld
[~andy/gtk] / ChangeLog.pre-2-4
1 2001-04-20  Alexander Larsson  <alexl@redhat.com>
2
3         * gtk/gtkcolorsel.[ch]:
4         API Change. Take GdkColor arguments instead of gdouble *.
5         Leave the old gtk_color_selection_set_color for compatibility,
6         but marked deprecated.
7         Do correct rounding when converting RGB <-> HSV.
8         
9         * gtk/gtkcolorseldialog.c:
10         * tests/testgtk.c:
11         Use new GtkColorSelection API.
12
13         * gtk/gtkhsv.c:
14         Fix problem selecting colors in triangle when Hue is 330.
15         Fix some black dots around the HSB triangle.
16         
17         * gtk/gtkfilesel.c:
18         return FALSE from the focus_in_event handler to fix focus problems.
19
20 2001-04-18  Havoc Pennington  <hp@redhat.com>
21
22         * gtk/gtkwindow.c (gtk_window_class_init): add signals and binding
23         set, so keybindings are configurable    
24         (gtk_window_activate_default): Change to activate the focus widget
25         instead if there's a focus widget, to be consistent with the
26         behavior that previously existed in key_press_event
27
28 2001-04-18  Havoc Pennington  <hp@redhat.com>
29
30         * gdk/gdkkeyuni.c: Handle numeric keypad keysyms; bug #50201
31
32 2001-04-18  Havoc Pennington  <hp@redhat.com>
33
34         Close bug #50615:
35         
36         * gtk/gtkstyle.c (gtk_default_draw_layout): Use text_gc to draw
37         the layout
38
39         * gtk/gtktext.c: Use base/text instead of bg/fg throughout
40
41         * gtk/gtkentry.c: Use base/text instead of bg/fg throughout
42
43         * gtk/gtktextdisplay.c: Use base/text instead of bg/fg throughout
44         
45         * gtk/gtkstyle.c (gtk_style_init): make GTK_STATE_SELECTED default
46         to blue for base, in addition to bg
47         
48 2001-04-18  Havoc Pennington  <hp@redhat.com>
49
50         * tests/testgtk.c (create_image): allow shrinking the image window
51         to test that we clip to allocation.
52
53         * gtk/gtkimage.c (gtk_image_expose): clip to allocation,
54         #9845
55
56         * gtk/gtkenums.h: move GtkWrapMode in here, #50472
57
58 Wed Apr 18 14:23:14 2001  Owen Taylor  <otaylor@redhat.com>
59
60         * gdk/x11/gdkimage-x11.c (gdk_image_new): Try changing
61         mode on shm segments to 0600. We'll see who complains.
62
63         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Call
64         _gdk_windowing_window_destroy() AFTER recursing through
65         children.
66
67         * tests/Makefile.am (noinst_PROGRAMS): Build testsocket,
68         testsocket_child on X.
69
70         * tests/testsocket[_child].c: Fix uses of
71         gtk_window_get_default_accel_group().
72
73         [ Merge patch from Ramiro Estrugo  <ramiro@eazel.com> from gtk-1-2 ]
74
75         * gdk/gdkimage.c: (gdk_image_get):
76         Deal with the possibility that XGetImage() might return NULL.
77         Allocate the GdkImagePrivate structure only after XGetImage()
78         succeeds in order not to dereference a NULL ximage pointer.  This
79         prevents a core dump when XGetImage() fails - which is unlikely,
80         but can happen due to race conditions accessing the geometries of
81         drawables.  An x error will still be triggered, but the gdk image
82         wrapper at least wont seg fault.
83         
84 2001-04-18  Havoc Pennington  <hp@redhat.com>
85
86         * gtk/gtkimage.c: fix to properly queue resizes when the image is
87         set
88
89         * gtk/gtktextview.c (gtk_text_view_do_popup): desensitize Paste
90         if the insertion point isn't editable
91
92         * demos/gtk-demo/images.c: Added a GtkImage demo
93
94         * demos/gtk-demo/drawingarea.c: drawing area demo
95         
96         * demos/gtk-demo/menus.c (create_menu): cleanups
97
98 Wed Apr 18 12:15:52 2001  Owen Taylor  <otaylor@redhat.com>
99
100         * gdk/x11/gdkwindow-x11.c gdk/x11/gdkwindow-x11.h 
101           gdk/x11/gdkevents-x11.c: Introduce an extra child
102         of toplevel windows that serves to hold the focus to
103         avoid events being delivered to embedded windows.
104
105         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Introduce
106         some extra variables to clean up code and reduce the
107         number of casts.
108
109         * gdk/x11/gdkwindow-x11.h (struct _GdkXPositionInfo): Use
110         guint for 1 bit bit fields, not gboolean.
111
112 Wed Apr 18 10:04:23 2001  Owen Taylor  <otaylor@redhat.com>
113
114         * gtk/gtktooltips.c (gtk_tooltips_paint_window): Return FALSE,
115         not TRUE. (Fixes #52925)
116
117 Tue Apr 17 18:05:34 2001  Owen Taylor  <otaylor@redhat.com>
118
119         * Released 1.3.4
120
121         * NEWS: Updated
122
123         * gtk/gtktextview.c (gtk_text_view_class_init): Fix to not
124         use GTK_TYPE_ENUM.
125
126 Tue Apr 17 13:47:12 2001  Owen Taylor  <otaylor@redhat.com>
127
128         * configure.in: Don't put -lgthread in GLIB_LIBS, GLIB_DEPLIBS
129
130         * gtk/gtktypeutils.h gtk/gtksignals.h: Restore proper parameter
131         names to compatibility #defines so docs work.
132
133         * gtk/gtkenums.h: Remove GtkMenuFactoryType
134
135         * gtk/gtkwindow.c gtk/gtkdnd.c: Docs cleanups.
136
137         * configure.in: Don't include -lgthread in GLIB_LIBS, GLIB_DEPLIBS
138
139         * tests/testgtkrc: No magenta cursors, please.
140
141         * README.in INSTALL.in HACKING README.cvs-commits: Updated.
142
143         * gtk/gtkenums.h (enum): Remove left over GtkMenuFactoryType.
144         
145 Mon Apr 16 14:38:41 2001  Owen Taylor  <otaylor@redhat.com>
146
147         * gtk/gtklist.c gtk/gtklistitem.c: Remove explicit pointer
148         grabs, since they are no longer necessary.
149
150         * gtk/gtkcombo.c (gtk_combo_popup_button_press): Fix #52926
151         by signal_connect() and call gtk_button_pressed() rather
152         than signal_connect_after().
153
154         * tests/testgtk.c: Restore radio menu items to combos 
155         since they'll look OK with Raleigh, and it is easier
156         than finishing the process of removing them that was
157         started earlier.
158
159 2001-04-16  Hans Breuer  <hans@breuer.org>
160
161         * gdk/gdk.def :
162         * gtk/gtk.def : added all exports required to link PyGtk 0.7.1
163
164         * gdk/gdkfont.h : #define GDK_TYPE gdk_font_get_type ()
165         we are interested in the functions return value not the function address
166         * gdk/gdkvisual.h : same for GDK_TYPE_VISUAL
167
168         * gtk/makefile.msc.in : reflect movement of GDK_TYPEs from gtk to gdk
169
170 2001-04-14  Hans Breuer  <hans@breuer.org>
171
172         * gdk/gdk.def :
173         * gdk/makefile.msc : updated
174
175         * gdk/win32/gdkdrawable.win32 (gdk_win32_draw_rectangle) : if modus is 
176         "fill with tile" do so with new helper function gdk_win32_draw_tiles 
177         (the testgtk::text backgound pixmap is drawn again)
178         Changed SetTextAlign before pango_win32_render to TA_BASELINE to reflect 
179         Win32 Pango change
180         * gdk/win32/gdkprivate-win32.h : prototype for gdk_win32_draw_tiles
181
182         * gdk/win32/gdkproperty-win32.c : first implementation of gdk_setting_get
183         Not sure if the returned settings have the right unit, because I couldn't
184         find any docs for the X version ...
185
186         * gtk/gtk.def :
187         * gtk/makefile.msc.in : updated
188
189 Thu Apr 12 17:41:17 2001  Owen Taylor  <otaylor@redhat.com>
190
191         * gtk-2.0.m4: Fix up to refer to GTK+, not to GLib; fix some
192         wording problems. (Compared to version from Johannes Stezenbach to
193         check correctness.)
194
195 Thu Apr 12 21:04:26 2001  Tim Janik  <timj@gtk.org>
196
197         * gtk/gtktreeview.c (_gtk_tree_view_column_start_drag): get
198         this to compile.
199
200 2001-04-12  Anders Carlsson  <andersca@codefactory.se>
201
202         * gtk/gtkcellrenderertextpixbuf.c (gtk_cell_renderer_text_pixbuf_class_init): It's pixbuf_pos,
203         not pixbufpos.
204
205         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): Fix small typo.
206
207         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property): xpad and ypad
208         are unsigned insts, therefore use g_value_set_uint.
209         (gtk_cell_renderer_set_property): Likewise, use g_value_get_uint.
210
211 Sun Apr  8 05:36:06 2001  Jonathan Blandford  <jrb@webwynk.net>
212
213         * gtk/gtktextview.c (gtk_text_view_class_init): fix a fixme.
214
215         * gtk/gtkcellrendertoggle.c: change GTK_TYPE_POINTER to
216         GTK_TYPE_STRING.
217
218         * gtk/gtktreeview.c: New functions to allow initial column
219         dragging work.
220
221         * gtk/gtktreeviewcolumn.c: Initial column dragging support.
222
223         * tests/testtreefocus.c: give dave some love.
224
225         * tests/testtreesort.c: Modify test to check really long samples.
226
227 2001-04-11  Alexander Larsson  <alexl@redhat.com>
228
229         * gtk-2.0.m4: Pass pkg-config options
230         before the other args so it works even if
231         POSIXLY_CORRECT is set.
232
233 Mon Apr  9 19:02:07 2001  Tim Janik  <timj@gtk.org>
234
235         * configure.in (GTK_MICRO_VERSION): increment version to 1.3.4 (binary
236         0, interface 0).
237
238 2001-04-04  Denis Oliver Kropp  <dok@convergence.de>
239
240         * gtk/gtkcalendar.c (gtk_calendar_button_press):
241         check for action_func != NULL
242
243 2001-04-04  Sven Neumann  <sven@gimp.org>
244
245         * tests/testgtk.c (test_init): corrected path to gtk.immodules
246
247 Wed Apr  4 09:18:18 2001  Tim Janik  <timj@gtk.org>
248
249         * Released Gtk+-1.3.3.
250
251 Wed Apr  4 07:42:23 2001  Tim Janik  <timj@gtk.org>
252
253         * gdk/Makefile.am (EXTRA_DIST): add makeenums.pl to EXTRA_DIST.
254
255 Wed Apr  4 04:13:18 2001  Tim Janik  <timj@gtk.org>
256
257         * gtk/stock-icons/Makefile.am: stay in builddir and read/write
258         files to/from source dir. (if we don't stay in builddir, we
259         can't reach make-inline-pixbuf.
260
261         * gdk/Makefile.am (gdkenumtypes.c): add $(srcdir) to mekeenums.pl
262         deps.
263
264         * configure.in (GTK_MICRO_VERSION): up and away (1.3.3 bin/interface
265         ages 0).
266
267 Tue Apr  3 15:04:45 2001  Jonathan Blandford  <jrb@redhat.com>
268
269         * gtk/gtktreemodelsort.h:  removed set_sort_column, as it was
270         moved to the GtkTreeSortable interface.
271
272         * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
273         Make more efficient (fixes #50262).
274
275 Tue Apr  3 13:55:37 2001  Owen Taylor  <otaylor@redhat.com>
276
277         * NEWS: Updated.
278
279         * configure.in: Remove support for uninstalled glib.
280
281         * gtk/gtkdnd.c (gtk_drag_highlight_expose): Return FALSE as
282         so as not to stop emission.
283
284         * gtk-config-2.0.in: Exit with an error message that gtk-config-2.0
285         is no longer supported.
286
287         * Makefile.am gtk/Makefile.am tests/*: Moved all tests
288         into tests, change build order to build modules before
289         gtk/.
290
291         * modules/input/Makefile.am: Move gtk-query-immodules-2.0 invocation
292         to here.
293
294 Tue Apr  3 13:52:57 2001  Tim Janik  <timj@gtk.org>
295
296         * gtk/gtkitemfactory.[hc]: changed gtk_item_factory_dump_items()
297         and gtk_item_factory_dump_rc() GtkPatternSpec argument to
298         GPatternSpec. this is actually unlikely to cause breakage in
299         third-party apps since except for gle, pretty much ever caller
300         passes NULL here.
301
302         * gtk/gtkbindings.[hc]: removed gtk_pattern_*() API.
303
304         * *.c: use g_pattern_*() API.
305
306         * docs/Changes-2.0.txt: GtkPatternSpec->GPatternSpec updates.
307
308         * gtk/gtkstyle.c (gtk_default_draw_resize_grip): assert unhandled
309         directions aren't passed in.
310
311         * gtk/gtksettings.[hc] (_gtk_settings_parse_convert): export conversion
312         functionality to be usable from gtkstyle.c as well, give precedence
313         for conversion to user-supplied parsers.
314         s/_gtk_rc_property_parser_for_type/_gtk_rc_property_parser_from_type/;
315
316         * gtk/gtkstyle.c (_gtk_style_peek_property_value): use
317         _gtk_settings_parse_convert() for rcporperty value conversion.
318
319 2001-04-03  Alexander Larsson  <alexl@redhat.com>
320
321         * gdk/linux-fb/gdkevents-fb.c:
322         Add empty gdk_setting_get().
323
324 Tue Apr  3 05:09:07 2001  Tim Janik  <timj@gtk.org>
325
326         * gtk/gtkmain.c (_gtk_boolean_handled_accumulator): use more elaborate
327         variable names.
328         
329         * gtk/makeenums.pl: touch this so enum files get remade.
330
331 Mon Apr  2 19:36:57 2001  Jonathan Blandford  <jrb@redhat.com>
332
333         * gtk/gtktreestore.c (gtk_tree_store_init):  Bug fix to make trees
334         work again when not sorted.
335
336         * gtk/gtktreeview.c (gtk_tree_view_class_init): Add "collapse_row"
337         and "expand_row" signal, closing bug 52578.
338
339         * gtk/gtktreeview.c (gtk_tree_view_expand_row): Add signal
340         support.
341
342         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): Add signal
343         support.
344
345 Mon Apr  2 18:18:07 2001  Owen Taylor  <otaylor@redhat.com>
346
347         * gdk/gdkevents.h: Add GdkEventSetting event for notification
348         of changes to system settings, gdk_setting_get() to retrieve
349         a single system setting.
350
351         * gdk/x11/gdkevents-x11.c: Bridge gdk_setting_get() and GdkEventSetting
352         to the draft XSETTINGS mechanism.
353
354         * gdk/x11/xsettings-{common,client}.[ch]: Sample-implementation of
355         XSETTINGS.
356
357         * gtk/gtkmain.c gtk/gtksettings.[ch]: Propagate notification
358         of GDK settings changes to the GtkSettings object.
359
360         * gdk/gdkevents.[ch] gdk/gtk/gtksettings.c: Hook up the
361         double-click-timeout property to GDK.
362
363         * gdk/gdkcolor.[ch] gdk/gdkvisual.h gdk/gdkevent.[ch] gdk/gdkfont.[ch]:
364         Define GDK boxed types here.
365
366         * gdk/Makefile.am gdk/makeenums.pl: Generate source files
367         gdk/gdkenumtypes.[ch] for enum definitions.
368
369         * gtk/gtkcompat.h: Add defines for GTK_TYPE_GDK_*
370         * gtk/gtk-boxed.defs: Comment out GDK types
371         * gtk/gtktypeutils.h: Remove GDK types
372         * gtk/Makefile.am: No longer scan GDK headers for enumerataions
373
374 Mon Apr  2 16:41:08 2001  Owen Taylor  <otaylor@redhat.com>
375
376         * Applied patch from Ron Steinke to add signal accumulators
377         so that signals with the convention 'TRUE return means
378         handled' stop emission on a TRUE return.
379
380         * gtk/gtkmain.[ch]: Add private accumulator 
381         _gtk_boolean_handled_accumulator, used throughout GTK+.
382         
383         * gtk/gtkspinbutton.c: Add accumulator for ::output.
384
385         * gtk/gtktipsquery.c: Add accumulator for ::widget_selected
386         
387         * gtk/gtkwidget.c: Add accumulators for event signals,
388         ::drag_motion, ::drag_drop. Use _gtk_boolean_handled_accumator
389         for ::mnemonic-activate.
390
391         * gtk/gtkwindow.c: Add accumulator for ::frame_event
392
393 Mon Apr  2 16:24:21 2001  Owen Taylor  <otaylor@redhat.com>
394
395         * gtk/gtkwidget.c: Add missing include.
396
397 Mon Apr  2 16:56:15 2001  Jonathan Blandford  <jrb@redhat.com>
398
399         * gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new
400         marshaller.
401
402         * gtk/gtktreemodel.c (gtk_tree_model_range_changed): change
403         "changed" signal to "range_changed".
404
405         * gtk/gtktreeview.c (gtk_tree_view_set_model): fix small bug where
406         removing a tree from one model would remove all trees from that
407         model.
408         * gtk/gtktreeview.c (gtk_tree_view_range_changed): use range
409         changed signal instead.
410
411 Mon Apr  2 16:13:58 2001  Owen Taylor  <otaylor@redhat.com>
412
413         * gtk/gtkinvisible.c (gtk_invisible_style_set): Avoid
414         chaining up to parent impl, since we have a INPUT_ONLY
415         window.
416
417         * gtk/gtkentry.[ch]: Add a cursor_color property to set the
418         foreground color for the cursor.
419
420 Mon Apr  2 15:06:13 2001  Owen Taylor  <otaylor@redhat.com>
421
422         * gtk/gtkstyle.c (_gtk_style_peek_property_value): Reference 
423         param spec when caching property values, since we unref it
424         later when we free the style.
425
426         * gtk/gtkoptionmenu.c (gtk_option_menu_get_props): Dont' free
427         values since they are retrieved with G_VALUE_NO_COPY_CONTENTS.
428
429 Mon Apr  2 10:47:57 2001  Owen Taylor  <otaylor@redhat.com>
430
431         * gtk/gtkwidget.c (gtk_widget_class_init): Fix 
432         G_VALUE_NO_COPY_CONTENTS instead of G_SIGNAL_TYPE_STATIC_SCOPE
433         stupidity.
434
435 Mon Apr  2 00:51:11 2001  Owen Taylor  <otaylor@redhat.com>
436
437         [ First pass at adding style properties. Still needs some definite
438         fine-tuning. ]
439
440         * gtk/gtkbutton.c: Add ::default_spacing style property.
441          
442         * gtk/gtkcheckbutton.[ch] gtkradiobutton.c: Add ::indicator_size,
443         ::indicator_spacing style properties.
444
445         * gtk/gtkoptionmenu.c: Add ::indicator_size, ::indicator_spacing
446         style properties.
447
448         * gtk/gtk{,h,v}paned.[ch]: Make handle_size a style property
449         rather than a normal property.
450
451         * gtk/gtkwidget.c: Add an ::interior_focus style property to
452         draw focus inside buttons, in the Windows/Java Metal/etc. style.
453
454         * gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtktogglenbutton.c:
455         Honor ::interior_focus.
456         
457         * gtk/gtkentry.c: Don't draw focus at all when ::interior_focus is 
458         TRUE.
459
460         * gtk/gtkrange.[ch] gtk/gtk{h,v}scrollbar.c gtk/gtk{h,v}scale.c:
461         Add ::slider_width, ::trough_border, ::stepper_size,
462         ::stepper_spacing style properties.
463
464         * gtk/gtkscale.[ch] Add ::slider-length style property.
465
466 2001-04-02 Alexander Larsson   <alexl@redhat.com>
467
468         * gdk/linux-fb/gdkwindow-fb.c:
469         Add gdk_window_begin_resize_drag and gdk_window_begin_move_drag. Remove some
470         warnings that were spewed on startup.
471
472         * gtk/gtkwindow-decorate.c:
473         gtk_window_reposition -> _gtk_window_reposition
474
475 Sun Apr  1 21:37:22 2001  Owen Taylor  <otaylor@redhat.com>
476
477         * gtk/gtkwidget.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
478         Add boxed type for GtkRequistion. Use it for ::size-request.
479
480         * gtk/gtkstyle.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
481         Add a new GtkBorder structure useful for geometry properties
482         for widgets. Add corresponding GTK_TYPE_BORDER.
483         
484         * gtk/gtkwidget.c (gtk_widget_class_install_style_property):
485         Support automatic parser selection like
486         gtk_settings_install_property_parser().
487
488         * gtk/gtksettings.c (_gtk_rc_property_select_parser): Export
489         functionality for use by gtk_widget_class_install_style_property.
490         Support GTK_TYPE_BORDER, GTK_TYPE_REQUISITION.
491
492 Sun Apr  1 20:48:59 2001  Owen Taylor  <otaylor@redhat.com>
493
494         * gtk/gtkentry.c (gtk_entry_class_init): Make invisible-char
495         g_param_spec_unichar(). 
496
497 Sun Apr  1 23:41:37 2001  Tim Janik  <timj@gtk.org>
498
499         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): raise window for non
500         _NET window managers.
501
502         * gtk/gtkmenufactory.[hc]: cvs removed those files now.
503
504 Sun Apr  1 08:00:13 2001  Tim Janik  <timj@gtk.org>
505
506         * gtk/gtkwidget.[hc]: got rid of gtk_widget_popup(), a function that
507         bad needs to be nuked, not just deprecated.
508
509         * gtk/gtktooltips.c (gtk_tooltips_draw_tips): don't use 
510         gtk_widget_popup().
511
512         * gtk/*.[hc]: s/activate_mnemonic/mnemonic_activate/g;
513         
514         * gtk/gtkmenufactory.[hc]: removed this long-standingly deprecated
515         widget.
516         
517         * docs/Changes-2.0.txt: updates.
518         
519 Sun Apr  1 01:02:54 2001  Jonathan Blandford  <jrb@redhat.com>
520
521         * gtk/gtktreestore.c (gtk_tree_store_sort_iter_changed):
522         for (i = 0; i < 100; i ++)
523           g_print ("I will confirm it compile before committing\n");
524
525 Sun Apr  1 00:52:06 2001  Jonathan Blandford  <jrb@redhat.com>
526
527         * gtk/gtktreestore.c: Initial work on implementing the
528         GtkTreeSortable interface.  Basicaly a big cut'n'paste job.
529
530 Sun Apr  1 03:28:14 2001  Tim Janik  <timj@gtk.org>
531
532         * gtk/gtkwidget.c: fixed a bunch of notifications, added
533         reference counts around emissions where the widget is used afterwards.
534         added freeze/thaws around multiple properties being notified.
535         (_gtk_widget_get_aux_info): cleanups.
536         
537         * gtk/gtksettings.c (gtk_settings_install_property): provide
538         default parsing functions for gdkcolor, enums and flags.
539
540         * gtk/gtkwindow.[hc]: partially reverted patch from havoc,
541         applied by owen.
542         backed out gtk_window_get_location(), gtk_window_set_location(),
543         gtk_window_get_size() and gtk_window_set_size(), these
544         have to be sorted out wrg x/y/width/height/default_with/default_height
545         properties.
546         kept a flag in GtkWindowGeometryInfo to handle user
547         resetting default sizes.
548         cleaned up ZVT comments.
549         bunch of assorted bug fixes, notification fixes.
550         (_gtk_window_reposition): make this a really internal function.
551         
552         * gtk/testgtk.c: fixups.
553         
554 2001-03-31  Hans Breuer  <hans@breuer.org>
555
556         * config.h.win32.in : disable USE_MMX for msvc build cause
557         the assembler doesn't fit and is out of my scope. Disable
558         USE_GMODULE for msvc build as wel. The right way to share
559         binaries on win32 would be to use libtiff.dll etc. To reduce
560         installation hassles IMO it's better to include all fileformats
561         builtin to gdk-pixbuf
562
563         * gdk-pixbuf/makefile.msc : new file
564
565         * gdk/gdk.def : updated
566
567         * gdk/win32/gdkevents-win32.c : don't erase the background if
568         .no_bg is set. It improves the scrolling (e.g. of testgtk main
569         buttons
570         * gdk/win32/gdkgeometry-win32.c : added comment about the above
571
572         * gdk/win32/gdkwindow-win32.c : added three new functions like
573         the X version. Only one is implemented, because the other two
574         "gdk_window_begin_(resize|move)_drag" got no docs and appear to
575         be default behaviour on win32 anyway ...
576
577         * gtk/gtk.def : updated
578
579         * gtk/makefile.msc.in : update for new files, use glib-genmarshal
580         from where it was built and add an additional rule to automagically
581         build gtkmarshal.[hc]
582
583         * gtk/gtkfilesel.c (open_new_dir) : don't increase n_entries
584         before array access for the current entry isn't finished
585
586         * gtk/gtktreeitem.c (gtk_tree_item_subtree_button_click) :
587         use g_return_val_if_fail
588
589         * gtk/testgtk.c (window_controls) : don't use the *wrong* size
590         for the static array, but let the compiler calculate it. It
591         makes me wonder if gcc isn't capable to catch bugs like this ...
592
593 2001-03-31  James Henstridge  <james@daa.com.au>
594
595         * gtk/gtkwidget.c (gtk_widget_size_adjust): fix use of magic
596         constant "-1" in the aux info structure.
597
598 2001-03-30  Alexander Larsson  <alexl@redhat.com>
599
600         * gtk/gtkbutton.c (gtk_button_get_property):
601         * gtk/gtklabel.c:
602         Remove leaks.
603         
604         * gtk/gtkcontainer.c:
605         * gtk/gtkhscale.c:
606         * gtk/gtkhscrollbar.c:
607         * gtk/gtklayout.c:
608         * gtk/gtkmisc.c:
609         * gtk/gtkprogress.c:
610         * gtk/gtkprogressbar.c:
611         * gtk/gtkrange.c:
612         * gtk/gtktable.c:
613         * gtk/gtkviewport.c:
614         * gtk/gtkvscale.c:
615         * gtk/gtkvscrollbar.c:
616         * gtk/gtkwidget.c:
617         Property patches, based on patches from John Margaglione and Lee Mallabone.
618
619 Thu Mar 29 21:20:38 2001  Mike Kestner  <mkestner@ameritech.net>
620
621         * gtk/gtkspinbutton.c : added value_changed signal which proxies for the
622         adjustment. Cleaned redundant preconditions (spin != NULL). Added
623         inline API function docs.
624         (gtk_spin_button_new_with_range): New convenience constructor.
625         (gtk_spin_button_set_increments): New adjustment helper.
626         (gtk_spin_button_set_range): New adjustment helper.
627
628         * gtk/testgtk.c : added test of the new convenince constructor and
629         value_changed signals.
630
631 Thu Mar 29 20:20:38 2001  Jonathan Blandford  <jrb@redhat.com>
632
633         * gtk/gtktreemodel.c (gtk_tree_row_ref_reordered_callback): Now we
634         listen to the reorder signal.
635
636 Wed Mar 28 20:30:26 2001  Owen Taylor  <otaylor@redhat.com>
637
638         * gtk/gtkwidget.[ch] (_gtk_widget_get_aux_info): Add private function
639         to get the aux info structure fo the widget.
640
641         * gtk/gtklabel.c gtk/gtkscrolledwindow.c gtk/gtkwindow.c: Use
642         above function.
643
644         [ Patch from  Havoc Pennington  <hp@redhat.com> ]
645
646         * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): function
647         to get the size of the window manager frame, basically the same
648         code that gdk_window_get_root_origin() had
649         (gdk_window_get_root_origin): use gdk_window_get_frame_extents()
650
651         * gtk/gtkwindow.c (gtk_window_set_default_size): use
652         gdk_window_resize() if the window is realized and resizeable
653
654         * gdk/x11/gdkwindow-x11.c (gdk_window_set_geometry_hints): fix
655         typo so that setting gravity works
656
657         * gtk/gtkwindow.c (gtk_window_move_resize): don't ever use
658         allocation if auto_shrink is on, even if the default size
659         has not changed.
660
661         * gtk/gtkwidget.c (gtk_widget_render_icon): remove bogus
662         g_return_if_fail
663
664 Thu Mar 29 16:29:12 2001  Jonathan Blandford  <jrb@redhat.com>
665
666         * gtk/gtkliststore.c (gtk_list_store_iter_changed): Massive
667         reordering/sorting work.  Now pretty much works.
668
669         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): Lots of work to make
670         reorder mostly work.  Still need to get the parity correct.
671
672         * gtk/gtktreeviewcolumn.c: Listen for "model" property changed
673         signal, so I can listen for the sort_column_changed signal so I
674         can change my "sort_indicator" property.  Cool.
675
676 Wed Mar 28 00:03:10 2001  Owen Taylor  <otaylor@redhat.com>
677
678         [ Patch from Havoc Pennington, hp@redhat.com ]
679
680         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c:
681         Add functions gdk_window_begin_resize_drag/begin_move_drag
682         to start resizing or moving a toplevel window. This
683         is done either using the _NET_WM_MOVERESIZE protocol,
684         or, if that isn't present, by emulation.
685
686         * gtk/gtkwindow.[ch]: Add functions gtk_begin_move/resize_drag
687         to export the above to GTK+-land.
688
689         * gtk/gtkstyle.[ch]: Add ->draw_resize_grip() paint func.
690         
691         * gtk/gtkwindow.c gdk/gdkwindow.[ch] (gdk_window_constrain_size):
692         Move this function into gdkwindow, since we need it
693         when implementing fallback resizing.
694
695         * gdk/x11/gdkwindow-x11.c: gdk_window_set_geometry_hints.
696         Fix typo when setting gravity.
697
698         * gtk/gtkstatusbar.[ch] (gtk_statusbar_set_has_resize_grip):
699         Add an optional (but on by default) resize grip for resizing 
700         the parent window.
701
702 01-03-29  Alexander Larsson  <alexl@redhat.com>
703
704         * gtk/gtktooltips.c (gtk_tooltips_event_handler):
705         Don't return TRUE from the event handler, that blocks all
706         event signals on the tooltip widget. Now you can press buttons
707         in toolbars again.
708
709 Wed Mar 28 19:20:43 2001  Owen Taylor  <otaylor@redhat.com>
710
711         * gtk/testtext.c (create_buffer): Add missing NULL on
712         valist.
713
714         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Fix
715         c-n-p problem with INCONSISTENT property.
716
717         [ Patch from Havoc Pennington  <hp@redhat.com> ]
718
719         * gtk/gtkentry.h (struct _GtkEntryClass): add same populate_popup
720         hook.
721
722         * gtk/gtktextview.h (struct _GtkTextViewClass): add populate_popup
723         signal as a hook for extending the default popup menu
724
725         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
726         use radio menu items for the input method menuitems
727
728         * gtk/gtkimcontextsimple.c (check_hex): do better validation of 
729         inserted unicode from Ctrl-Shift-hex input method
730
731         * gtk/gtktextbtree.c (_gtk_text_btree_insert): remove utf8
732         validatation here, already done at GtkTextBuffer level.
733
734         * gtk/gtkwidget.c (gtk_widget_class_init): add binding set, add
735         popup_menu run action signal and Shift+F10 and Menu keybindings.
736
737         * gtk/gtkentry.c: implement a default handler for popup_menu
738
739         * gtk/gtktextview.c: implement a default handler for popup_menu
740
741         * gtk/gtkmenu.c (gtk_menu_popup): select first item if popup is
742         from a key event
743         
744         * gtk/gtklabel.c: remove "trailer" cruft
745
746 Wed Mar 28 17:27:12 2001  Jonathan Blandford  <jrb@redhat.com>
747
748         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): new function to
749         handle reordering of trees.  Seems to mostly work w/ the exception
750         of the parity flag.
751
752         * gtk/gtktreeview.c (gtk_tree_view_reordered): handle "reordered"
753         signal.
754
755 Wed Mar 28 21:12:37 2001  Tim Janik  <timj@gtk.org>
756
757         * gtk/gtkwidget.h: c++ fixes.
758
759 Sun Mar 25 15:51:28 2001  Owen Taylor  <otaylor@redhat.com>
760
761         * gtk/gtksettings.c (gtk_settings_init): Fix use of uninitialized
762         memory.
763
764 Tue Mar 27 22:36:07 2001  Owen Taylor  <otaylor@redhat.com>
765
766         * gtk/gtkwidget.h gtk/gtkrange.h: Apply patch from 
767         Nils Barth fixing event return values. (#51041)
768
769         * gtk/gtkwidget.c: Fix some return values for default
770         functions.
771
772         * gtk/gtk[vh]scrollbar.c gtk/gtk[vh]range.c: Fix
773         return values for trough_keys functions.
774
775         * gtk/gtkwidget.h (struct _GtkWidgetClass): Fix return
776         value for add_accelerator (shoudl have been a void
777         return.)
778
779         * gtk/gtkcellrenderer.[ch]: gtkcellrenderertoggle.h:
780         Fix return type of EVENT.
781
782         * gtk/gtkmarshal.list gtk/gtktexttag.c: Make EVENT
783         signal return a boolean.
784
785 Tue Mar 27 22:07:44 2001  Jonathan Blandford  <jrb@redhat.com>
786
787         * gtk/gtkliststore.c (gtk_list_store_sort): Fix arguments to
788         reordered signal.
789
790         * tests/testtreesort.c (main): fix spelling.
791
792 Tue Mar 27 20:55:29 2001  Jonathan Blandford  <jrb@redhat.com>
793
794         * gtk/gtkliststore.c: More work on implementing sortable
795         interface.
796
797 Mon Mar 26 15:48:45 2001  Owen Taylor  <otaylor@redhat.com>
798
799         * gtk/gtkwindow.c (gtk_window_list_toplevels): Don't
800         reference the widgets in the resulting list. (#11821)
801         This makes this consistent with gtk_container_children.
802
803         * gtk/gtkwindow.c gtk/gtkwidget.c: Fix up the two
804         uses of gtk_window_list_toplevels.
805
806 Mon Mar 26 15:26:17 2001  Owen Taylor  <otaylor@redhat.com>
807
808         * gtk/gtkimcontext.c (gtk_im_context_set_use_preedit): Add
809         a virtual function to set whether the IM context should use 
810         the preedit string. (#51922)
811         
812 Mon Mar 26 14:42:59 2001  Owen Taylor  <otaylor@redhat.com>
813
814         * gdk/gdkpango.h: Remove stale FIXME comment.
815
816 2001-03-26  Alexander Larsson  <alla@lysator.liu.se>
817
818         * gtk/gtkfilesel.c (gtk_file_selection_get_filename):
819         Fixed bug that returned NULL if a filename was selected.
820
821 2001-03-24  Havoc Pennington  <hp@pobox.com>
822
823         * gtk/gtkthemes.c (gtk_theme_engine_load): improve error message
824         to contain the word "theme"
825
826 2001-03-24  Havoc Pennington  <hp@pobox.com>
827
828         * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much
829         slower but finer-grained
830         (gtk_hsv_focus): get initial focus on the ring or triangle 
831         according to tab direction
832
833         * gtk/testgtk.c (main): get rid of weird sleep(1) on exit
834
835 2001-03-23  Havoc Pennington  <hp@pobox.com>
836
837         * gtk/gtkhsv.c: make this somewhat key-navigable
838
839         * gtk/gtkfontsel.c: mnemonics
840
841         * gtk/gtkgamma.c: mnemonics
842
843         * gtk/gtkcolorsel.c: add mnemonics to labels
844
845 2001-03-22  Havoc Pennington  <hp@pobox.com>
846
847         Applied big patch from Seth Lytle to fix event handler return
848         values, slightly modified.
849
850         * gtk/gtkcalendar.c (gtk_calendar_button_press): return TRUE if
851         handled.
852         (gtk_calendar_key_press): return TRUE for GDK_space triggers
853         select_day
854
855         * gtk/gtkclist.c (gtk_clist_button_press): return TRUE if handled
856         (gtk_clist_button_release): return TRUE if handled
857
858         * gtk/gtkcolorsel.c (mouse_release):
859         (palette_activate): 
860         (palette_press): 
861         (palette_new): 
862         (mouse_press): 
863         (get_screen_color): 
864         fixed return type (void to gboolean), return TRUE,
865         added GTK_SIGNAL_FUNC cast
866
867         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fixed return type
868         (void to gboolean), and return TRUE
869         (gtk_combo_button_release): changed return value to TRUE after
870         gtk_grab_add on combo->popwin
871
872         * gtk/gtkctree.c (gtk_ctree_button_press): return TRUE if triggers a
873         collapse or expand
874
875         * gtk/gtkcurve.c (gtk_curve_graph_events): return TRUE for
876         button/motion
877
878         * gtk/gtkdnd.c (gtk_drag_source_event_cb): return TRUE for button
879         press/release and motion that trigger act
880
881         * gtk/gtkentry.c (gtk_entry_button_release): return TRUE
882
883         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): return TRUE
884         for GDK_Return
885         
886         * gtk/gtklist.c (gtk_list_button_press): return TRUE mostly
887         (gtk_list_button_release): return TRUE if selection
888
889         * gtk/gtklistitem.c (gtk_list_item_button_press): return TRUE on
890         press
891
892         * gtk/gtkmenushell.c (gtk_menu_shell_button_press):
893         (gtk_menu_shell_button_release): chain parent_menu_shell retval
894
895         * gtk/gtknotebook.c (gtk_notebook_button_press): return FALSE if
896         nothing triggered
897         (gtk_notebook_button_release): return TRUE if we do anything
898
899         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): 
900         (gtk_spin_button_button_release): return TRUE or chained retval
901
902         * gtk/gtktext.c (gtk_text_button_press): 
903         (gtk_text_button_release): return TRUE
904         (gtk_text_key_press): remove redundant retval code
905         
906         * gtk/gtktreeitem.c (gtk_tree_item_button_press): return TRUE if button
907         and sensitive
908         (gtk_tree_item_subtree_button_click): changed type to gint, and return
909         TRUE if sensitive
910
911         * gtk/gtktooltips.c (gtk_tooltips_event_handler): deactivate implies 
912         return TRUE
913
914 2001-03-23  Havoc Pennington  <hp@redhat.com>
915
916         * gtk/testgtk.c: fix warnings
917
918         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): fix return value
919
920         * gtk/gtktextview.c: fix warnings
921
922         * gtk/gtktext.c (find_cursor_at_line): fix warning
923
924         * gtk/gtkselection.c (gtk_selection_notify): fix warning 
925
926         * gtk/gtkitemfactory.c (gtk_item_factory_menu_pos): fix signature
927         of this function
928
929         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
930         fix warning
931
932         * gtk/gtkhandlebox.c (gtk_handle_box_style_set): fix warning
933
934         * gtk/gtkfontsel.c: fix warning
935
936         * gtk/gtkcolorsel.c: fix warnings
937
938 2001-03-23  Havoc Pennington  <hp@redhat.com>
939
940         * gtk/gtkhandlebox.c: Apply property patch from Lee Mallabone
941
942         * gtk/gtkbox.c: Apply property patch from Lee Mallabone
943
944         * gtk/gtkcheckmenuitem.c: Apply property patch from Lee Mallabone,
945         and deprecated gtk_check_menu_item_set_show_toggle().
946         
947         * gtk/gtkbutton.c: Apply property patch from Lee Mallabone
948
949         * gtk/gtkfilesel.c: Apply property patch from Lee Mallabone
950
951         * gtk/gtkframe.c: Apply property patch from Lee Mallabone
952
953 2001-03-23  Havoc Pennington  <hp@redhat.com>
954
955         * gtk/gtktoolbar.c, gtk/gtkimcontext.c, gtk/gtklabel.c: fix up
956         some docs
957
958 Fri Mar 23 16:13:43 2001  Jonathan Blandford  <jrb@redhat.com>
959
960         * gtk/gtktreeviewcolumn.h (GtkCellDataFunc): Forgot to namespace
961         this.
962
963         * gtk/gtktreestore.c (gtk_tree_store_set_value): change from
964         set_cell to set_value
965
966         * gtk/gtkliststore.c (gtk_list_store_set_value): change from
967         set_cell to set_value
968
969 Thu Mar 22 19:27:34 2001  Jonathan Blandford  <jrb@redhat.com>
970
971         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
972         fix braino.
973         * gtk/gtktreesortable.[ch]: New interface to add cleanup sortable
974         support.
975
976         * gtk/gtktreeview.c: Addition of initial sortable support.
977
978         * gtk/gtktreestore.c: Addition of initial sortable support.
979
980         * gtk/gtkliststore.c: Addition of initial sortable support.
981
982         * gtk/gtkmarshal.list: yet another marshaller.
983
984         * gtk/gtktreedatallist.[ch]: shared code between the store models
985         for handling sorting headers.
986
987 2001-03-22  Havoc Pennington  <hp@redhat.com>
988
989         * gtk/gtkcontainer.c (gtk_container_set_focus_chain): 
990         (gtk_container_unset_focus_chain): Add ability to override the 
991         focus chain for a container explicitly
992
993 Thu Mar 22 13:01:44 2001  Tim Janik  <timj@gtk.org>
994
995         * gtk/gtklabel.[hc]: some cleanups, fixed mnemonic_widget handling,
996         added PROP_MNEMONIC_WIDGET.
997
998         * gtk/gtkwindow.c (gtk_window_activate_mnemonic): 
999         (gtk_window_remove_mnemonic): 
1000         (gtk_window_add_mnemonic): fixed assertions.
1001         (gtk_window_activate_mnemonic): constrain modifier checks to those
1002         permitted by gtk_accelerator_get_default_mod_mask().
1003         got rid of gtk_window_get_default_accel_group().
1004
1005         * gtk/gtkwidget.c (gtk_widget_real_activate_mnemonic): handle non
1006         activatable widgets either by focussing or a warning.
1007         added a signal accumulator to ::activate_mnemonic which stops the
1008         emission once a handler returned TRUE.
1009
1010 2001-03-22  Havoc Pennington  <hp@pobox.com>
1011
1012         * gtk/gtktoolbar.c (gtk_toolbar_insert_stock): handle mnemonics in
1013         the stock item label
1014
1015         * gtk/gtklabel.c: s/@gtk_func/gtk_func()/ in docs
1016
1017         * gtk/gtkstock.c (builtin_items): add mnemonics where missing
1018
1019         * demos/gtk-demo/*.c: Add mnemonics all over the place
1020
1021         * gtk/gtklabel.h: mark parse_uline deprecated
1022
1023 2001-03-21  Alexander Larsson  <alexl@redhat.com>
1024
1025         * gtk/gtkitemfactory.[ch]:
1026         Add support for stock and normal imagemenuitems.
1027         
1028         * gtk/testgtk.c:
1029         Add some tests for mnemonics, stock toolbars, stock
1030         and image menuitems in itemfactory and gdk_window_scroll.
1031
1032 2001-03-21  Alexander Larsson  <alexl@redhat.com>
1033
1034         * gtk/gtkbutton.[ch]:
1035         * gtk/gtkdialog.c:
1036         Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and
1037         removed accel_group argument. Renamed gtk_button_new_accel() to
1038         gtk_button_new_with_mnemonic() and removed accel_group argument.
1039
1040         * gtk/gtkcheckbutton.[ch]:
1041         New function gtk_check_button_new_with_mnemonic().
1042
1043         * gtk/gtkentry.c:
1044         Override activate_mnemonic and just grab focus.
1045
1046         * gtk/gtkitemfactory.c:
1047         Don't add menu uline accel group, instead use mnemonics support.
1048
1049         * gtk/gtklabel.[ch]:
1050         New support for mnemonics.
1051
1052         * gtk/gtkmarshal.list:
1053         Needed BOOLEAN:BOOLEAN for activate_mnemonic.
1054
1055         * gtk/gtkmenu.[c]:
1056         * gtkmenushell.c:
1057         Use mnemonics instead of accel groups for uline
1058         support in menu items.
1059         Removed gtk_menu_get_uline_accel_group() and
1060         gtk_menu_ensure_uline_accel_group().
1061
1062         * gtk/gtkmenuitem.c:
1063         Override activate_mnemonic to handle switching between
1064         menu items if there are collisions.
1065         
1066         * gtk/gtknotebook.c:
1067         Connect to activate_mnemonic on the tab_label, so that
1068         activating it switches to that notebook page.
1069
1070         * gtk/gtkwidget.[ch]:
1071         Add activate_mnemonic signal. New function
1072         gtk_widget_activate_mnemonic() to emit it.
1073         Default implementation does activate/grab_focus.
1074
1075         * gtk/gtkwindow.[ch]:
1076         Add support for mnemonics in windows.
1077         New functions:
1078         gtk_window_add_mnemonic, gtk_window_remove_mnemonic,
1079         gtk_window_activate_mnemonic, gtk_window_set_mnemonic_modifier
1080
1081         * gtk/testgtk.c:
1082         Update to function name changes.
1083         
1084 2001-03-21  Alexander Larsson  <alexl@redhat.com>
1085
1086         * gtk/gtkimagemenuitem.[c]:
1087         Add gtk_image_menu_item_new_from_stock()
1088
1089 Tue Mar 20 15:00:43 2001  Jonathan Blandford  <jrb@redhat.com>
1090
1091         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
1092         Fix buglet in meeting.
1093
1094 2001-03-19  Havoc Pennington  <hp@redhat.com>
1095
1096         * gtk/gtkiconfactory.c: Make GtkIconSource an opaque datatype, and
1097         add a bunch of accessor functions. This is because we have
1098         reasonable expectations of extending what fields it contains in
1099         the future.
1100
1101         * gtk/gtkstyle.c (gtk_default_render_icon): adapt to icon source
1102         changes
1103
1104         * gtk/gtkrc.c (gtk_rc_parse_icon_source): fix to use new
1105         GtkIconSource   
1106
1107 Mon Mar 19 15:53:36 2001  Owen Taylor  <otaylor@redhat.com>
1108
1109         * gtk/gtkitemfactory.c gtk/testgtk.c: Handle quoting of / with \; properly
1110         handle __ in paths, quote " and \n in gtk_item_factory_dump_items().
1111
1112         * gtk/gtkadjustment.[ch] gtk/gtkclist.c gtk/gtkhruler.c gtk/gtklayout.c 
1113           gtk/gtklist.c gtk/gtkprogress.[ch] gtk/gtkprogressbar.[ch] gtk/gtkrange.[ch]
1114           gtk/gtkruler.[ch] gtk/gtkscale.c gtk/gtkscrolledwindow.c gtk/gtkspinbutton.[ch]
1115           gtk/gtktext.c gtk/gtktextview.c gtk/gtkvruler.c gtk/testgtk.c:
1116         Change float to double everywhere with the exception of 0<->1.0 alignment
1117         and GtkCurve.
1118
1119 2001-03-19  Tor Lillqvist  <tml@iki.fi>
1120
1121         * gdk/win32/gdkdrawable-win32.c
1122         * gdk/win32/gdkimage-win32.c: Use correct casts in debugging
1123         output.
1124
1125         * demos/testpixbuf-drawable.c: If GDK_WINDOWING_WIN32, include
1126         gdkwin32.h.
1127
1128 2001-03-18  Tor Lillqvist  <tml@iki.fi>
1129
1130         * gdk/win32/gdkevents-win32.c (print_window_state): New function.
1131         print_event_state, print_event): Use preprocessor macro to make
1132         code more compact. Print also GDK_WINDOW_STATE events.
1133         (synthesize_crossing_events): Remove the old #ifdeffed-out code.
1134         
1135         * gtk/gtk.def
1136         * gtk/makefile.mingw.in: Update.
1137
1138         * gtk/gtkmain.h: Check for G_PLATFORM_WIN32, not only G_OS_WIN32,
1139         to catch also Cygwin.
1140
1141 Sun Mar 18 01:15:30 2001  Tim Janik  <timj@gtk.org>
1142
1143         * gtk/gtkspinbutton.[hc]: added rc-style argument
1144         GtkSpinButton::shadow_type.
1145         removed spin_button->shadow_type, gtk_spin_button_set_shadow_type()
1146         and ARG_SHADOW_TYPE as it doesn' make much sense to try to override
1147         rc-style settings.
1148
1149         * gtk/gtkfixed.c: removed gtk_fixed_paint() (was unused).
1150
1151         * gtk/gtkwidget.c: quark cleanups.
1152
1153         * gtk/gtkrc.[hc]: added gtk_rc_scanner_new() to create an rc-file
1154         scanner with appropriate configuration, renamed GtkRcStyleClass.clone
1155         to create_rc_style() (we don't do cloning in standard OO sense).
1156         added per rc style properties.
1157         
1158         * gtk/gtkstyle.[hc]: added code to retrive pspec conformant rc-style
1159         property values and for caching those. some cleanups.
1160         
1161         * gtk/Makefile.am: -DG_DISABLE_CONST_RETURNS.
1162         
1163         * gtk/gtksettings.[hc]: new file for global rc-file properties
1164         (at least currently, should get extended to support X properties
1165         and other communication mechanisms).
1166         
1167         * gtk/gtkwidget.[hc]: added style property support:
1168         (gtk_widget_class_install_style_property_parser): install style
1169         property pspec with parser function for rc-file values other
1170         than LONG, DOUBLE or STRING.
1171         (gtk_widget_class_install_style_property): same as above without
1172         parser (parsers are going to be needed quite infrequently).
1173         (gtk_widget_style_get_property): retrive style property value.
1174         (gtk_widget_style_get_valist): same as above with varargs support,
1175         has NOCOPY semantics.
1176         (gtk_widget_style_get): wrapper around gtk_widget_style_get_valist().
1177
1178 Fri Mar 16 18:24:53 2001  Jonathan Blandford  <jrb@redhat.com>
1179
1180         * demos/gtk-demo/main.c (row_activated_cb): modified to use
1181         "row_activated" signal.
1182
1183         * gtk/gtktreeview.c (gtk_tree_view_row_activated): oh, the
1184         stupidity.  Lets actually pass in the row with this signal...
1185
1186 Fri Mar 16 18:01:17 2001  Jonathan Blandford  <jrb@redhat.com>
1187
1188         * gtk/gtktreeviewcolumn.[ch]: s/GTK_TREE_COLUMN/GTK_TREE_VIEW_COLUMN
1189
1190         * gtk/gtktreeview.c (gtk_tree_view_row_activated): New signal.
1191
1192         * gtk/gtktreeview.c (gtk_tree_view_destroy): moved pretty much
1193         everything into the ::destroy function, and freed a lot more.
1194
1195 2001-03-16  Havoc Pennington  <hp@redhat.com>
1196
1197         * gtk/gtkwidget.h (struct _GtkWidgetAuxInfo): change to use gint
1198         instead of gint16, to avoid overflow issues, since sizes > 16-bit
1199         are now allowed.
1200
1201 2001-03-16  Havoc Pennington  <hp@redhat.com>
1202
1203         * Applied patch from Nils Barth (bug # 51041) to 
1204         replace "gint" with "gboolean" and 0/1 with TRUE/FALSE
1205         in various places.
1206
1207 2001-03-15  Havoc Pennington  <hp@redhat.com>
1208         
1209         * gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): add varargs 
1210         for properties to set on the tag.
1211
1212         * gtk/testtext.c: fixups to reflect create_tag change
1213         
1214         * gtk/gtktexttag.c (gtk_text_tag_set_property):
1215         background/foreground stipple are objects, not boxed.
1216
1217         * demos/gtk-demo/textview.c: intellihancing
1218
1219 Fri Mar 16 11:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
1220
1221         * gtk/gtktreeview.c (gtk_tree_view_set_model): Fixed some
1222         braindeadness spotted by Jamie Strachan <frostfreek@yahoo.com>.
1223
1224 2001-03-16  Alexander Larsson  <alexl@redhat.com>
1225
1226         * gdk/x11/gdkgeometry-x11.c (_gdk_window_process_expose):
1227         Fix sign error with queued region translations.
1228
1229 2001-03-15  HideToshi Tajima  <tajima@happy>
1230
1231         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_set_cursor_location): 
1232         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_location):
1233         * gtk/gtkentry.c (update_im_cursor_location): 
1234         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_location):
1235         * gtk/gtkimcontext.h (struct _GtkIMContextClass): rename
1236         set_cursor_pos to set_cursor_location in GtkInputContext class
1237
1238 Thu Mar 15 18:22:44 2001  Jonathan Blandford  <jrb@redhat.com>
1239
1240         * gtk/gtkcellrenderer.h: Changed prototype to allow for getting
1241         the location of the cell relative to its area.
1242         * gtk/gtkcell*: modified for above change
1243         * gtk/gtktreeview.c: modified for above change.
1244
1245 Wed Mar 14 13:58:32 2001  Jonathan Blandford  <jrb@redhat.com>
1246
1247         * gtk/gtktreeview.c (gtk_tree_view_set_model): Ref the model.
1248          (gtk_tree_view_finalize): actually unref the model.  Thanks to
1249         Jamie Strachan <frostfreek@yahoo.com> for noticing this error.
1250
1251 2001-03-14  Havoc Pennington  <hp@redhat.com>
1252
1253         * gtk/gtkdata.h, gtk/gtkdata.c: Delete.
1254         
1255         * gtk/gtk.h: remove gtkdata.h
1256
1257         * gtk/Makefile.am: remove gtkdata
1258         
1259         * gtk/gtktext.c (gtk_text_set_adjustments): connect to "destroy"
1260         not "disconnect" on the adjustments.
1261         
1262         * gtk/gtktooltips.h, gtk/gtktooltips.c: derive from GtkObject not
1263         GtkData
1264
1265         * gtk/gtkadjustment.h, gtk/gtkadjustment.c: derive from GtkObject
1266         not GtkData
1267
1268         * configure.in: handle case where X render exists, but Pango lacks
1269         Xft support.
1270
1271 2001-03-15 Alexander Larsson  <alexl@redhat.com>
1272
1273         * gtk/gtktoolbar.[ch]:
1274         New functions gtk_toolbar_set_icon_size and gtk_toolbar_insert_stock
1275         to add stock items to toolbars.
1276
1277         * gtk/Makefile.am:
1278         Remove ../gdk/gdkim.h from gdk_headers.
1279
1280 2001-03-15  Sven Neumann  <sven@gimp.org>
1281
1282         * gdk/gdkim.h: removed
1283         
1284         * gdk/gdkprivate.h
1285         * gdk/x11/gdkim-x11.c: do not include gdkim.h 
1286
1287 2001-03-14  HideToshi Tajima  <tajima@happy.sunsoft.eng.sun.com>
1288
1289         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos):
1290         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos):
1291         * gtk/gtkimcontext.h (struct _GtkIMContextClass): add
1292         set_cursor_pos() virtual method
1293
1294         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init):
1295         (gtk_im_context_xim_set_cursor_pos): add implementation for
1296         set_cursor_pos() method
1297
1298         * gtk/gtkentry.c (recompute_idle_func): set current cursor
1299         position to input methods
1300
1301 Mon Mar 12 21:02:08 2001  Jonathan Blandford  <jrb@redhat.com>
1302
1303         * gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus
1304         code a lot.
1305
1306         * gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use
1307         g_mem_chunk.
1308         (_gtk_tree_data_list_alloc): use g_mem_chunk.
1309         (_gtk_tree_data_list_node_to_value): Fix to switch on
1310         G_TYPE_FUNDAMENTAL.
1311         (_gtk_tree_data_list_value_to_node): Fix to switch on
1312         G_TYPE_FUNDAMENTAL.
1313         (_gtk_tree_data_list_node_copy): Fix to switch on
1314         G_TYPE_FUNDAMENTAL.
1315
1316 2001-03-12  Havoc Pennington  <hp@redhat.com>
1317
1318         * gtk/gtkwindow.c (gtk_window_class_init): Patch from John Margaglione 
1319         to convert to new property API. Also, change default_width and
1320         default_height get_property to return 0 as the flag value for
1321         "unset"; -1 is not a valid value for these fields.
1322
1323 2001-03-12  Havoc Pennington  <hp@redhat.com>
1324
1325         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an
1326         enum with registration for icon sizes, instead of strings.
1327
1328         * gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, 
1329         gtkwidget.c: Fix to reflect GtkIconSize
1330         
1331 2001-03-12  Alexander Larsson  <alexl@redhat.com>
1332
1333         Make GtkFB compile and link.
1334         
1335         * gdk/linux-fb/gdkdrawable-fb2.c:
1336         window->mapped to GDK_WINDOW_IS_MAPPED(). 
1337         
1338         * gdk/linux-fb/gdkwindow-fb.c:
1339         window->mapped to GDK_WINDOW_IS_MAPPED(). 
1340         Added gdk_window_shape_combine_region.
1341         Added assorted placeholders for unimplemented new GdkWindow API calls.
1342
1343 2001-03-12  Alexander Larsson  <alexl@redhat.com>
1344
1345         * gtk/gtkfilesel.c:
1346         Add more test when converting filenames from/to utf-8.
1347         Don't allow entering text in the filename entry which isn't allowed in
1348         a filename. Just beep instead.
1349
1350 2001-03-12  Alexander Larsson  <alexl@redhat.com>
1351
1352         * gtk/gtkclist.c:
1353         Scroll using gdk_window_scroll(). Don't wait for exposes.
1354         Move the column headers in an order that makes them flash less.
1355
1356 2001-03-10  Hans Breuer  <hans@breuer.org>
1357
1358         * gdk/gdk.def : updated
1359
1360         * gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
1361         to offseting the clip_mask at the right place
1362
1363         * gdk/win32/gdkwindow-win32.c : don't create background brushes
1364         for all the gdkClasses, especially not for the input_only case.
1365         Otherwise flickering wont be avoidable, because we don't get
1366         WM_ERASEBKGND message for these windows.
1367
1368         * gdk/win32/gdkevents-win32.c : initialize event->expose.region
1369         and fixed massive redraw problems apparently triggered by Alexanders 
1370         recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
1371         but it seems to work quite well :-)
1372
1373         * gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose
1374         prototype
1375
1376 Sat Mar 10 12:15:31 2001  Jonathan Blandford  <jrb@redhat.com>
1377
1378         * gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
1379         (gtk_list_store_set_cell): Fix a stupid typo.
1380
1381 Fri Mar  9 20:36:21 2001  Jonathan Blandford  <jrb@redhat.com>
1382
1383         * gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
1384         select_all not work if you're in SINGLE mode (it doesn't make that
1385         much sense, anyway.)
1386
1387         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
1388         handle types more sanely.
1389         (_gtk_tree_data_list_value_to_node): handle types more sanely.
1390         (_gtk_tree_data_list_node_copy): handle types more sanely.
1391
1392         * gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
1393         GValue better. Converts the type as well.
1394
1395         * gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
1396         GValue better. Converts the type as well.
1397
1398 Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
1399
1400         * gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
1401         gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c 
1402         gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
1403         gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
1404
1405         * gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
1406         gdk_im/gdk_ic.
1407
1408 2001-03-09  Hans Breuer  <hans@breuer.org>
1409
1410         * gdk/gdk.def : updated
1411
1412         * gdk/win32/gdkevents-win32.c : don't ask input_only windows
1413         for their palette
1414
1415         * gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
1416         removing
1417
1418         * gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
1419         removing and implemented Havoc's GdkWindow state functions; 
1420         stick/unstick only as no-op, cause I don't know how to emulate 
1421         on win32 ...
1422
1423         * gtk/gtk.def : updated
1424
1425         * gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
1426
1427         * gtk/gtktypeutils.c : #include <string.h>
1428
1429         * gtk/gtkwindow.h : declare gtk_window_set_decorated ()
1430
1431 Fri Mar  9 09:31:55 2001  Tim Janik  <timj@gtk.org>
1432
1433         * gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with
1434         GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object,
1435         not a boxed.
1436
1437 2001-03-09  Alexander Larsson  <alexl@redhat.com>
1438
1439         * docs/Changes-2.0.txt:
1440         Document expose event->region change and that gtk_widget_event
1441         doesn't allow passing expose events.
1442
1443         * gdk/gdkevents.h:
1444         Add region to expose event.
1445         
1446         * gdk/gdkevents.c:
1447         Handle event->region in gdk_event_copy() and gdk_event_free().
1448
1449         * gdk/gdkwindow.c (gdk_window_process_updates_internal):
1450         Generate expose_event->region when creating expose events.
1451
1452         * gdk/x11/gdkevents-x11.c:
1453         Generate expose events with regions when translating X events.
1454
1455         * gtk/gtkcontainer.[ch]:
1456         Default expose handler that propagates expose events to NO_WINDOW
1457         children. New function gtk_container_propagate_expose()
1458
1459         * gtk/gtkwidget.[ch]:
1460         Moved gtk_widget_event implementation to gtk_widget_event_internal.
1461         gtk_widget_event calls gtk_widget_event_internal but doesn't allow
1462         expose events. New function gtk_widget_send_expose() to send expose
1463         events. New function gtk_widget_region_intersect() to calculate
1464         window/region intersections.
1465         
1466         * gtk/gtkmain.c (gtk_main_do_event):
1467         Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
1468         Use gtk_widget_send_expose() to send expose events.
1469         
1470         * gtk/gtkbin.c:
1471         * gtk/gtkbox.c:
1472         * gtk/gtkfixed.c:
1473         * gtk/gtkimagemenuitem.c:
1474         * gtk/gtklist.c:
1475         * gtk/gtkpacker.c:
1476         * gtk/gtktable.c:
1477         * gtk/gtktree.c:
1478         Remove expose handler, using the default container implementation
1479         instead.
1480         
1481         * gtk/gtkbutton.c:
1482         * gtk/gtkcheckbutton.c:
1483         * gtk/gtkeventbox.c:
1484         * gtk/gtkfixed.c:
1485         * gtk/gtkhandlebox.c:
1486         * gtk/gtklayout.c:
1487         * gtk/gtklistitem.c:
1488         * gtk/gtkmenu.c:
1489         * gtk/gtkmenubar.c:
1490         * gtk/gtkmenuitem.c:
1491         * gtk/gtknotebook.c:
1492         * gtk/gtkoptionmenu.c:
1493         * gtk/gtkpaned.c:
1494         * gtk/gtkscrolledwindow.c:
1495         * gtk/gtktogglebutton.c:
1496         * gtk/gtktoolbar.c:
1497         * gtk/gtktreeitem.c:
1498         * gtk/gtkviewport.c:
1499         Chain expose handler to parent class handler. Use
1500         gtk_container_propagate_expose() to propagate exposes.
1501
1502         * gtk/gtkclist.c (check_exposures):
1503         * gtk/gtktext.c (process_exposes):
1504         Use gtk_widget_send_expose instead of gtk_widget_event.
1505
1506 Thu Mar  8 19:40:28 2001  Jonathan Blandford  <jrb@redhat.com>
1507
1508         * gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function.
1509
1510 Thu Mar  8 19:18:27 2001  Jonathan Blandford  <jrb@redhat.com>
1511
1512         * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually
1513         unref the nodes.   Fixes bug #50058.
1514
1515         * gtk/gtktreemodel.c (gtk_tree_model_ref_node): change
1516         "::ref_iter" to "::ref_node".
1517         (gtk_tree_model_unref_node): change "::unref_iter" to
1518         "::unref_node". Fixes bug #50064.
1519
1520 Thu Mar  8 17:40:09 2001  Jonathan Blandford  <jrb@redhat.com>
1521
1522         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add
1523         support for invisible cells.
1524          (gtk_tree_view_bin_expose): ditto
1525
1526 Thu Mar  8 16:36:00 2001  Jonathan Blandford  <jrb@redhat.com>
1527
1528         * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
1529         on gobjects.
1530
1531         * tests/testtreefocus.c (main): New test file.
1532
1533         * tests/testtreeview.c: update to latest glib changes.
1534
1535         * tests/testtreecolumns.c: update to latest glib changes.
1536
1537 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
1538
1539         * gtk/testgtk.c: re-enabled event watcher emission hooks.
1540
1541 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
1542
1543         * *.c: added accumulator data argument to g_signal_newc()
1544         functions.
1545
1546         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
1547         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
1548         * gtk/treestoretest.c (make_window):
1549         s/g_signal_connect/g_signal_connectc/.
1550
1551         * gtk/gtktextbuffer.c: completed signal arg fixups,
1552         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
1553
1554 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
1555
1556         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
1557         G_CONST_RETURN.
1558
1559         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
1560         ::hierarchy-changed signal when a widget changes
1561         from anchored to unanchored or vice versa.
1562         (anchored means 
1563          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
1564         Use a private flag to keep track of this efficiently.
1565
1566 2001-03-07  Havoc Pennington  <hp@redhat.com>
1567
1568         * gtk/testgtk.c (create_spins): uglify so that size request gets
1569         tested.
1570
1571         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
1572         request on values for upper/lower, completes #6152
1573
1574 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
1575
1576         * Makefile.am: Remove gtk-config-2.0 again.
1577         (Grrrr, pkg-config. And stops make loops.)
1578
1579 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
1580
1581         * gtk/gtksignal.[hc]: removed old emission hook API.
1582         
1583         * docs/Changes-2.0.txt: fixed sections.
1584         
1585         * gtk/gtktextbuffer.c: signal arg fixups.
1586
1587 2001-03-07  Havoc Pennington  <hp@redhat.com>
1588
1589         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
1590
1591         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
1592         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
1593         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
1594         validation and the redraw which is higher priority than the
1595         validation.
1596
1597 2001-03-07  Havoc Pennington  <hp@redhat.com>
1598
1599         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
1600         (gtk_entry_set_property): remove trailer
1601
1602         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
1603         (gtk_entry_get_width_chars): new functions, to set size request to 
1604         a given number of characters
1605
1606         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
1607
1608         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
1609         (gtk_dialog_get_has_separator): new function
1610         (run_delete_handler): fix to not emit "response" signal
1611         because we already did in the delete event handler installed
1612         at dialog creation time.
1613         
1614         * gtk/gtkdialog.h: add a has_separator property,
1615         add GTK_DIALOG_NO_SEPARATOR flag
1616
1617 2001-03-07  Havoc Pennington  <hp@redhat.com>
1618
1619         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
1620         off decorations for a window.
1621
1622         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
1623         changes
1624
1625         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
1626         to get location of PangoLayout inside the label, closes #51198
1627
1628         * gtk/testgtk.c (create_bbox): fix up button box usage
1629
1630         * gtk/testcalendar.c (create_calendar): fix up button box usage
1631
1632         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
1633
1634         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
1635
1636         * gtk/gtkhbbox.h: deprecations
1637
1638         * gtk/gtkvbbox.h: deprecations
1639
1640         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
1641         emulate deprecated gtk_button_box_get_spacing
1642
1643         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
1644         the "set global default" functions
1645         (struct _GtkButtonBox): remove "spacing" field, use the one from 
1646         GtkBox base class
1647
1648         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
1649
1650         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
1651         render the icon, return the missing image icon.
1652
1653         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
1654         image icon if the load fails.   
1655
1656         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
1657         when no image is found; should be the Netscape "missing image"
1658         icon eventually but for now is a random image
1659
1660         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
1661         role for the session manager
1662
1663         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
1664
1665         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
1666         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
1667
1668         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
1669
1670 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
1671
1672         * gtk/*.c: marshaller fixes.
1673         
1674         * gtk/gtkmarshal.list: extreme cleanup.
1675
1676         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
1677         param spec for now.
1678
1679         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
1680         where appliable.
1681
1682         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
1683         special cased autogenerated boxed types from gtktypebuiltins_ids.c
1684         which are not reference counted:
1685         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
1686         PangoFontDescription, GtkTreeIter and GtkTreePath.
1687
1688 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
1689
1690         * gtk/gtktreeselection.h: 
1691         * gtk/gtktreemodel.c:
1692         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
1693         file should be included directly, and gobject/gmarshal.h
1694         as well as gtk/gtkmarshal.h even can't be included directly.
1695
1696         * Makefile.am: grr, install gtk-config-2.0.
1697
1698         * gtk/testgtk.c:
1699         * gtk/simple.c:
1700         * gtk/gtkmenu.c:
1701         * gtk/gtkitemfactory.c: use g_object_connect() instead of
1702         passing "*signal*::*" args to gtk_widget_set().
1703         
1704         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
1705         
1706         * gtk/*.c: removed trailer arg from property setters and getters.
1707         macro fixups.
1708
1709 2001-03-07  Alexander Larsson  <alexl@redhat.com>
1710
1711         * gtk/gtklabel.c (set_markup): Removed warning
1712
1713 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
1714
1715         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
1716         field to allow you to hide cell renderers.
1717
1718         * gtk/gtkcellrenderer.c: Add support for invisible cells.
1719
1720         * gtk/gtktreeview.c: Add support for invisible cells.
1721
1722 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
1723
1724         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
1725         Add "clicked" signal back to columns.
1726
1727         * ChangeLog: remove conflict markers.
1728
1729 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
1730
1731         * gtk/gtkbutton.c: Add animation of activation by, on 
1732         activate, pressing the button, and adding a timeout that 
1733         releases the button after 250ms or on key release and
1734         emits ::clicked. (#51501)
1735
1736         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
1737         action area, we connect to ::clicked instead of ::activate
1738         so the dialog stays up through the animation.
1739
1740 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
1741
1742         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
1743         check the ignore_enter flag for the menu shell that
1744         the item is actually a child of, not for attached
1745         submenus. (#51536)
1746
1747 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
1748
1749         * gtk/gtkmain.c (gtk_propagate_event): Only do special
1750         special key-press grab handling for widgets within
1751         GtkWindows. Otherwise, fall through to normal case.
1752
1753         This prevents key events being sent twice to GtkInvisible
1754         widgets, which can cause all sorts of mischief.
1755
1756 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
1757
1758         * gtk/gtkmain.c (gtk_propagate_event): When a grab
1759         widget is in effect, give the grab widget a first
1760         crack at KEY_PRESS/RELEASE events. (#424)
1761
1762 2001-03-06  James Henstridge  <james@daa.com.au>
1763
1764         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
1765         offset for the window_state_event to point at window_state_event
1766         rather than no_expose_event.
1767
1768 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
1769
1770         * gtk/gtkimmodule.h: fix busted /* comment */
1771
1772 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
1773
1774         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
1775         object properties.
1776
1777 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
1778
1779         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
1780         add object properties.
1781
1782         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
1783         to add object properties.
1784
1785         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
1786         object properties.
1787
1788         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
1789         add object properties.
1790
1791         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
1792         object properties.
1793
1794 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
1795
1796         * gtk/gtktreemodel.c: renamed "child_toggled" to
1797         "has_child_toggled".
1798
1799         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
1800         handle new signal name.
1801
1802         * gtk/gtktreestore.c: Updated to handle new signal name.
1803         * gtk/gtklisttore.c: Updated to handle new signal name.
1804         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
1805
1806 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1807
1808         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
1809         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
1810
1811 2001-03-05  Michael Natterer  <mitch@gimp.org>
1812
1813         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
1814         pixbuf-engine coincidentially also failed to make one of it's
1815         parent_class pointers static, causing overwriting of GtkLabel's
1816         parent_class pointer in pixbuf_style_class_init().
1817         (Will commit the fix to the pixbuf-engine too).
1818
1819 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1820
1821         * gdk/gdkwindow.h:
1822         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
1823         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
1824         gdk_window_set_icon_list for net wmspec functionality.
1825
1826         * gdk/x11/gdkwindow-x11.c:
1827         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
1828         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
1829         gdk_window_set_icon_list.
1830         Added gdk_wmspec_change_state helper function and used it in the code.
1831         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
1832
1833         * gtk/gtkdialog.c (gtk_dialog_init):
1834         Set GDK_WINDOW_TYPE_HINT_DIALOG.
1835
1836         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
1837         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
1838
1839         * gtk/gtkwindow.c:
1840         new function gtk_window_set_type_hint.
1841         On realize, set type hint and modal hint.
1842
1843         * gtk/gtkwindow.h:
1844         Added type_hint field and gtk_window_set_type_hint.
1845
1846 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1847
1848         * gtk/gtklabel.[ch]:
1849         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
1850         New function gtk_label_get_accel_keyval () to get the underline accelerator
1851         of the label. Setting the label pattern overrides other attributes.
1852
1853 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
1854
1855         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
1856         Added missing initializers to gtk_rc_style_init().
1857
1858 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
1859
1860         * gtk/gtktextview.c: fixed bug #51097 about setting 
1861         gtk_text_view_set_border_window_size() if the widget is 
1862         already realized.
1863
1864 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
1865
1866         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
1867
1868         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
1869         comment. Won't do to have duplicated doc comments between
1870         the platform subdirs.
1871
1872 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
1873
1874         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
1875           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
1876
1877         Detectable auto-repeat - make a repeating key generate
1878         press/press/press/release instead of press/release pairs.
1879
1880         If we have Xkb and XkbSetDectableAutoRepeat supports
1881         that, we do it that way. Otherwise, when we get
1882         a release event, we check ahead with XPending to see
1883         if the next key is a KeyPress with the same keycode
1884         and timestamp. (Not 100% reliable, but pretty close.)
1885           
1886 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
1887         
1888         * gtk/gtkmain.c (gtk_propagate_event): Only do special
1889         special key-press grab handling for widgets within
1890         GtkWindows. Otherwise, fall through to normal case.
1891  
1892         This prevents key events being sent twice to GtkInvisible
1893         widgets, which can cause all sorts of mischief.
1894  
1895 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
1896  
1897         * gtk/gtkmain.c (gtk_propagate_event): When a grab
1898         widget is in effect, give the grab widget a first
1899         crack at KEY_PRESS/RELEASE events. (#424)
1900  
1901 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
1902
1903         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
1904         to extend the selection. (Roughly based on patch
1905         from Jay Cox, #50939)
1906
1907         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
1908         to properly handle previous GDK_BUTTON_PRESS. 
1909         (Patch from Jay Cox, #50938)
1910
1911         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
1912         '\0' back along with the deleted text. (#51148)
1913
1914 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
1915
1916         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
1917         the group when extracting it from the X keyboard event.
1918
1919         * modules/input/Makefile.am modules/input/imipa.c: 
1920         Simple module for entering IPA. (Do we need a 
1921         gtk-stupid-input-tricks CVS module?)
1922
1923 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
1924
1925         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
1926         const.
1927
1928         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
1929
1930         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
1931         is no focus widget for the dialog currently, grab the focus as well
1932         as the default.
1933
1934         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
1935         the action area's children to iterate through, not the
1936         dialog's children.
1937
1938 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
1939
1940         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
1941         Add plug-socket tests. (Won't work worth a darn until I commit
1942         the rest of the plug-socket changes, but no reason these
1943         can't go into CVS now.)
1944
1945 2001-03-02  Havoc Pennington  <hp@redhat.com>
1946
1947         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
1948         _gdk_region_get_xrectangles()
1949
1950         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
1951
1952         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
1953
1954         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
1955         function, contributed by Ron Steinke    
1956
1957         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
1958         gdk_net_wm_supports
1959
1960         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
1961         New function, contributed by Ron Steinke
1962
1963         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
1964         used to line up the text in the entry when using the entry for
1965         editable sheet cell hacks
1966
1967         * gtk/testgtk.c (create_entry): test the activate_default setting
1968         on GtkEntry
1969
1970         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
1971         cause the entry to activate the default button for a dialog when 
1972         activated
1973         (gtk_entry_get_activates_default): new function
1974
1975 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
1976
1977         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
1978         Hwang to move call to sync_selection() up a few lines
1979         to before the row list is modified, to fix crash when
1980         removing rows in the undo_selection list.
1981
1982         (Test case provided by Daniel Elstner:
1983
1984         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
1985
1986 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
1987
1988         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
1989         of tree->root_tree in parent_set rather than _map(), 
1990         fixing #50892 in a bit better manner.
1991
1992 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
1993
1994         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
1995
1996 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
1997
1998         * gtk/gtkstyle.c : Remove duplicate fwd decl for
1999         gtk_default_draw_shadow.
2000
2001 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
2002
2003         * gdk/gdkimage.c (gdk_image_new): Remove excess 
2004         warning, make warnings more verbose, treat a error
2005         in shmat as permanent, and don't try again.
2006         (#51163, Ed Randall.)
2007
2008 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
2009
2010         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
2011         delay for the first click before starting to scroll.
2012         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
2013
2014         * gtk/gtktext.c: GtkText should have I-beam cursor. 
2015         (based on gtk-enf-990513-1.patch, Eric Fisher.)
2016
2017 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
2018
2019         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
2020         cleanup to remove some references to unused
2021         ->xoffset, ->yoffset.
2022
2023 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
2024
2025         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
2026         mask. (#51039, fix from Martin Maierhofer)
2027
2028 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
2029
2030         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
2031         for unshifted + and shifted = for non-us keyboards.
2032         Make <Control>+ and <Control>- work as well as 
2033         <Control>KP_Plus, <Control>KP_Minus for recursive
2034         open/close.  (#2682, René Seindal)
2035
2036 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
2037
2038         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
2039         the active menu item before deactivating the menu,
2040         so gtk_menu_popdown doesn't change the history. (#50964)
2041         
2042 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
2043
2044         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
2045         draw lines with text_gc rather than black_gc.
2046         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
2047
2048 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
2049
2050         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
2051         Move handling of buttons fully in gtktreeviewcolumn.  This code is
2052         less interrelated then it was, but it still requires the
2053         GtkTreeView to map it.
2054
2055         * test/testtreecolumn.c: Now I can add a column to one view,
2056         remove it, add it to the another view, remove it, then re-add it
2057         to the first.  Nifty.
2058
2059 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
2060
2061         * docs/tutorial/gtk-tut.sgml: Minor corrections
2062
2063 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
2064
2065         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
2066         GtkRowReference.
2067
2068 2001-02-28  Havoc Pennington  <hp@redhat.com>
2069
2070         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
2071         draw_default
2072         (gtk_widget_draw_focus): remove this function; we could instead
2073         make it just gtk_widget_draw(), but in most cases I think the
2074         result would be broken user code, so think it's better to have
2075         that code not compile and get fixed
2076         (gtk_widget_draw_default): ditto
2077
2078         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
2079         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
2080         
2081         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
2082         widgets lose/get the default, instead of calling draw_default
2083         
2084         * docs/Changes-2.0.txt: note about all this
2085
2086         Then fixed every widget in GTK, I won't list all the filenames.
2087
2088 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
2089
2090         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
2091         _gtk_tree_row_reference_deleted.
2092         (inserted_callback): Proxy out to
2093         _gtk_tree_row_reference_inserted.
2094         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
2095         get around signal emission ordering problem.
2096
2097         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
2098         fix to work with SINGLE 
2099         (_gtk_tree_selection_internal_select_node): Major sanitization on
2100         selections.  SINGLE now seems to work.
2101
2102         * tests/Makefile.am: add testtreecolumn.c:
2103
2104         * tests/testtreecolumn.c: New test.  Mostly points out selection
2105         bugs currently, but will test columns later.
2106
2107         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
2108         selection bug.  I hate touching this code -- it's scary.
2109
2110 2001-02-26  Havoc Pennington  <hp@redhat.com>
2111
2112         * gtk/testgtk.c: test the window state stuff
2113
2114         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
2115         window come to the user's attention as if it were just created
2116         (gtk_window_iconify): new function
2117         (gtk_window_deiconify): new function
2118         (gtk_window_stick): new function
2119         (gtk_window_unstick): new function
2120         (gtk_window_maximize): new function
2121         (gtk_window_unmaximize): new function
2122
2123         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
2124
2125         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
2126
2127         * gdk/x11/gdkevents-x11.c: create window state events when
2128         appropriate
2129         (gdk_wmspec_supported): new function
2130
2131         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
2132         iconification before showing the window
2133         (gdk_window_deiconify): new function
2134         (gdk_window_stick): new function
2135         (gdk_window_unstick): new function
2136         (gdk_window_maximize): new function
2137         (gdk_window_unmaximize): new function
2138
2139         * gdk/gdkwindow.c: store the window state in the window; 
2140         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
2141         window->mapped.
2142         (gdk_window_get_state): return the current window state
2143
2144         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
2145         (gdk_event_get_state): handle GDK_WINDOW_STATE
2146         (gdk_synthesize_window_state): function to create the window state
2147         events
2148
2149         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
2150         event, for changes to "window state" such as maximized, sticky, 
2151         etc.
2152         
2153         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
2154         focuses a window
2155
2156         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
2157         finds out if we support a given WM spec hint
2158
2159 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
2160
2161         * docs/faq/gtk-faq.sgml: New question re memory leaks.
2162
2163 2001-02-25  Hans Breuer  <hans@breuer.org>
2164
2165         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
2166         cause we want to loose those prototypes only in the latter case
2167
2168         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
2169         GdkPixmapImplWin32 because it itsn't derived from it. Use the
2170         impl member variable instead
2171
2172         * gtk/gtk.def : updated
2173
2174         * gtk/gtklist.c : 
2175         * gtk/gtkmenus.c : include <string.h> for memset ()
2176
2177         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
2178         for everthing built here, but for gtk-x.x.dll only. This solves
2179         problem of indifferent gtk type definitions
2180
2181 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@redhat.com>
2182
2183         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
2184
2185 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
2186
2187         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
2188         column that is exposed.
2189
2190         (_gtk_tree_view_update_size): Changed name from set_size, and
2191         changed function to do more work, and not force people calling it
2192         to figure out the size.  Simplifies a lot of code elsewhere.
2193
2194 2001-02-23  Alexander Larsson  <alexl@redhat.com>
2195
2196         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
2197         return solid masks for xpms that have no transparent color.
2198         This makes the ..._create_from_xpm... API backwards
2199         compatible.
2200
2201 2001-02-23  Tor Lillqvist  <tml@iki.fi>
2202
2203         * README.win32: Update. Mention the gtk-1-3-win32-production
2204         branch.
2205
2206         * gdk/win32/bdfcursor.c: New file. A program that generates
2207         xcursors.h. Thanks to Stefan Ondrejicka.
2208
2209         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
2210         compact format.
2211
2212         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
2213
2214         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
2215         function, uses xcursors.h.
2216         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
2217         cursor from inline data instead of using LoadCursor() to generate
2218         it from a resource.
2219
2220         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
2221         event, must check the Windows message for mouse button state, as
2222         the GDK event state might not have been built if it is
2223         undelivered. Remove one goto.
2224
2225         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
2226         SetCursor() if the current cursor as returned by GetCursor() is
2227         the window's previous cursor. The ChildWindowFromPoint() test
2228         apparently didn't work correctly.
2229
2230         * gdk/win32/rc/*.cur: Remove.
2231
2232         * gdk/win32/rc/gdk.rc.in: Remove cursors.
2233
2234         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
2235
2236         * gtk/makefile.{mingw,msc}.in: Updates.
2237
2238 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
2239
2240         * gtk/gtktreemodel.h: add functions for signal emission.
2241
2242         * gtk/gtktreestore.c: move to use above functions instead of
2243         g_signal_emit.
2244
2245         * gtk/gtkliststore.c: ditto
2246
2247 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
2248
2249         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
2250         GObject instead of GtkObject.
2251
2252         * gtk/gtkliststore.c: ditto.
2253
2254         * gtk/gtktreemodelsort.c: ditto.
2255
2256         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
2257         GtkTreeModelIface, instead of in each model.
2258
2259 2001-02-21  Havoc Pennington  <hp@redhat.com>
2260
2261         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
2262         unbreak this function
2263
2264         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
2265         properties
2266
2267         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
2268         properties
2269
2270         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
2271         properties
2272
2273         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
2274         mean unset the max length
2275
2276 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
2277
2278         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
2279         Changed name to be set_cell_data_func to make it clear what
2280         the functino does.  Close bug #51069.
2281
2282 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
2283
2284         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
2285         have memory actually freed.  Keeps box running longer.
2286
2287 2001-02-21  Alexander Larsson  <alexl@redhat.com>
2288         
2289         * gtk/gtkseparatormenuitem.[ch]:
2290         Added new menu separator item. The drawing and size handling
2291         is still done in GtkMenuItem, but the API is a bit more sane.
2292         
2293         * gtk/Makefile.am:
2294         Add gtkseparatormenuitem.[ch].
2295
2296         * gtk/gtk.h:
2297         Add gtkseparatormenuitem.h.
2298         
2299         * gtk/gtkentry.c:
2300         * gtk/gtkmenufactory.c:
2301         * gtk/gtktextview.c:
2302         Use the new API for menu separators.
2303         
2304         * demos/gtk-demo/menus.c (create_menu):
2305         Add some GtkSeparatorMenuItem demo code.
2306
2307 2001-02-20  Havoc Pennington  <hp@redhat.com>
2308
2309         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
2310         Lee Mallabone
2311
2312         * gtk/gtkarrow.c: Convert to new property API, patch from 
2313         Lee Mallabone
2314
2315 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
2316
2317         * tests/testtreeview.c (toggled_callback): fix to reflect change
2318         in GtkTreeModelStore.
2319
2320 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
2321
2322         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
2323         function to create an icon set from a pixbuf.
2324
2325 2001-02-20  Alexander Larsson  <alexl@redhat.com>
2326
2327         * gtk/gtkcellrenderertext.[ch]:
2328         Add a "markup" property.
2329
2330         * gtk/treestoretest.c:
2331         Use the markup property, remove some leftover stuff from
2332         GtkTreeModelMapping.
2333
2334 2001-02-20  Alexander Larsson  <alexl@redhat.com>
2335
2336         * gtk/gtklabel.c (gtk_label_set_selectable):
2337         Queue a redraw if the selectable setting was changed.
2338
2339 2001-02-20  Alexander Larsson  <alexl@redhat.com>
2340
2341         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
2342         Actually copy the whole gc, not just the public parts.
2343         
2344         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
2345         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
2346         labels.
2347
2348 2001-02-19  Havoc Pennington  <hp@pobox.com>
2349
2350         * gdk/gdkwindow.c: docs
2351
2352         * gdk/gdkrgb.c: docs
2353
2354         * gdk/gdkregion-generic.c: docs
2355
2356         * gdk/gdkgc.c (gdk_gc_set_values): docs
2357
2358         * gdk/gdkdraw.c: docs
2359
2360         * gdk/gdkdrawable.h: deprecate drawable get/set data
2361
2362 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
2363
2364         * demos/gtk-demo/dialog.c: Add simple new demo.
2365
2366 2001-02-19  Havoc Pennington  <hp@redhat.com>
2367
2368         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
2369         insert_child_anchor signal, bug #50245
2370
2371         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
2372         from create_child_anchor, so the anchor is passed in
2373
2374         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
2375         (_gtk_widget_segment_new): have the child anchor object passed in, 
2376         instead of creating it.
2377
2378         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
2379         to gtk_text_buffer_get_modified
2380
2381 2001-02-19  Havoc Pennington  <hp@redhat.com>
2382
2383         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
2384         changed GLib without fixing GTK
2385
2386         * gtk/gtkrange.h: Rename all the stupid implementation detail 
2387         functions to have an underscore in front. Most of them should 
2388         probably just go away, but for starters don't export them.
2389         Bug #50482
2390
2391 2001-02-19  Havoc Pennington  <hp@redhat.com>
2392
2393         * gdk/gdkcolor.h: test was backward, so deprecated functions were
2394         excluded by default
2395
2396         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
2397         clean up the old code a bit
2398
2399         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
2400         inconsistent state
2401
2402         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
2403         draw inconsistent state
2404
2405         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
2406         (create_menu): add inconsistent test
2407
2408         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
2409         new function
2410         (gtk_check_menu_item_get_inconsistent): new function
2411         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
2412         state (using etched in for now)
2413
2414         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
2415         draw inconsistent state
2416
2417         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
2418         function, used when the user has selected a range of stuff in
2419         different states
2420         (gtk_toggle_button_get_inconsistent): accessor for that
2421         (gtk_toggle_button_paint): draw inconsistent state (etched in?
2422         don't know what else to do)
2423
2424 2001-02-19  Hans Breuer <hans@breuer.org>
2425
2426         * gtk/gtk.def : updated exported symbols
2427
2428         * gtk/makefile.msc.in : updated
2429
2430         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
2431         a colormap, when invoked from testgtk::entry. I'm not sure where
2432         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
2433         avoids immediate crashing ...
2434
2435         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
2436         any objections ?
2437
2438         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
2439         0 parameter. At least msvc doesn't like macros with var args. 
2440         I simply removed the extra 0, was it a feature or a typo ?
2441
2442         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
2443         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
2444         because the value assignment to the internal struct wasn't working.
2445         I'm not absolutely sure. The problem could have been resolved by
2446         changing the "func" declartion in the struct, but was the pointer
2447         to the function pointer intended ?
2448
2449         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
2450
2451         * gdk/gdk.def : updated exported symbols
2452
2453         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
2454         only use SetDIBitsToDevice if there is a palette at the drawable
2455         and the image is GDK_VISUAL_PSEUDO_COLOR
2456
2457         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
2458
2459         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
2460
2461         * gdk/*/makefile.msc : updated
2462
2463 2001-02-19  Havoc Pennington  <hp@redhat.com>
2464
2465         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
2466         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
2467
2468         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
2469         (gdk_key_repeat_restore): nuke
2470
2471         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
2472         (gdk_init_check): no atexit func
2473
2474         * gdk/gdkrgb.h: mark some stuff deprecated
2475
2476         * gdk/gdkcolor.h: mark some stuff deprecated
2477         
2478         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
2479
2480         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
2481
2482 2001-02-16  Havoc Pennington  <hp@redhat.com>
2483
2484         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
2485         scroll steps.
2486
2487         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
2488         steps, and add Ctrl-arrow shortcuts for paging visually as with
2489         HScale, since Page Up and Page Down move logically.
2490
2491         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
2492         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
2493         
2494         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
2495         steps
2496         (gtk_range_scroll): handle the visual steps
2497
2498         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
2499         scroll steps
2500
2501         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
2502         steps, not the logical ones.
2503
2504         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
2505         (scroll_vertical): handle up/down steps
2506
2507 2001-02-19 Alexander Larsson  <alexl@redhat.com>
2508
2509         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
2510         Copy data and free data with free().
2511
2512         * gdk-pixbuf/gdk-pixbuf.c:
2513         * gdk-pixbuf/io-jpeg.c:
2514         * gdk-pixbuf/io-png.c:
2515         Use g_try_malloc/g_free instead malloc/free.
2516         
2517         * gdk-pixbuf/test-gdk-pixbuf.c:
2518         Must... initialize... gobject...
2519         
2520         * gdk-pixbuf/pixops/timescale.c:
2521         * gtk/gtkcalendar.c:
2522         Use g_malloc instead of malloc.
2523         
2524 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
2525
2526         * gtk/testgtkrc:
2527         Comment out property assignments, these don't work yet.
2528
2529 2001-02-17  Havoc Pennington  <hp@pobox.com>
2530
2531         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
2532         bit.
2533
2534 2001-02-17  Havoc Pennington  <hp@pobox.com>
2535
2536         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
2537         shadowed variables that had broken size request in some cases,
2538         leading to bogus tooltips (#50996)
2539
2540 2001-02-06  Jon K Hellan  <hellan@acm.org>
2541
2542         Implement fast browsing of tooltips, bug #50619
2543         
2544         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
2545         and last_popdown
2546         
2547         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
2548         use_sticky_delay and last_popdown.
2549         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
2550         time of popdown.
2551         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
2552         is NULL.
2553         (gtk_tooltips_recently_shown): New static function.  Return true
2554         if < sticky_delay has elapsed since last popdown.
2555         (gtk_tooltips_event_handler): Display window after sticky_delay
2556         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
2557         since last popdown.
2558         
2559 2001-02-17  Havoc Pennington  <hp@pobox.com>
2560
2561         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
2562         instead of (). #6394
2563
2564         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
2565         G_CONST_RETURN, make it return by reference, #50473
2566         
2567 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
2568
2569         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
2570         generated ENTER_NOTIFY event with 0, otherwise not explicitely
2571         setup fields contain garbage (e.g. subwindow, breaking
2572         gdk_drawable_ref() upon event copy).
2573         (gtk_menu_stop_navigating_submenu_cb): same here.
2574
2575         * gtk/gtklist.c (gtk_list_vertical_timeout): 
2576         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
2577         * gtk/gtkclist.c (vertical_timeout): 
2578         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
2579         default-zero-intialization for unions to memset(,0,), as unions are
2580         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
2581         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
2582
2583         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
2584         g_closure_sink() warning.
2585
2586         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
2587         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
2588         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
2589         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
2590         
2591 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
2592
2593         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
2594         gtk_*_store_get, and moved to GtkTreeModel.
2595
2596         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
2597
2598         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
2599
2600         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
2601
2602         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
2603         set the func.
2604
2605         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
2606         freeze/thaw notify between setting all the properties for a cell.
2607
2608         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
2609
2610 2001-02-15  Havoc Pennington  <hp@redhat.com>
2611
2612         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
2613         the X coordinates so they're with respect to the line, rather than 
2614         with respect to the layout.
2615
2616         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
2617         Mallabone
2618
2619         * gtk/testgtk.c (create_range_controls): add vscale tests, 
2620         and inverted test
2621
2622         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
2623         #50806
2624
2625         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
2626
2627         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
2628         gtk_text_iter_is_end
2629
2630         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
2631         rename gtk_text_buffer_get_end_iter
2632
2633         * gtk/testgtk.c (create_labels): Add test for selectable
2634
2635         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
2636         the selection stuff. This code is kind of broken since it doesn't 
2637         use the theme engine.
2638
2639         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
2640         fix infinite loop and y offset problem
2641         (gdk_draw_layout_line_with_colors): fix foreground color handling
2642
2643         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
2644         that makes the label selectable.
2645         
2646         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
2647         layout when the style is set, since fonts etc. could have changed.      
2648
2649 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
2650
2651         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
2652
2653         * gtk/gtktreemodelsimple.[ch]: removed.
2654
2655 2001-02-16  Alexander Larsson  <alexl@redhat.com>
2656
2657         * gtk/gtktreemodelmapping.[ch]:
2658         New files. Implement GtkTreeModelMapping.
2659         
2660         * gtk/Makefile.am:
2661         Add gtktreemodelmapping.[ch].
2662         
2663         * gtk/gtk.h:
2664         Add gtktreemodelmapping.h
2665
2666         * gtk/treestoretest.c:
2667         Test the GtkTreeModelMapping
2668
2669 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
2670
2671         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
2672         have a demo, we might as well pass in real values.  Thanks to
2673         clahey for pointing this out.
2674
2675 2001-02-14  Havoc Pennington  <hp@pobox.com>
2676
2677         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
2678         "static" to a private function
2679         (gtk_image_menu_item_class_init): remove destroy handler,
2680         add "image" object property
2681
2682 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
2683
2684         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
2685         Add a shortcut if the window and the current clip_region doesn't
2686         overlap. This is needed when there are a lot of windows in a
2687         window. The layout test in testgtk is a good test.
2688
2689         * gdk/linux-fb/gdkwindow-fb.c:
2690         Whitespace fix.
2691
2692 2001-02-13  Sven Neumann  <sven@convergence.de>
2693
2694         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
2695
2696 2001-02-13  Alexander Larsson  <alexl@redhat.com>
2697
2698         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
2699         Don't reference last_cursor if it is null. Fixes crash when rotating
2700         the screen before having moved the mouse.
2701
2702         * gdk/linux-fb/gdkcc-fb.c: Zapp!
2703
2704         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
2705
2706         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
2707         when using 90 or 270 degrees rotation.
2708
2709 2001-02-12  Havoc Pennington  <hp@pobox.com>
2710
2711         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
2712         it always set the foreground, even if we were only using
2713         a stipple.
2714         (gdk_draw_layout_line_with_colors): new function, allow
2715         override colors
2716         (gdk_draw_layout_with_colors): new function, allow override
2717         colors
2718         (gdk_pango_layout_line_get_clip_region): function to get the clip
2719         region for a logical text range
2720         (gdk_pango_layout_get_clip_region): get the clip region for a
2721         logical text range
2722
2723         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
2724         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
2725         the right number of arguments.
2726
2727         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
2728         enhance the function to check that node data corresponds to a 
2729         view still belonging to the tree.
2730
2731         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
2732         GtkTreePath
2733         (gtk_tree_view_inserted): ditto
2734         (gtk_tree_view_child_toggled): ditto
2735
2736         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
2737         simplify this code.
2738
2739         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
2740         a PangoAttrList
2741
2742         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
2743
2744         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
2745
2746         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
2747         size in the size request 
2748         (gtk_menu_bar_size_allocate): consider toggle size here
2749
2750         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
2751         that displays a widget in the toggle slot
2752
2753         * gtk/testgtk.c: test GtkImageMenuItem
2754
2755         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
2756         
2757         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
2758         request and allocation
2759
2760         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
2761
2762         * gtk/gtkcheckmenuitem.c
2763         (gtk_check_menu_item_toggle_size_request): ditto
2764         
2765 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
2766
2767         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
2768         reference.
2769
2770         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
2771         and refuse to initialize GTK+ if they fail.
2772
2773 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
2774
2775         * configure.in: Add check for gtk-doc version.
2776
2777 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
2778
2779         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
2780         where the xpad/ypad was only being used on one side!
2781
2782 2001-02-11  Tor Lillqvist  <tml@iki.fi>
2783
2784         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
2785         function, copied from X11 version.
2786
2787         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
2788         DestroyCursor failures. The reason for the problem (despite the
2789         inconsistent messages from GetLastError()) was that
2790         DestroyCursor() cannot be called while a cursor is set in a
2791         window. Set the new cursor first and then destroy the old one.
2792         Thanks to jpe@archaeopteryx.com.
2793
2794         * gdk/win32/gdkcc-win32.c: Remove.
2795
2796         * gdk/win32/Makefile.am: Remove from here, too.
2797         
2798         * gdk/gdk.def
2799         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
2800
2801         * gtk/gtk.def
2802         * gtk/makefile.mingw.in: Updates.
2803
2804 2001-02-08  Havoc Pennington  <hp@redhat.com>
2805
2806         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
2807         add a widget to a bin that already has a child.
2808
2809         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
2810
2811         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
2812         
2813         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
2814
2815         * gdk/gdk.h: remove gdkcc.h
2816
2817         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
2818
2819         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
2820         GdkPixbuf, since the previous implementation was GdkColorContext
2821         dependent.
2822
2823         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
2824         
2825 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
2826
2827         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
2828         a sane value!
2829
2830 2001-02-08  Havoc Pennington  <hp@redhat.com>
2831
2832         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
2833         lighten them.
2834
2835 2001-02-08  Havoc Pennington  <hp@redhat.com>
2836
2837         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
2838         validation idle
2839
2840         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
2841         cell renderer
2842
2843         * demos/pixbuf-demo.c (timeout): remove deprecated
2844         gtk_widget_draw
2845
2846         * demos/testpixbuf-save.c (main): remove deprecated
2847         gtk_drawing_area_size
2848
2849         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
2850         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
2851         at the start of the allocation.
2852         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
2853         unsetup or NULL model.
2854
2855         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
2856         even/odd/sorted cells in the tree view.
2857
2858         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
2859         bugfixes
2860
2861         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
2862         backgrounds with draw_flat_box using different detail for even/odd
2863         rows.
2864
2865         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
2866         row, so we can draw the alternating colors thing
2867
2868         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
2869         property from a synonym property, notify for the synonym.
2870         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
2871         (gtk_text_tag_get_property): Always return the font, even if
2872         all its fields aren't set
2873
2874         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
2875         store the attr list; it leaves us with no way to change attributes
2876         in _render according to the render flags, and no way to implement
2877         get_property. Instead store all the specific text attributes. 
2878         Separate whether an attribute is enabled from its value. Sync all
2879         properties with GtkTextTag, make them all consistent, etc.
2880
2881         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
2882         renderers can highlight the sort row/column     
2883
2884         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
2885         accessor functions to get values; this has the side effect of
2886         showing up which accessor functions were missing. Added those.
2887
2888         * gtk/gtktreeviewcolumn.h: Replace set_justification with
2889         set_alignment, to be consistent with GtkLabel, GtkMisc
2890
2891         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
2892         arrow.
2893
2894         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
2895
2896         * gtk/gtktreesortable.h: updates in here
2897
2898 2001-02-07  Sven Neumann  <sven@convergence.de>
2899
2900         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
2901         pango dimensions after painting the background. We used to draw
2902         gigantic flat boxes here.
2903
2904 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
2905
2906         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
2907         error introduced with earlier commit) (pointed out by
2908         Ollie Lho)
2909
2910 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
2911
2912         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
2913         which are no longer necessary.
2914
2915 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
2916
2917         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
2918
2919 2001-02-04  Tor Lillqvist  <tml@iki.fi>
2920
2921         * gdk/gdk.def
2922         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
2923         Provide dummy implementations.
2924
2925 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
2926
2927         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
2928
2929         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
2930         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
2931         deprecated this function.
2932
2933         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
2934         argument.
2935
2936 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
2937
2938         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
2939
2940 2001-02-03  Havoc Pennington  <hp@pobox.com>
2941
2942         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
2943         Mikael Hermansson with patch from Mikael (if there was a toggle
2944         start one after the first character in the range, this function
2945         was broken). Bug #50380
2946
2947 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
2948
2949         * configure.in: Remove confusing comment about X11.
2950
2951 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
2952
2953         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
2954         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
2955         
2956 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
2957
2958         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
2959         it breaks things on BSD. If you want to compile GTK+ with
2960         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
2961         when configuring, since GTK+ simply can't be "pure ANSI" 
2962         in the header files it uses. (#8170, Greg Hudson)
2963
2964 2001-02-02  Havoc Pennington  <hp@redhat.com>
2965
2966         * gtk/gtkwindow.c: docs
2967
2968         * gtk/gtkwidget.c: docs
2969         (gtk_widget_set_colormap): add a reference to the colormap
2970         (gtk_widget_get_default_colormap): add a reference to the colormap
2971
2972         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
2973
2974         * gtk/gtktextiter.c: docs
2975
2976         * gtk/gtkmain.c (gtk_propagate_event): docs
2977
2978         * gtk/gtkpaned.c (gtk_paned_get_position): docs
2979         (gtk_paned_set_position): docs
2980
2981         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
2982         sort interface, no implementation yet.
2983
2984         * demos/testpixbuf.c (new_testrgb_window): replace
2985         gtk_drawing_area_size() with gtk_widget_set_usize()
2986
2987         * demos/testpixbuf-drawable.c (main): ditto
2988         
2989         * gtk/testgtk.c: remove use of GtkStatusbarMsg
2990
2991         * gtk/gtktextbuffer.c: docs
2992
2993         * gtk/gtkstock.c: docs
2994
2995         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
2996
2997         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
2998
2999         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
3000         
3001         * gtk/gtkimage.c: add some docs in here
3002         (gtk_image_size_request): change name of
3003         gtk_widget_render_stock_icon
3004         (gtk_image_get_icon_set): don't dup returned string
3005         (gtk_image_get_icon_set): don't dup returned string
3006
3007         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
3008         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
3009         and gtkiconfactory.h functions
3010
3011         * gtk/gtkiconfactory.c: add some docs in here
3012
3013         * gtk/gtkmain.c (gtk_get_default_language): document
3014         (gtk_get_current_event): document
3015         (gtk_get_current_event_state): document
3016         (gtk_get_event_widget): document
3017
3018         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
3019
3020         * gtk/gtkcontainer.c: Add some documentation
3021         (gtk_container_add): give a more explanatory warning on adding an
3022         already-parented widget, this is kind of a FAQ and also a common
3023         typo that's easier to debug with a nice warning 
3024
3025         * gtk/gtkcellrenderertoggle.c
3026         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
3027         adding this, it's useless
3028         (gtk_cell_renderer_toggle_set_active): remove
3029         (gtk_cell_renderer_toggle_get_radio): add
3030
3031         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
3032         the NULL cell renderer, that doesn't make any sense to me. 
3033
3034         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
3035         demo code should never use deprecated features.
3036
3037         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
3038         code should never use deprecated features.
3039
3040         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
3041         gtk_widget_queue_clear_area deprecated
3042
3043         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
3044         deprecated
3045
3046         * gtk/gtklabel.h: mark gtk_label_get() deprecated
3047
3048         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
3049         a GdkImage deprecated, replaced by new consistently-named
3050         functions       
3051
3052         * gtk/gtkmain.h: Mark gtk_exit() deprecated
3053
3054         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
3055
3056         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
3057         deprecated
3058
3059         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
3060         so it won't appear in docs and confuse people.
3061
3062         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
3063
3064         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
3065         macros deprecated. (can't mark the type itself deprecated, since
3066         GtkProgressBar is not deprecated and we need the type decl to use
3067         GtkProgressBar)
3068
3069         * gtk/gtkpixmap.h: Mark deprecated
3070
3071         * gtk/gtkoldeditable.h: Mark deprecated
3072
3073         * gtk/gtklist.h: Mark deprecated
3074
3075         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
3076         for anything anymore.
3077
3078         * gtk/gtkctree.h: Mark deprecated
3079
3080         * gtk/gtkclist.h: Mark deprecated
3081
3082         * gtk/gtkpreview.h: Mark deprecated
3083
3084         * gtk/gtkpacker.h: Mark deprecated
3085
3086         * gtk/gtktipsquery.h: Mark deprecated
3087
3088         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
3089
3090         * gtk/gtkvruler.h: Add comment that it will move out of GTK
3091
3092         * gtk/gtkhruler.h: Add comment that it will move out of GTK
3093
3094         * gtk/gtkruler.h: Add comment that it will move out of GTK
3095
3096         * gtk/gtkgamma.h: Add comment that it will move out of GTK
3097
3098         * gtk/gtkcurve.h: Add comment that it will move out of GTK
3099
3100 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
3101
3102         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
3103         gdk_colormap_sync private since it was never exported
3104         in a header file.
3105
3106         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
3107         colormap->colors[] for StaticGray, StaticColor colormaps.
3108
3109         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
3110         was being used as if it was image->bits_per_pixel.
3111
3112         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
3113         for the image in the GdkImage structure since it isn't
3114         reconstructable, and we need it to handle packed types
3115
3116         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
3117         the assumption that on Win32 image->bits_per_pixel == image->depth,
3118         always.
3119
3120         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
3121
3122         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
3123         warning message if no converter can be found. 
3124
3125 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
3126
3127         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
3128         chars to isupper() / tolower(). (#567)
3129
3130         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
3131         to clear up 64-bit warnings. (#567)
3132
3133 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
3134
3135         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
3136         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
3137
3138         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
3139         since some people set $(libdir) separately. (#1290, David Kaelbling)
3140
3141 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
3142
3143         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
3144         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
3145         MAXPATHLEN, but the code here depends on a fixed value.)
3146         (#4524)
3147
3148 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
3149
3150         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
3151         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
3152
3153 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
3154
3155         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
3156         viewable there is no way that moving the node will cause the 
3157         focus row to become not viewable, so omit check on the visibility
3158         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
3159
3160 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
3161
3162         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
3163         selection before inserting new text.
3164
3165 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
3166
3167         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
3168         Make the sensitivity of the reparented child track that of
3169         the original parent menu item. (#34218, David Hodson)
3170
3171         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
3172         the case where the current item is destroyed properly.
3173
3174         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
3175         some edge cases with child-less menuitems.
3176         
3177 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
3178
3179         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
3180         key pop down window. (#12074, Jon K Hellan)
3181
3182 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
3183
3184         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
3185         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
3186         The solution here isn't perfect - you get an extraneous
3187         emission of "toggle", which could conceivably confuse an app,
3188         but better than the current situation. LXR search seems to
3189         indicate that no apps in GNOME CVS connect to "toggle".
3190
3191 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
3192
3193         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
3194         gtk_public_h_sources to directly here to avoid warning when
3195         building srcdir != builddir. (#9656)
3196
3197 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
3198
3199         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
3200         handlers in gtkrange.c return the proper values (TRUE == handled)
3201         (#10316).
3202
3203         This is just the tip of the iceberg, but gtkrange.c is the
3204         most common place where the propagation is problematical,
3205         and also a place where it is almost certainly safe to change
3206         this in the stable branch.
3207
3208         (You don't want right click popups on a range control or anything...)
3209
3210 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
3211
3212         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
3213         area on focus out, even if a background pixmap isn't set.
3214         (#13941)
3215         
3216 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
3217
3218         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
3219         to deal with setting the shape properly when scrolling arrows are
3220         turned on, but not visible because there is sufficient space.
3221         (#13432)
3222
3223 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
3224
3225         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
3226         items with submenus, destroy the item along with the submenu.
3227         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
3228         properly.
3229
3230         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
3231         later.
3232
3233 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
3234
3235         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
3236         the focus widget sometimes wasn't drawn with the default if there
3237         was no default widget.
3238
3239         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
3240         unreference pixmaps. 
3241
3242         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
3243         for some extra safety.
3244
3245 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
3246
3247         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
3248         the text of a cell to the old pointer value better, by
3249         copying the new text before freeing the old text. Some code
3250         cleanup. (#8079, Karl Nelson)
3251
3252 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
3253
3254         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
3255         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
3256
3257 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
3258
3259         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
3260         item from a menu, check to see if it matches 
3261         menu->old_active_menu_item, and if so, unref and clear
3262         old_active_menu_item (Patch from Pavel Cisler)
3263
3264         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
3265         menu_shell->active_menu_item, if it is the child being
3266         removed. (Patch based on that of Gene Ragan, #50337)
3267
3268 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
3269
3270         * gdk/linux-fb/gdkselection-fb.c: 
3271         * gdk/linux-fb/gdkcolor-fb.c: 
3272         * gdk/linux-fb/gdkdrawable-fb2.c: 
3273         * gdk/linux-fb/gdkfont-fb.c: 
3274         * gdk/linux-fb/gdkim-fb.c: 
3275         * gdk/linux-fb/gdkinput.c: 
3276         * gdk/linux-fb/gdkkeyboard-fb.c: 
3277         * gdk/linux-fb/gdkmain-fb.c: 
3278         * gdk/linux-fb/gdkrender-fb.c: 
3279         A bunch of whitespace cleanup.
3280         
3281 2001-01-30  Havoc Pennington  <hp@pobox.com>
3282
3283         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
3284         #ifdef GTK_ENABLE_BROKEN.
3285
3286         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
3287         GTK_ENABLE_BROKEN just before including the broken headers.
3288         
3289         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
3290         deprecated types registered.
3291
3292         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
3293         we have to test the broken stuff.
3294
3295         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
3296         
3297 2001-01-30  Havoc Pennington  <hp@redhat.com>
3298
3299         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
3300         here where prev pointer was set to the wrong thing
3301
3302         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
3303         (gtk_tree_path_is_descendant): new function
3304
3305         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
3306         cached length
3307         (gtk_list_store_get_iter): don't modify iter if we can't get the
3308         path.
3309
3310         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
3311         
3312         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
3313         GtkTreeDragDest
3314
3315         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
3316         was causing segfault
3317
3318         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
3319         pointer to NULL
3320
3321         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
3322
3323         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
3324         on returning FALSE
3325         (gtk_list_store_iter_children): ditto
3326         (gtk_list_store_iter_nth_child): ditto
3327         (gtk_list_store_iter_nth_child): ditto
3328         (gtk_list_store_iter_parent): ditto
3329
3330         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
3331         on iter->user_data != NULL instead of silently accepting it.
3332         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
3333         we are returning TRUE.
3334         (gtk_tree_store_iter_children): ditto
3335         (gtk_tree_store_iter_nth_child): ditto
3336         (gtk_tree_store_iter_parent): ditto
3337         (gtk_tree_store_insert): remove handling of parent->user_data ==
3338         NULL, replace with parent == NULL       
3339
3340         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
3341         and a comment explaining things
3342
3343         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
3344         interface support to GtkTreeStore.
3345
3346         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
3347         FALSE if no prev, fix
3348
3349         * gtk/gtktreeview.c (set_source_row): use a row reference
3350         (set_dest_row): use a row reference
3351
3352 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
3353
3354         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
3355         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
3356         (gtk_tree_selection_select_iter): The same as above.
3357
3358 2001-01-26  Havoc Pennington  <hp@redhat.com>
3359
3360         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
3361         which holds a handle to a specific row (particular set of values
3362         in the model, i.e. pointer-identity row).
3363
3364         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
3365         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
3366         Still need to use it for the src/dest row saved on the drag context.
3367
3368 2001-01-26  Havoc Pennington  <hp@redhat.com>
3369
3370         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
3371
3372         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
3373         not offset by TREE_VIEW_HEADER_HEIGHT
3374         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
3375         TREE_VIEW_HEADER_HEIGHT
3376
3377         * configure.in (included_loaders): for me, --with-included-loaders
3378         generates the error "the specified loader yes does not exist",
3379         i.e. the arg defaults to "yes", so change test for value ""
3380         to test for value "yes", and include all loaders in that case.
3381
3382         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
3383
3384         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
3385         handle TREE_VIEW_VERTICAL_SEPARATOR
3386         (gtk_tree_view_bin_expose): fix to consider the row offset as
3387         pointing halfway into vertical separator.       
3388         (gtk_tree_view_draw_node_focus_rect): ditto
3389
3390         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
3391         --gtk-debug=updates, which causes gdk_window_set_debug_updates
3392         (TRUE) to be called.
3393
3394         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
3395         debug mode where the invalid region is colored in on invalidate,
3396         so you can see the flicker and know whether your redraw code is 
3397         doing a good job.
3398
3399         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
3400         tree window coordinates (clip rect is in tree window coords)
3401
3402         * gtk/Makefile.am: add gtktreednd.[hc]
3403
3404         * gtk/gtkliststore.c: implement gtktreednd interfaces.
3405
3406         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
3407         drag-and-drop data operations on a model (so we can set up tree
3408         drag-and-drop automatically)
3409
3410         * gtk/testgtk.c: Add a window to change sensitivity in the
3411         GtkLabel test; add a way to change the entry frame in GtkEntry
3412         test
3413
3414         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
3415         (gtk_entry_get_has_frame): new functions to remove the frame
3416         around an entry
3417         (gtk_entry_size_request): shrink requisition if no frame
3418         (gtk_entry_draw_focus): don't draw frame if no frame
3419
3420         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
3421         checks inside a cell renderer
3422         (gtk_default_draw_option): ditto for options
3423
3424         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
3425         children from the alignment, not the button
3426         (gtk_tree_view_column_init): ref/sink the column, to emulate
3427         GObject refcounting.
3428
3429         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
3430         
3431         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
3432         Use theme functions to draw the toggles 
3433
3434         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
3435
3436         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
3437         GdkPangoAttrEmbossed to use in rendering insensitive text
3438
3439         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
3440
3441         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
3442         using new GDK features
3443         
3444 2001-01-24  Alexander Larsson  <alexl@redhat.com>
3445
3446         * gtk/gtkimage.c:
3447         Splitted gtk_image_clear into gtk_image_clear() and
3448         gtk_image_reset(). Call gtk_image_clear() in ::destroy
3449         to avoid leaks.
3450
3451         * gtk/gtklabel.c (set_markup):
3452         Don't leak text.
3453
3454         * gtk/gtktextlayout.c:
3455         Always free display->shaped_objects.
3456
3457         * gtk/testgtk.c (create_clist):
3458         Don't leak custom style.
3459
3460 2001-01-23  Alexander Larsson  <alexl@redhat.com>
3461
3462         * gtk/gtkcolorsel.c (grab_color_at_mouse):
3463         Don't leak image. Simplify using gdk_colormap_query_color().
3464         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
3465
3466         * linux-fb/gdkcolor-fb.c:
3467         Implemented gdk_colormap_query_color.
3468
3469 2001-01-23  Alexander Larsson  <alexl@redhat.com>
3470
3471         * linux-fb/gdkcursor-fb.c:
3472         Don't leak built-in cursors.
3473
3474         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
3475         Don't leak tmp_points.
3476
3477         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
3478         Don't modify desc. Don't leak font if the PangoFont
3479         isn't found.
3480         
3481         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
3482         Free dash_list.
3483
3484         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
3485         Don't leak string.
3486         
3487 2001-01-20  Havoc Pennington  <hp@pobox.com>
3488
3489         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
3490         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
3491         me, matches Pango
3492
3493 2001-01-22  Havoc Pennington  <hp@redhat.com>
3494
3495         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
3496
3497         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
3498
3499         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
3500         Remove, move back to gdk-pixbuf
3501
3502         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
3503         to all the word functions
3504
3505         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
3506         before doing anything on NULL layout or if we don't have the focus
3507
3508         * gtk/testtext.c (fill_example_buffer): "justification"
3509
3510         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
3511         to be called "justification" not "justify"
3512
3513         * demos/gtk-demo/textview.c (create_tags): "justification"
3514         
3515         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
3516
3517 2001-01-22  Alexander Larsson  <alexl@redhat.com>
3518
3519         * gdk/gdkwindow.c (gdk_window_invalidate_region):
3520         Don't leak visible_region. Use visible_region instead of region.
3521         
3522         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
3523         Don't do extra gdk_drawable_ref(). This is not X.
3524         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
3525         gdk_fb_focused_window is ref:ed.
3526         (gdk_fb_window_send_crossing_events): Watch out for destroyed
3527         windows.
3528
3529 2001-01-22  Alexander Larsson  <alexl@redhat.com>
3530
3531         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
3532         Don't leak the PangoFontDescriptor.
3533
3534 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
3535
3536         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
3537         when not realized.
3538         (gtk_tree_view_scroll_to_cell): Make work when not realized.
3539         (gtk_tree_view_realize): add scroll_to support
3540         (gtk_tree_view_finalize): add a finalize method.  Populate.
3541         (gtk_tree_view_insert_column): ref and sink the column.
3542         (gtk_tree_view_append_column): ref and sink the column.
3543         (gtk_tree_view_queue_draw_node): New function to handle redrawing
3544         individual nodes.  Should make the code much more efficient, if
3545         actually used.
3546
3547 2001-01-19  Havoc Pennington  <hp@redhat.com>
3548
3549         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
3550         byte_offset variable was being used to mean both "offset into
3551         layout" and "offset into buffer line" which was no longer true
3552         with addition of preedit string; fix
3553
3554 2001-01-19  Havoc Pennington  <hp@redhat.com>
3555
3556         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
3557
3558         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
3559         function
3560
3561         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
3562         implement
3563
3564         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
3565         scroll_to_cell, matches TextView scroll functions better
3566         (gtk_tree_view_tree_to_widget_coords): new function
3567         (gtk_tree_view_widget_to_tree_coords): new function
3568         (gtk_tree_view_get_visible_rect): new function
3569         (gtk_tree_view_get_path_at_pos): accept negative coordinates
3570         (gtk_tree_view_draw_node_focus_rect): new function moved from
3571         draw_focus, also, use width of bin_window as width of the focus
3572         rect
3573         (gtk_tree_view_expand_row): fix bug where it didn't recognize
3574         already-expanded rows
3575         (gtk_tree_view_get_cell_rect): new function
3576         (gtk_tree_view_get_path_at_pos): return the click position
3577         relative to the passed-in cell
3578         (gtk_tree_view_set_expander_column): new function
3579
3580         * configure.in: remove gtk-config-2.0 chmod
3581
3582         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
3583         and properly handle drags with targets we don't understand
3584         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
3585         scrolling anyway
3586         (gtk_text_view_drag_drop): stop scrolling here though, and set the
3587         mark invisible
3588
3589         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
3590         function
3591         (gtk_drag_dest_get_target_list): new function
3592         (gtk_drag_dest_set_target_list): new function
3593         
3594         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
3595
3596         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
3597         related to drag-and-drop
3598
3599 2001-01-19  Alexander Larsson  <alexl@redhat.com>
3600
3601         * gdk/linux-fb/gdkprivate-fb.h:
3602         Define EMULATE_GDKFONT.
3603         Add extra pango_font stuff to GfkFontPrivate.
3604         
3605         * gdk/linux-fb/gdkdrawable-fb2.c:
3606         * gdk/linux-fb/gdkfont-fb.c:
3607         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
3608         emulation using PangoFont.
3609
3610 2001-01-17  Havoc Pennington  <hp@pobox.com>
3611
3612         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
3613         all the non-deprecated set_foo functions. Added missing object
3614         properties, and added g_object_notify() to setters. 
3615         Wrote docs.
3616         
3617 2001-01-18  Tor Lillqvist  <tml@iki.fi>
3618
3619         * gtk/gtkmain.c
3620         * gtk/gtkrc.c: (Win32) Use the new
3621         g_win32_get_package_installation_(sub)directory() functions.
3622
3623         * config.h.win32.in: New file.
3624         
3625         * config.h.win32: Removed.
3626
3627         * configure.in: Output config.h.win32.
3628
3629         * Makefile.am: Add it to EXTRA_DIST.
3630
3631         * gtk/gtk.def: Update.
3632
3633 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
3634
3635         * gtk/gtklabel.c (gtk_label_size_request): Set the
3636         attributes onto the PangoLayout even if they are newly
3637         created from label->pattern.
3638
3639 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
3640
3641         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
3642
3643         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
3644         structures in functions. Fixes bug where gtk_dataset_*
3645         was accidentally still being used in one place, causing
3646         every dest side event to be treated independently.
3647
3648         * gtk/gtkdnd.c: Remove last vestages of handling
3649         ::draw (fixes warning)
3650         
3651         * gtk/gtkentry.[ch]: Add drag and drop support.
3652
3653         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
3654         new function gtk_check_drag_threshhold() for checking
3655         to check if (dx,dy) has exceeded the threshhold for starting
3656         a drag and use it everywhere.
3657
3658 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
3659
3660         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
3661         add -I{includedir}/gtk-2.0.
3662
3663         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
3664         gdk/gdk-pixbuf.h: Doc fixups.
3665         
3666         * gtk/gtkobject.h: Remove trailing , from enum
3667
3668 2001-01-17 Alexander Larsson <alexl@redhat.com> 
3669
3670         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
3671         Doh! Mixed up x and y.
3672
3673         * gdk/linux-fb/gdkglobals-fb.c:
3674         Removed gdk_fb_pointer_grab_window_events,
3675         added _gdk_fb_pointer_grab_owner_events and
3676         _gdk_fb_keyboard_grab_owner_events.
3677
3678         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
3679         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
3680         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
3681         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
3682         Send crossing events after ungrab finished.
3683         (gdk_keyboard_grab): Set ..._owner_events
3684         (type_masks): Move out of function.
3685         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
3686         gdk_fb_keyboard_event_window): New functions, return the
3687         window an event should be targeted at. Handles grabs and
3688         event propagation. Can return NULL.
3689         (gdk_event_make): Remove event_mask checking. Now always
3690         returns an event.
3691                 
3692         * gdk/linux-fb/gdkkeyboard-fb.c:
3693         * gdk/linux-fb/gdkproperty-fb.c:
3694         * gdk/linux-fb/gdkselection-fb.c:
3695         Use new event_window/gdk_event_make() behaviour.
3696         
3697         * gdk/linux-fb/gdkmouse-fb.c:
3698         Use new event_window/gdk_event_make() behaviour.
3699         Only send motion events if in the same window.
3700         If grabbed, use cursor from window if sibling of grabbed
3701         window, and cursor from grabbed window otherwise.
3702
3703         * gdk/linux-fb/gdkprivate-fb.h:
3704         Update gdk_fb_window_send_crossing_events, gdk_event_make
3705         and grab varaible declarations. Add gdk_fb_*_event_window().
3706
3707         * gdk/linux-fb/gdkwindow-fb.c:
3708         Use new event_window/gdk_event_make() behaviour.
3709         Keep correct track of focus window.
3710         (gdk_window_set_events): Set all specific button motion masks
3711         if GDK_BUTTON_MOTION_MASK set.
3712
3713         * gtk/gtkdnd.c (gtk_drag_update):
3714         Free info->last_event if gdk_drag_motion returned FALSE.
3715
3716 2001-01-16  Tor Lillqvist  <tml@iki.fi>
3717
3718         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
3719         Eliminate redraws when input-only windows are shown or
3720         hidden. Thanks to jpe@archaeopteryx.com.
3721
3722 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
3723
3724         * docs/faq/gtk-faq.sgml: FAQ update:
3725           - Update to bugzilla
3726           - Add GTK+ and security/SUID/SGID
3727           - Add DnD question
3728
3729 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
3730
3731         * gdk/linux-fb/gdkdnd-fb.c:
3732         Some cleanups.
3733         
3734 2001-01-15  Havoc Pennington  <hp@pobox.com>
3735
3736         * tests/testtreeview.c: add test stuff for CellRendererToggle
3737
3738         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
3739         accessor
3740
3741         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
3742         only toggle on button press (would do release like GtkButton, but
3743         we'd need implicit grab code for treeview cells)
3744
3745 2001-01-16  Tor Lillqvist  <tml@iki.fi>
3746
3747         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
3748
3749         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
3750         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
3751
3752         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
3753         to g_{locale,filename}_{to,from}_utf8 to match current API.
3754
3755         * gtk/makefile.msc.in (gtk_OBJECTS)
3756         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
3757
3758         * gtk/gtk.def: Update.
3759
3760 2001-01-15  Tor Lillqvist  <tml@iki.fi>
3761
3762         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
3763         implementaion that more closely mimics the events that an X server
3764         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
3765         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
3766         with nested preview widgets, for instance, more responsive when
3767         you move the mouse quickly into them.
3768         (find_window_for_pointer_event): Make it actually compile.
3769         (gdk_event_translate): Set send_event to the value of
3770         InSendMessage (). This doesn't really mean the same as X11's
3771         send_event flag, but is close enough, says jpe@archaeopteryx.com
3772
3773 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3774
3775         * gdk/linux-fb/gdkdnd-fb.c:
3776         Implemented drag and drop.
3777         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
3778         when it tries to free and then copy the same event (info->last_event).
3779         I am not sure about why this happens, but will continue looking.
3780
3781 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3782
3783         * gdk/linux-fb/gdkwindow-fb.c:
3784         Use gdk_window_invalidate_rect instead of
3785         gdk_window_invalidate_rect_clear to minimise flashing.
3786         When hiding windows you need to clear the root window though.
3787
3788 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3789
3790         * gdk/linux-fb/gdkdrawable-fb2.c:
3791         For optization, add an full_shapes argument to gdk_fb_clip_region.
3792         If this is false, only the cliprects of the shapes are used.
3793
3794         * gdk/linux-fb/gdkprivate-fb.h:
3795         Export gdk_fb_window_peek_shape.
3796         Add full_shapes to gdk_fb_clip_region.
3797
3798         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
3799         When moving a window, don't clear everything under the it, just the
3800         root window. Makes stuff faster and flash less.
3801         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
3802         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
3803         offset of the shape.
3804         
3805
3806 2001-01-12  Havoc Pennington  <hp@redhat.com>
3807
3808         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
3809         current invalid region, fixes redraw bug while scrolling the 
3810         text widget
3811
3812         * gtk/gtktextview.c, gtk/gtktextview.h:
3813         Rearrange the scrolling/validation/etc. code in a major way, 
3814         so it seems to make sense to me. Probably isn't genuinely that
3815         much better, but...
3816
3817         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
3818         notifies
3819
3820         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
3821
3822 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
3823
3824         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
3825         Hide mouse pointer while rotation. Show it afterwards.
3826
3827 2001-01-12  Alexander Larsson  <alexl@redhat.com>
3828
3829         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
3830         windows in consideration when generating clip region.
3831
3832         * gdk/linux-fb/gdkfb.h:
3833         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
3834
3835         * gdk/linux-fb/gdkprivate-fb.h:
3836         Add shape to GdkWindowFBDatat.
3837         exported gdk_fb_window_get_abs_shape().
3838         removed gdk_fb_draw_lines declaration.
3839
3840         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
3841         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
3842         send focus changes when there is a grabbed window.
3843         (gdk_window_get_pointer): Handle shaped windows.
3844         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
3845         (gdk_fb_window_peek_shape): Returns the shape for a window,
3846         handles GDK_FB_USE_CHILD_SHAPE.
3847         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
3848         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
3849         (gdk_window_shape_combine_mask): Implement.
3850
3851         * gtk/gtkwindow-decorate.c:
3852         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
3853         setting the shape of a window makes the window transparent.
3854
3855 2001-01-11  Havoc Pennington  <hp@redhat.com>
3856
3857         * gtk/gtktreemodelsimple.h: Oops, broke some macros
3858
3859 2001-01-10  Havoc Pennington  <hp@redhat.com>
3860
3861         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
3862         add this function, bug 40251
3863
3864         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
3865         of type macro   
3866
3867 2001-01-11  Alexander Larsson  <alexl@redhat.com>
3868
3869         * acconfig.h:
3870         Added ENABLE_SHADOW_FB
3871
3872         * configure.in:
3873         Added --disable-shadowfb
3874
3875         * gdk/linux-fb/gdkcursor-fb.c:
3876         Update shadowfb when updating cursor
3877
3878         * gdk/linux-fb/gdkdrawable-fb2.c:
3879         Added wrappers for shadowfb that calls  the normal drawable
3880         methods, but calls gdk_shadow_fb_update(bounding box) when
3881         GdkWindows are drawed to.
3882         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
3883         which also returns the bounding box.
3884
3885         * gdk/linux-fb/gdkfb.h:
3886         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
3887
3888         * gdk/linux-fb/gdkgeometry-fb.c:
3889         Update shadowfb when scrolling window.
3890
3891         * gdk/linux-fb/gdkglobals-fb.c:
3892         Add _gdk_fb_screen_angle.
3893         
3894         * gdk/linux-fb/gdkkeyboard-fb.c:
3895         Test code for screen rotation. Shift-F2 in the xlate driver
3896         rotates the screen.
3897
3898         * gdk/linux-fb/gdkmain-fb.c:
3899         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
3900
3901         * gdk/linux-fb/gdkmouse-fb.c:
3902         Use fb_width/height instead of modeinfo.xres/yres.
3903
3904         * gdk/linux-fb/gdkprivate-fb.h:
3905         Added fb_men, fb_width, fb_height & fb_stride. When using
3906         shadow fb these can differ from the framebuffer stuff.
3907         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
3908         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
3909         _gdk_fb_screen_angle. Removed CM, RP.
3910
3911         * gdk/linux-fb/gdkrender-fb.c:
3912         Added code for shadowfb handling and screen rotation using
3913         shadowfb.
3914
3915         * gdk/linux-fb/gdkwindow-fb.c:
3916         Use fb_mem, fb_stride, fb_width, fb_height.
3917         Added recompute_rowstride to reset the rowstride of all windows.
3918         Added gdk_fb_recompute_all() which recomputes rootwindow size,
3919         window abs positions and window rowstrides. Usefull when the
3920         rotation has changed.
3921
3922 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
3923
3924         * docs/faq/gtk-faq.sgml: update to make web site updating easier
3925
3926 2001-01-10  Havoc Pennington  <hp@redhat.com>
3927
3928         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
3929         where sibling == iter
3930         (gtk_tree_store_insert_after): handle sibling == iter
3931         (gtk_tree_store_prepend): remove stamp checks
3932         (gtk_tree_store_insert_before): ditto
3933         (gtk_tree_store_append): ditto
3934         (gtk_tree_store_get_path): ditto
3935         (gtk_tree_store_get_value): ditto
3936         (gtk_tree_store_iter_has_child): ditto
3937         (gtk_tree_store_iter_n_children): ditto
3938         (gtk_tree_store_iter_nth_child): ditto
3939         (gtk_tree_store_insert_after): ditto
3940         (gtk_tree_store_is_ancestor): ditto
3941         (gtk_tree_store_iter_depth): ditto
3942         (gtk_tree_store_insert_before): assert that sibling's parent is
3943         the same as the passed-in parent
3944         (gtk_tree_store_insert_after): assert that sibling's parent is
3945         the same as the passed-in parent
3946
3947         
3948         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
3949         function to get the first iterator in a model
3950         
3951         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
3952         conventionally the "root" in this sense is just NULL afaict.
3953
3954         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
3955         where sibling == iter
3956         (gtk_list_store_insert_after): handle case where sibling == iter
3957
3958         * tests/testtreeview.c (run_automated_tests): fairly lame basic
3959         automated tests for ListStore, TreeStore
3960
3961         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
3962         (gtk_list_store_insert): update tail pointer, and fix it to work
3963         (gtk_list_store_insert_before): update tail pointer, and fix it to work
3964         (gtk_list_store_append): use tail to be faster
3965         (gtk_list_store_prepend): fix it, update tail pointer
3966         (gtk_list_store_insert_after): fix it, update tail pointer
3967
3968         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
3969         the list
3970
3971 2001-01-09  Havoc Pennington  <hp@redhat.com>
3972
3973         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
3974         is NULL due to a pending resize
3975
3976         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
3977         column width to values less than 1
3978
3979         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
3980         width to be between min/max width, and still set the width 
3981         even if autosize is turned on, so the tree view can use this 
3982         function in order to autosize.
3983         (gtk_tree_view_column_init): set initial width to 1 not 0
3984
3985         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
3986         setter function to modify column width, so we get notification
3987         (gtk_tree_view_insert_iter_height): ditto
3988         (gtk_tree_view_calc_size): ditto
3989         (gtk_tree_view_check_dirty): ditto
3990
3991         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
3992         properties to change all the interesting attributes of the tree
3993         view column.
3994         (gtk_tree_view_column_set_header_clickable): rename set_clickable
3995         (gtk_tree_view_column_get_clickable): add
3996         (gtk_tree_view_column_set_cell_renderer): don't unset the current
3997         attributes; assume a cell renderer with equivalent object
3998         properties has been swapped in. Do g_object_notify().
3999         (gtk_tree_view_column_set_visible): g_object_notify
4000         (gtk_tree_view_column_get_sizing): rename from get_col_type
4001         (gtk_tree_view_column_set_sizing): g_object_notify
4002         (gtk_tree_view_column_set_width): add g_object_notify
4003         (gtk_tree_view_column_set_min_width): ditto
4004         (gtk_tree_view_column_set_max_width): ditto
4005         (gtk_tree_view_column_set_title): ditto
4006         (gtk_tree_view_column_set_clickable): ditto
4007         (gtk_tree_view_column_set_widget): ditto
4008         (gtk_tree_view_column_set_justification): ditto
4009
4010 2001-01-09  Havoc Pennington  <hp@redhat.com>
4011
4012         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
4013         there are no rows in the model
4014
4015         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
4016         NULL, then return the start of the list
4017
4018         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
4019         if we can't get any rows from an empty model 
4020
4021         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
4022         extraneous * after function pointer typedef usage
4023
4024         * Makefile.am: don't specify full path to cp and rm
4025
4026         * gtk/gtkcellrenderertextpixbuf.c
4027         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
4028         NULL before dereferencing, fixes a segfault that happened from
4029         time to time
4030
4031         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
4032         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
4033         and reindent the function
4034         (gtk_cell_renderer_pixbuf_get_size): indentation
4035
4036         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
4037         we quit it
4038         (gtk_dialog_add_buttons_valist): add g_return_if_fail
4039         (gtk_dialog_set_default_response): New function, to set default
4040         button
4041         (gtk_dialog_set_response_sensitive): New function, to set 
4042         sensitivity of buttons
4043
4044         * gtk/gtkcellrendererpixbuf.c
4045         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
4046         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
4047
4048         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
4049         handle any G_TYPE_OBJECT subclass, not just the base class, and 
4050         also boxed types.
4051         (_gtk_tree_data_list_value_to_node): ditto
4052
4053         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
4054         --gtk-debug=tree
4055
4056         * gtk/gtkmain.c: add GTK_DEBUG_TREE
4057
4058         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
4059
4060 2001-01-09  Tor Lillqvist  <tml@iki.fi>
4061
4062         * gdk/win32/gdkevents-win32.c: Implement better mouse
4063         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
4064         (find_window_for_pointer_event): New function.
4065         (gdk_event_translate): Use it when handling mouse events.
4066
4067 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
4068
4069         * configure.in:
4070         Added --with-included-loaders option
4071
4072         * gdk-pixbuf/Makefile.am:
4073         * gdk-pixbuf/gdk-pixbuf-io.c:
4074         Add support for including selected gdk-pixbuf loaders only.
4075
4076         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
4077         gtk_window_set_has_frame):
4078         Added inline documentation.
4079
4080         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
4081         * docs/reference/gdk/tmpl/windows.sgml:
4082         Added inline documentation.
4083
4084 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
4085
4086         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
4087         realizing buttons that have already been realized.
4088
4089 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
4090
4091         * tests/testtreeview.c (main): Show menu items before adding to
4092         option menu.
4093
4094         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
4095         around if we kill them.
4096
4097         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
4098         Return if we pass in a NULL model.
4099
4100 2001-01-08  Havoc Pennington  <hp@redhat.com>
4101
4102         * tests/testtreeview.c: hack on this some
4103
4104         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
4105         gtk_tree_store_set_valist, v is for arrays, valist for varargs
4106         list
4107         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
4108
4109         * gtk/gtkliststore.h: Add varargs set() and get() convenience
4110         functions
4111
4112 2001-01-08  Alexander Larsson  <alexl@redhat.com>
4113
4114         * gtk/gtkwindow-decorate.[hc]:
4115         * gtk/Makefile.am:
4116         New files. Contains an implementation of a minimal WM for
4117         linux-fb.
4118
4119         * gtk/gtkwindow.h:
4120         Add the possibility for GtkWindows to specify a frame. This
4121         is used for the window decoration code, but could concievably
4122         be used for X programs too (xmms style windows).
4123         GtkWindow->frame is the toplevel window if the window is framed.
4124         The signal frame_event gets all events that are targeted to
4125         GtkWindow->frame.
4126         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
4127         
4128         * gtk/gtkwindow.c:
4129         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
4130         Call out to gtkwindow-decorate.c for WM support in linx-fb.
4131
4132 2001-01-08  Alexander Larsson  <alexl@redhat.com>
4133
4134         * docs/README.linux-fb:
4135         Correct filename ~/.pangoft2_aliases
4136
4137         * gdk/gdkwindow.h:
4138         Added new function gdk_window_get_decorations.
4139
4140         * gdk/linux-fb/gdkfb.h:
4141         Removed _gdk_window_get_decorations declaration.
4142         Renamed _gdk_window_set_child_handler to
4143         gdk_fb_window_set_child_handler.
4144
4145         * gdk/linux-fb/gdkwindow-fb.c:
4146         Renamed _gdk_window_set_child_handler to
4147         gdk_fb_window_set_child_handler.
4148
4149         * gdk/x11/gdkwindow-x11.c:
4150         New function gdk_window_get_mwm_hints().
4151         Implemented gdk_window_get_decorations.
4152
4153         * docs/reference/gdk/tmpl/windows.sgml:
4154         * docs/reference/gdk/gdk-sections.txt:
4155         Added gdk_window_get_decorations docs.
4156         
4157 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
4158
4159         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
4160         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
4161         gdk_fb_window_send_crossing_events):
4162         Possibly send focus events when the mouse moves from one
4163         window to another.
4164
4165 2001-01-07  Tor Lillqvist  <tml@iki.fi>
4166
4167         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
4168         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
4169         to match current API.
4170
4171         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
4172         environment variable is set, don't call g_error when on a
4173         palettized (PseudoColor) display. Some people want to use GTK+ 
4174         in 256-colour mode even though works only partially.
4175
4176         * gdk/gdk.def
4177         * gtk/gtk.def
4178         * gtk/makefile.mingw.in: Update.
4179
4180 2001-01-05  Havoc Pennington  <hp@redhat.com>
4181
4182         * tests/testtreeview.c: hack on this a bit
4183
4184         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
4185         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
4186
4187         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
4188         was spelled incorrectly
4189         (GTK_IS_TREE_MODEL_SIMPLE): ditto
4190
4191         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
4192         from gtk_tree_view_set_headers_active   
4193
4194         * gtk/gtktexttag.c:
4195         (gtk_text_tag_get_property): handle PROP_DIRECTION
4196         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
4197         properties, bug 40235
4198
4199         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
4200         forward_to_line_end
4201
4202 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
4203
4204         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
4205         modules/input/gtkimcontextxim.c: Adapt to new prototypes
4206         for unicode,locale,filename conversion functions.
4207
4208 2001-01-05  Havoc Pennington  <hp@redhat.com>
4209
4210         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
4211         broken if called on the first position in the buffer.
4212
4213         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
4214         forward_to_delimiters to be called only if we aren't already at
4215         the delimiters.
4216
4217 2001-01-05  Havoc Pennington  <hp@redhat.com>
4218
4219         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
4220
4221 2001-01-05  Alexander Larsson  <alexl@redhat.com>
4222
4223         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
4224         colormap in here. Sync from X port.
4225         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
4226         Sync from X port.
4227         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
4228         This happens now and then, and i don't think it is a bug.
4229         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
4230         != endpoint.
4231         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
4232         GDK_LINE_SOLID.
4233
4234         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
4235         some of the fields filled in at least.
4236
4237         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
4238         miLineArcD is no more, remove it from the function definition.
4239
4240 2001-01-04  Havoc Pennington  <hp@redhat.com>
4241
4242         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
4243         this
4244
4245         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
4246         user_data instead of tree_node
4247
4248         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
4249         TREE_VIEW_COLUMN_SIZE
4250
4251         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
4252         "size" field to "width" finishes bug 40061
4253
4254         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
4255         for bitfields, bug 40268
4256
4257 2001-01-04  Havoc Pennington  <hp@redhat.com>
4258
4259         Rename some stuff:
4260         
4261         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
4262
4263         s/GtkModelSimple/GtkTreeModelSimple/g;
4264         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
4265         s/gtk_model_simple/gtk_tree_model_simple/g;
4266         s/gtkmodelsimple/gtktreemodelsimple/g;
4267
4268         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
4269
4270         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
4271         s/column_set_col_type/column_set_sizing/g;
4272
4273         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
4274         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
4275
4276         s/GtkCellRendererType/GtkCellRendererState/g;
4277         
4278         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
4279         (gtk_cell_renderer_toggle_class_init): change "state" property to
4280         "active", to match GtkToggleButton
4281         (gtk_cell_renderer_toggle_get_active): new function, bug
4282         40269
4283         (gtk_cell_renderer_toggle_set_active): new function
4284         (gtk_cell_renderer_toggle_set_property): route changes to toggle
4285         state through gtk_cell_renderer_set_active
4286
4287 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
4288
4289         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
4290         temporarily until they work again.  Brought up to date with
4291         changes in the model.
4292         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
4293         model.
4294
4295 2001-01-04  Havoc Pennington  <hp@redhat.com>
4296
4297         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
4298         equal to the line length, then position iterator before paragraph 
4299         separators. Fixes crash reported by Mikael Hermansson when
4300         pressing left arrow from the start of a line.   
4301
4302         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
4303         about byte indexes off the end
4304         (iter_set_from_char_offset): add g_error about char offsets
4305         off the end
4306
4307 2001-01-03  Havoc Pennington  <hp@redhat.com>
4308
4309         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
4310
4311         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
4312         of private functions; remove inclusion of private headers.
4313
4314         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
4315         function, so we don't need private functions in gtktextdisplay.c
4316
4317         * gtk/gtktextiterprivate.h: underscore-ification
4318
4319         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
4320         to instead say "only useful to implement widgets"
4321
4322         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
4323         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
4324         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
4325
4326         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
4327         This function was completely broken
4328
4329         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
4330
4331         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
4332
4333         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
4334
4335         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
4336
4337         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
4338
4339         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
4340
4341         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
4342         gtk_paint_layout
4343
4344         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
4345         gtk_paint_layout
4346
4347         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
4348         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
4349         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
4350         which were not implemented.     
4351
4352         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
4353         insert_pixbuf signal. Rename delete_text to delete_range since it
4354         also deletes pixbufs and child anchors. This almost closes bug
4355         40245 (still need to deal with child anchors)
4356
4357         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
4358         insert_pixbuf, change signal names as appropriate, change types of
4359         signals taking marks/tags to have the specific type, not just
4360         G_TYPE_OBJECT
4361         
4362         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
4363         closes bug 40051
4364
4365         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
4366         unnecessary remove_contents() call
4367         (gtk_option_menu_class_init): add a "changed" signal, closes
4368         bug 40039
4369         (gtk_option_menu_update_contents): emit "changed" if the 
4370         active menu item changes
4371
4372         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
4373         cast to GtkObject, reported by Jonas Borgstrom
4374         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
4375         we can't do stuff with side effects in finalize. Instead, spew a
4376         warning if the loader isn't closed.
4377
4378         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
4379         colormap in here, non-X ports probably need to sync to this change
4380
4381         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
4382         assertion that colormap != NULL, you can set the colormap to NULL
4383         if you like.
4384         
4385         * Makefile.am: remove gtk-config-2.0
4386
4387         * configure.in: Use pkg-config to locate GLib. Remove
4388         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
4389         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
4390         Use pkg-config to locate Pango. Output correct Pango libs to
4391         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
4392
4393         * Makefile.am (pkgconfig_DATA): install only target-specific pc
4394         files
4395         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
4396         X11 pc files
4397
4398         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
4399         unref from here
4400
4401 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
4402
4403         * configure.in:
4404         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
4405
4406 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
4407
4408         * gtk/gtktextlayout.c
4409         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
4410         variable when moving back onto a single line.
4411
4412 2001-01-01  Havoc Pennington  <hp@redhat.com>
4413
4414         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
4415
4416         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
4417
4418         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
4419         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
4420
4421 2001-01-01  Havoc Pennington  <hp@redhat.com>
4422
4423         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
4424
4425         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
4426         GtkTextAttributes
4427
4428         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
4429         #40246
4430         (gtk_text_attributes_copy_values): rename from 
4431         gtk_text_attributes_copy
4432         (gtk_text_attributes_copy): a more standard GTK copy function, 
4433         which returns a new object
4434
4435 2001-01-01  Havoc Pennington  <hp@redhat.com>
4436
4437         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
4438         
4439         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
4440         don't fill in tree_view->priv->selection, kind of an unexpected
4441         side effect
4442
4443         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
4444         gtkintl.h
4445         
4446         * gtk/gtkcellrenderer.c: Remove definition of _ and include
4447         gtkintl.h
4448         (gtk_cell_renderer_get_property): remove calls to g_value_init
4449
4450         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
4451         gtkintl.h
4452
4453         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
4454         and include gtkintl.h
4455         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
4456         property names
4457
4458         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
4459         GtkTreeSelection
4460         (_gtk_tree_selection_new_from_with_view): rename, return
4461         GtkTreeSelection
4462         (_gtk_tree_selection_set_tree_view): rename with uscore
4463         (gtk_tree_selection_get_selected): fill in the "model" out param
4464         first, so it gets filled in even if we return at the top of the 
4465         function
4466         (gtk_tree_selection_real_select_all): add a comment and an else{}
4467         to clarify this a bit
4468         (gtk_tree_selection_real_unselect_all): add the same else{}
4469
4470         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
4471         set_tree_view to have underscore prefixes, move them to the
4472         private header, fix return type of new_with_tree_view
4473         (struct _GtkTreeSelection): mark struct
4474         fields private  
4475
4476         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
4477         GtkTreeModelFlags, not a guint
4478         (gtk_tree_path_prev): return gboolean not gint
4479         (gtk_tree_path_up): return gboolean not gint
4480
4481         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
4482         return GtkTreeModelFlags, not a guint
4483
4484         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
4485         that child model is non-null before unrefing it
4486         (g_value_int_compare_func): make this a qsort compare func, not 
4487         a boolean predicate
4488
4489         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
4490         (add -umn to the end), and mark it unimplemented
4491         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
4492         I don't see what it's for - doesn't the model always sort itself?
4493         (gtk_tree_model_sort_set_compare): this had the wrong signature
4494
4495         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
4496         Fix the docs to say that it destructively replaces existing
4497         attributes (previously said that it added attributes).
4498         (gtk_tree_view_column_set_visible): canonicalize bool before
4499         equality testing. Also, check for realization before
4500         hiding/showing the tree_column->window; if this window could exist
4501         before realization, then it's busted and needs fixing, we can't 
4502         create GDK resources pre-realization. Also, remove
4503         superfluous queue_resize(), since set_size() does that for us.
4504         (gtk_tree_view_column_set_col_type): check realization before 
4505         using tree_column->window
4506
4507         * gtk/gtktreedatalist.c: fix filename in copyright notice
4508
4509 2000-12-31  Havoc Pennington  <hp@pobox.com>
4510
4511         * gtk/gtktextview.c: Rearrange all the
4512         scroll-while-dragging-or-selecting code to be different, not
4513         necessarily better. ;-)
4514         (gtk_text_view_scroll_to_mark): Change this
4515         function to take within_margin as a fraction instead of a pixel
4516         value, and to take alignment arguments (indicating where to align 
4517         the mark inside the visible area)
4518         
4519         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
4520         to GtkObject
4521
4522         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
4523         behavior so that offsets past the end of the line are not 
4524         allowed, and an offset equal to the line length moves the iterator
4525         to the next line
4526         (gtk_text_iter_set_line_index): make parallel change
4527         (gtk_text_iter_get_bytes_in_line): add this function
4528         
4529         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
4530         of byte indexes off the end of the line; byte index at the end of
4531         the line now returns FALSE and doesn't fill in the requested
4532         values, byte index past the end of the line is an error.  Also,
4533         don't allow -1 offset anymore, since its meaning is unclear.
4534
4535         This change exposes some bug in visual cursor motion, where we
4536         end up with a huge invalid byte index; needs fixing. Symptom of 
4537         bug is a crash when you hit up arrow.
4538         
4539         (_gtk_text_line_char_locate): match the change to byte_locate
4540
4541         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
4542         from start of line properly. fixes bug reported by Mikael
4543         Hermansson where backspace would delete all text before the
4544         cursor.
4545
4546 2000-12-30  Tor Lillqvist  <tml@iki.fi>
4547
4548         * gdk/win32/gdkwindow-win32.c
4549         (gdk_window_impl_win32_get_visible_region): New function, as in
4550         the X11 backend.
4551         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
4552         instead of duplicating the same code here.
4553
4554         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
4555         GDK_COLORMAP macro.
4556
4557         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
4558         destroy function.
4559         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
4560         access that.
4561
4562         * gtk/gtk.def: Update.
4563
4564         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
4565
4566 2000-12-30  Havoc Pennington  <hp@pobox.com>
4567
4568         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
4569         colormap on input only windows, to avoid special cases all over
4570         the code for these windows.
4571
4572 2000-12-26  Tor Lillqvist  <tml@iki.fi>
4573
4574         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
4575         we are on a palettized display ("PseudoColor" in X11), as the code
4576         for that doesn't work anyway, and never has.
4577
4578 2000-12-22  Alexander Larsson  <alexl@redhat.com>
4579
4580         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
4581         Don't use isprint() for chars > 255.
4582
4583 2000-12-21  Havoc Pennington  <hp@redhat.com>
4584
4585         * tests/testtreeview.c: more work
4586
4587 2000-12-21  Alexander Larsson  <alexl@redhat.com>
4588
4589         * docs/README.linux-fb:
4590         Update the docs to the new pangoft2 way.
4591
4592 2000-12-21  Alexander Larsson  <alexl@redhat.com>
4593
4594         * configure.in:
4595         For linux-fb get the pangoft2 cflags and libs. This needs a recent
4596         pango version.
4597         Remove modules/linux-fb/Makefile.
4598
4599         * gdk/linux-fb/gdkdrawable-fb2.c:
4600         Render glyphs using freetype.
4601
4602         * gdk/linux-fb/gdkfb.h:
4603         Add new fb-specific functions needed for managing windows.
4604
4605         * gdk/linux-fb/gdkmain-fb.c:
4606         Remove gdk_font_init/fini() calls.
4607
4608         * gdk/linux-fb/gdkpango-fb.c:
4609         Remove old implementation. Use pangoft2 instead.
4610
4611         * gdk/linux-fb/gdkprivate-fb.h:
4612         Remove PangoFBFont and related stuff.
4613
4614         * gdk/linux-fb/gdkwindow-fb.c:
4615         Implement drawable->get_visible_region.
4616         Implement support for _gdk_window_set_child_handler () and
4617         _gdk_window_get_decorations().
4618
4619         * modules/Makefile.am:
4620         Remove linux-fb subdir.
4621
4622         * modules/linux-fb/*:
4623         Removed all.
4624         
4625 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
4626
4627         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
4628         calls, as they are no longer needed.
4629
4630         * gtk/gtktreemodelsort.c: Fix up the comparison code.
4631         
4632         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
4633         figure out how to emit a signal on an interface.
4634
4635 2000-12-20  Havoc Pennington  <hp@redhat.com>
4636
4637         * tests: new directory to contain tests, gtk/test* should move
4638         here sometime (with appropriate on-cvs-server hackery)
4639
4640         * tests/testtreeview.c, tests/Makefile.am: a test
4641         
4642         * configure.in (AC_OUTPUT): add tests/Makefile
4643
4644         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
4645         and "invisible_set" which were missing
4646
4647         * gtk/gtkrbtree.h: some cheesy indentation fix
4648         
4649 2000-12-20  Alexander Larsson  <alexl@redhat.com>
4650
4651         * gtk/gtkinvisible.c (gtk_invisible_realize):
4652         Attach the style to the window so that the style it is not
4653         leaked when unrealizing the window.
4654
4655 2000-12-18  Havoc Pennington  <hp@redhat.com>
4656
4657         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
4658         begin/end user action where appropriate
4659         (gtk_text_view_commit_handler): add begin/end user action
4660
4661         * gtk/gtktextbuffer.c: add begin/end user action signals, and
4662         bracket interactive operations with begin/end user action pair.
4663         
4664         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
4665         "interactive" arg from insert_text and delete_text signals.
4666         Add begin_user_action, end_user_action signals
4667         (gtk_text_buffer_begin_user_action): 
4668         (gtk_text_buffer_end_user_action): New functions to delimit 
4669         a user-visible action
4670
4671         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
4672         signals.
4673         
4674 2000-12-18  Havoc Pennington  <hp@redhat.com>
4675
4676         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
4677         was pretty non-working.
4678
4679         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
4680         by passing the length to g_utf8_validate().
4681
4682 2000-12-16  Havoc Pennington  <hp@pobox.com>
4683
4684         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
4685         Port to GObject, can go back in gdk-pixbuf after setting up 
4686         a gdk-pixbuf-marshal.h header over there.
4687
4688         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
4689         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
4690         args
4691         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
4692         set
4693         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
4694         here, do it when we create the buttons later
4695         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
4696         (gtk_tree_view_map): paranoia checks that column->button is shown 
4697         and unmapped
4698         (gtk_tree_view_size_request): only request visible children.
4699         Move header size calculation in here, for cleanliness, and 
4700         to maintain invariants for child widgets if we eventually 
4701         let users set different children inside the buttons
4702         (gtk_tree_view_map_buttons): factor out code to map buttons,
4703         since it was being called several times
4704         (gtk_tree_view_size_allocate_buttons): move_resize the drag
4705         windows instead of just moving them; their height may change 
4706         if we allow random widgets in there, or the theme changes.
4707         (gtk_tree_view_size_allocate): move button size allocation 
4708         above emitting the scroll signals, to ensure a sane state when we
4709         hit user code
4710         (gtk_tree_view_button_release): remove queue_resize after
4711         tree_view_set_size(), set_size() will handle any resize queuing
4712         that's needed
4713         (gtk_tree_view_focus_in): just queue a draw, don't fool with
4714         draw_focus goo
4715         (gtk_tree_view_focus): use gtk_get_current_event() and
4716         gdk_event_get_state()
4717         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
4718         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
4719         semicolon
4720         (gtk_tree_view_create_button): show the button here
4721         (gtk_tree_view_button_clicked): actually emit the clicked signal
4722         on the column
4723         (_gtk_tree_view_set_size): return right away if the size is
4724         unchanged, as a cheesy optimization
4725         (gtk_tree_view_setup_model): rename set_model_realized to 
4726         setup_model to match the flag that indicates whether we've 
4727         called it
4728         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
4729         exist, because set_scroll_adjustment does that and it shouldn't
4730         matter what order you call these in
4731         (gtk_tree_view_get_vadjustment): ditto
4732         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
4733         for paranoia
4734         (gtk_tree_view_set_headers_visible): call
4735         gtk_tree_view_map_buttons() instead of using cut-and-paste code
4736         (gtk_tree_view_append_column): clarify whether the return value
4737         is the count of columns before or after, and do the increment 
4738         separately from the return statement so you can tell from the code.
4739         (gtk_tree_view_remove_column): ditto
4740         (gtk_tree_view_insert_column): ditto
4741         (gtk_tree_view_get_column): remove g_return_if_fail for columns
4742         outside the existing range, the docs say that outside-range
4743         columns are allowed, so we handle them as documented. (Presumably
4744         this allows a nice loop with column != NULL as test.)
4745         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
4746         mean (left/right/center etc.).
4747         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
4748         (gtk_tree_view_expand_row): add docs
4749         (gtk_tree_view_collapse_row): add docs
4750
4751         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
4752         function to emit the clicked signal on a column
4753         
4754         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
4755         state of an event
4756         (gdk_event_get_time): don't treat GDK_SCROLL 
4757         as a button event, remove default case from switch so gcc 
4758         will whine if we don't explicitly handle all event types
4759
4760         * gtk/gtktreeselection.h: added some FIXME 
4761         
4762         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
4763         "columns" to "n_columns" and "column" to "columns" for clarity
4764
4765 2000-12-16  Havoc Pennington  <hp@pobox.com>
4766         
4767         * gtk/gtktextiter.c: General cleanup of the log attr iteration
4768         stuff. This should make e.g. the delete key work again in the
4769         text widget...
4770         (gtk_text_iter_forward_cursor_positions): handle negative count
4771         (gtk_text_iter_backward_cursor_positions): handle negative count
4772         (gtk_text_iter_forward_word_ends): handle negative count
4773         (gtk_text_iter_backward_word_starts): handle negative count
4774
4775         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
4776         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
4777         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
4778         GObject. No doubt will cause breakage.
4779
4780         * demos/gtk-demo/textview.c: remove hacks around
4781         non-GObject-ification of the text objects
4782
4783         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
4784         the text tag
4785         
4786 2000-12-14  Havoc Pennington  <hp@pobox.com>
4787
4788         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
4789         that we have Xrender
4790
4791 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
4792
4793         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
4794         Add two virtualized functions gdk_drawable_get_clip_region - to
4795         get the clip region when drawing.
4796         
4797         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
4798         use invalidate_region.
4799
4800         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
4801         region.
4802
4803         * acconfig.h configure.in: Check for Xft. For now, assume
4804         that if Xft is found, Pango was compiled with Xft support
4805         as well.
4806
4807         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
4808         gdk_colormap_query_color().
4809         
4810         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
4811         with Xft if appropriate.
4812
4813         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
4814         a pangoxft context if we have XFT and the environment
4815         variable GD_USE_XFT is set.
4816         
4817         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
4818         and also possibly an XftDraw structure.
4819
4820         * gtk/gtkfontsel.c: Handle the case where the font from the
4821         style doesn't match any of the fonts a bit better.
4822         
4823         * gtk/testgtk.c: Add tabs between directional segments for
4824         hebrew/arabic test. (Not really necessary, just a little
4825         prettier.)
4826
4827 2000-12-14  Havoc Pennington  <hp@redhat.com>
4828
4829         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
4830         reading a file
4831
4832 2000-12-14  Havoc Pennington  <hp@redhat.com>
4833
4834         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
4835         unused call to get_last_line()
4836
4837         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
4838         here until boxed is working (and maybe after that - we should
4839         really not gratuitously break old code)
4840
4841         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
4842         specific types for font_desc and tabs args, move them to
4843         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
4844         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
4845
4846         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
4847         use GTK_TYPE_POINTER for signal signatures as a hack-around
4848
4849         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
4850         PangoTabArray
4851
4852         * gtk/gtktextlayout.c (line_display_iter_to_index): 
4853         make static
4854         (line_display_index_to_iter): make static
4855
4856         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
4857         to marshal a string not a boxed
4858
4859         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
4860
4861         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
4862         since the UTF-8 isn't validated yet
4863
4864         * gtk/gtktextsegment.c (char_segment_check_func): don't require
4865         lines to end in '\n'
4866         
4867         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
4868         forward_to_delimiters, and grapheme boundaries
4869         (gtk_text_view_delete_from_cursor): properly handle non-newline
4870         delimiters, and grapheme boundaries
4871
4872         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
4873         to gtk_text_iter_forward_to_delimiters, and make it work properly
4874         if empty lines end with a character other than '\n'
4875
4876         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
4877         position
4878
4879 2000-12-15  Tor Lillqvist  <tml@iki.fi>
4880
4881         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
4882
4883         * gtk/gtk.def
4884         * gdk/gdk.def: Update.
4885
4886         * gdk/win32/gdkmain-win32.c
4887         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
4888         gdkmain-win32.c here.
4889
4890         * gdk/win32/makefile.mingw.in (all): No need to make
4891         gdk-win32res.o here, the makefile one step up will call us to make
4892         it.
4893
4894         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
4895         gdkkeys-win32.
4896
4897         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
4898
4899         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
4900         call to g_source_add().
4901
4902         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
4903         leak. Thanks to Andreas Kemnade.
4904
4905 2000-12-13  Havoc Pennington  <hp@pobox.com>
4906
4907         * gtk/gtktextbtree.h: Remove double _ in front of some functions
4908
4909         * gtk/gtktext*.[hc]: update accordingly
4910         
4911 2000-12-13  Havoc Pennington  <hp@pobox.com>
4912
4913         * gtk/gtktextbtree.h: Put _ in front of every function in this 
4914         header file
4915
4916         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
4917
4918 2000-12-13  Alex Larsson  <alexl@redhat.com>
4919
4920         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
4921         Add support for ps2 intellimouse.
4922
4923         * gdkkeyboard-fb.c:
4924         Move shift-F1 repaint handling to xlate handler only.
4925         
4926         * docs/README.linux-fb:
4927         Add imps2 to docs.
4928         Document the new refresh keys.
4929         
4930 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
4931
4932         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
4933
4934         * gtk/gtkbox.c: change property types from (u)long to (u)int for
4935         ::position and ::padding.
4936
4937         * gtk/gtkcontainer.c: make ::border_width an INT property.
4938
4939         * gtk/gtkpacker.c: make ::position an INT property.
4940
4941         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
4942         guard against NULL h/v scrollbars, since this is used at construction
4943         time.
4944
4945         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
4946         internal gtk_clist_constructor().
4947
4948         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
4949         gtk_ctree_constructor().
4950
4951         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
4952         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
4953
4954         * docs/reference/Makefile.am: fun stuff, disabled docs generation
4955         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
4956
4957         * gtk/gtkwidget.[hc]:
4958         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
4959         and gtk_widget_get().
4960         (gtk_widget_new): use g_object_new_valist().
4961         (gtk_widget_set): use g_object_set_valist().
4962
4963         * gtk/gtkobject.[hc]:
4964         removed gtk_object_arg_get_info(), gtk_object_getv(),
4965         gtk_object_query_args(), gtk_object_newv(),
4966         gtk_object_class_add_signals(),
4967         gtk_object_class_user_signal_new(),
4968         gtk_object_class_user_signal_newv(),
4969         gtk_object_arg_set(), gtk_object_arg_get(),
4970         gtk_object_args_collect(),
4971         gtk_object_default_construct(),
4972         gtk_object_constructed(),
4973         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
4974         removed nsignals, signals and n_args members from GtkObjectClass.
4975         (gtk_object_new): use g_object_new_valist().
4976         (gtk_object_set): use g_object_set_valist().
4977         (gtk_object_get): use g_object_get_valist().
4978         
4979         * gtk/gtkcompat.h: define gtk_object_default_construct().
4980         
4981         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
4982         g_object_new().
4983
4984         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
4985         fucntions, cleaned up method assignments (make sure your structures
4986         are setup properly before calling out). removed all GTK_CONSTRUCTED
4987         hacks ;)
4988
4989 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
4990
4991         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
4992         off-by-one error in checks. (Dave Lambert)
4993
4994 2000-12-12  Alexander Larsson  <alexl@redhat.com>
4995
4996         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
4997         Don't free gdk_fb_keyboard twice.
4998
4999 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
5000
5001         * gtk/testgtk.c:
5002         (create_tooltips): 
5003         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
5004         use GObject swapped_signal:: properties instead.
5005
5006         * gtk/gtkcellrenderertoggle.c: 
5007         * gtk/gtkcellrenderertextpixbuf.c: 
5008         * gtk/gtkcellrenderertext.c: 
5009         * gtk/gtkcellrendererpixbuf.c: 
5010         * gtk/gtkcellrenderer.c:
5011         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
5012         missing warnings for invalid property ids, install properties
5013         with g_object_class_install_property() now.
5014         
5015         * gtk/gtksignal.c:
5016         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
5017         
5018 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
5019         
5020         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
5021         to determine if a window is the focus widget within
5022         its toplevel.
5023
5024         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
5025         to be boolean.
5026
5027         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
5028         of the case where the container CAN_FOCUS to here instead
5029         of having it in each individual move-the-focus place.
5030
5031         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
5032         focusing to be geometric in a much more obvious sense. Arrowing
5033         around is still non-intuitive because it isn't perfect and
5034         because entries, etc, grab the arrow keys, but it at least
5035         usually will do what you expect now.
5036         
5037         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
5038         file.
5039
5040         * gtk/gtknotebook.c: Change tabs to be a single item in
5041         the focus chain. Make movement of focus on tabs with arrow
5042         keys wrap around.
5043         
5044         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
5045         CHECK_FIND_CHILD macro to give informative error messages
5046         instead of silent returns.
5047
5048         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
5049         flag since we handle GdkReturn on the tabs.
5050
5051         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
5052         windows rather than sending expose events directly.
5053
5054         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
5055         definition for GtkNotebookPage into .c file, since it is private.
5056
5057         * gtk/testgtk.c (create_notebook): Add option for 
5058         testing borderless notebook.
5059
5060         * gtk/testgtk.c (page_switch): Removed egregious poking
5061         around in GTK+ internals.
5062
5063         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
5064
5065         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
5066         properly through gtk_clist_focus. Make the title headers a
5067         single item in the tab-focus chain, and make left-right wrap
5068         around.
5069
5070         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
5071         focus method so that wrapping around works properly.
5072
5073         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
5074         that is handled for the widget now. 
5075
5076 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
5077
5078         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
5079         widgets as TOPLEVEL.
5080
5081         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
5082         TOPLEVEL widgets are containers.
5083
5084         * gtk/gtkinvisible.h: Remove useless include.
5085
5086 2000-12-11  Havoc Pennington  <hp@redhat.com>
5087
5088         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
5089         Handle chopping off \r\n and 0x2029 in addition to \n before
5090         passing to PangoLayout
5091
5092         * gtk/gtkimcontextsimple.c
5093         (gtk_im_context_simple_get_preedit_string): 
5094         return an empty string if no match is pending
5095
5096         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
5097         assertion that the returned preedit string was sane
5098
5099         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
5100         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
5101         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
5102
5103 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
5104
5105         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
5106         Fix up finalizer to chain to its parent.
5107
5108 2000-12-11  Alexander Larsson  <alexl@redhat.com>
5109
5110         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
5111         Clearified the difference between the keyboard types. Wrote a note
5112         about the magic sysrq key to get out of raw mode.
5113
5114 2000-12-09  James Henstridge  <james@daa.com.au>
5115
5116         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
5117         member to hold masks for detecting the start of a protocol packet.
5118         (mouse_devs): add packet start masks for ps2 and ms device types.
5119         Left the mask for fidmour blank, as I have no idea what it should
5120         be.
5121         (handle_mouse_io): skip bytes until we get to the start of a
5122         packet.  My Logitech mouse seems to be passing an extra NULL pad
5123         byte, and GPM does a similar thing here.
5124         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
5125         this is the ms mouse driver.
5126         (gdk_fb_mouse_ms_packet): fix up button handling, which was
5127         completely broken except for button1.  It was checking the wrong
5128         bit in the packet for the status of the right mouse button, and
5129         wrongly assuming right == button2 rather than 3.  I fixed that and
5130         also added support for middle button (button2).
5131
5132 2000-12-08  Havoc Pennington  <hp@redhat.com>
5133
5134         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
5135         that cause a segfault on text insertion
5136
5137         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
5138         warning
5139
5140         * gtk/gtktextiter.c (test_log_attrs): use
5141         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
5142
5143         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
5144         Get log attrs for a line, using a cache stored on the buffer
5145         
5146         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
5147         reported by Jeff Franks
5148
5149 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
5150
5151         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
5152         /dev/ttyS0 -> /dev/mouse
5153
5154 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
5155
5156         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
5157         Added dummy gdk_fontset_load.
5158
5159 2000-12-08  Alexander Larsson  <alexl@redhat.com>
5160
5161         * docs/README.linux-fb:
5162         * docs/Makefile.am:
5163         Initial GtkFB docs.
5164         
5165         * gdk/linux-fb/Makefile.am:
5166         Define GDK_DATA_PREFIX.
5167
5168         * gdk/linux-fb/gdkmain-fb.c:
5169         Fix typo.
5170         Change default display to /dev/fb0.
5171
5172         * gdk/linux-fb/gdkpango-fb.c:
5173         Add $(prefix)/share/fonts/ to font path.
5174         
5175 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
5176
5177         * gdk/linux-fb/gdkkeyboard-fb.c:
5178         New file containing the abstracted keyboard driver. Most code
5179         taken from gdkinput-ps2.c
5180
5181         * gdk/linux-fb/gdkinput-ps2.c:
5182         Removed file.
5183         
5184         * gdk/linux-fb/Makefile.am:
5185         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
5186
5187         * gdk/linux-fb/gdkcolor-fb.c:
5188         display->fb was renamed to display->fb_fd.
5189
5190         * gdk/linux-fb/gdkcursor-fb.c:
5191         gdk_mouse_get_info -> gdk_fb_mouse_get_info
5192
5193         * gdk/linux-fb/gdkinput.c:
5194         Moved gdk_input_init here from gdkinput-ps2.c
5195
5196         * gdk/linux-fb/gdkmain-fb.c:
5197         display->fb was renamed to display->fb_fd.
5198         Now the tty and the console is opened here instead
5199         of in the keyboard driver. Also check GDK_VT to see what
5200         tty to open.
5201         Move gdk_beep () here from gdkinput-ps2.c
5202         gdk_mouse_get_info -> gdk_fb_mouse_get_info
5203
5204         * gdk/linux-fb/gdkmouse-fb.c:
5205         Add header.
5206         gdk_mouse_get_info -> gdk_fb_mouse_get_info
5207         Return correct keyboard modifiers.
5208         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
5209
5210         * gdk/linux-fb/gdkprivate-fb.h:
5211         Add tty and vt info to display.
5212         Add orignal modeinfo storage to display
5213         Update global functions
5214
5215         * gdk/linux-fb/gdkwindow-fb.c:
5216         Added gdk_fb_window_find_focus().
5217         gdk_mouse_get_info -> gdk_fb_mouse_get_info
5218
5219 2000-12-07  Havoc Pennington  <hp@pobox.com>
5220
5221         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
5222         function, noticed by Alex
5223
5224 2000-12-06  Elliot Lee  <sopwith@redhat.com>
5225
5226         * configure.in: Detect freetype properly
5227
5228         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
5229         above.
5230
5231 2000-12-06  Alexander Larsson  <alexl@redhat.com>
5232
5233         * gdk/linux-fb/Makefile.am:
5234         Add gdkmouse-fb.c
5235         
5236         * gdk/linux-fb/gdkmouse-fb.c:
5237         New file. Abstracted the mouse drivers a bit.
5238
5239         * gdk/linux-fb/gdkcursor-fb.c:
5240         The cursor hide/show functions was moved here from gdkinput-ps2.c.
5241
5242         * gdk/linux-fb/gdkinput-ps2.c:
5243         Removed old mouse handling code. Moved cursor handling code
5244         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
5245         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
5246         gdk_mouse_get_info.
5247
5248         * gdk/linux-fb/gdkmain-fb.c:
5249         Pass NULL pointers for x,y in gdk_mouse_get_info call.
5250
5251         * gdk/linux-fb/gdkprivate-fb.h:
5252         Removed public gdk_fb_find_common_ancestor, added and renamed
5253         functions for the new mouse handling code.
5254
5255         * gdk/linux-fb/gdkwindow-fb.c:
5256         Moved gdk_fb_window_send_crossing_events here. added global
5257         variable gdk_fb_window_containing_pointer. made
5258         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
5259         renamed to gdk_mouse_get_info.
5260
5261 2000-12-06  Alexander Larsson  <alexl@redhat.com>
5262
5263         * gdk/linux-fb/gdkevents-fb.c:
5264         Update to match latest gmain/gsource changes.
5265
5266         * gdk/linux-fb/gdkinput-ps2.c:
5267         Bogus gdk_keymap_get_entries_for_keycode implementation so that
5268         it links. Will be implemented later.
5269
5270 2000-12-03  Havoc Pennington  <hp@pobox.com>
5271
5272         * gdk/Makefile.am: add gdkkeys.[hc]
5273
5274         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
5275         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
5276
5277         * acconfig.h, configure.in: add checks and command line options
5278         for XKB
5279
5280         * gdk/x11/gdkkeys-x11.c: Implement the above functions
5281         
5282         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
5283         and group in the key event
5284
5285         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
5286         field with the low-level hardware key code, and a group
5287         field with the keyboard group
5288
5289         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
5290         and declare a couple globals used for keymap handling
5291         
5292         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
5293         hold down Shift-Control and type a hex number to get a Unicode 
5294         character corresponding to the hex number
5295         (gtk_im_context_simple_get_preedit_string): Fix cursor position
5296         (return bytes not chars)
5297
5298 2000-12-05  Elliot Lee  <sopwith@redhat.com>
5299
5300         * gdk/gdkcolor.h: Make GdkColor specify element sizes
5301         to avoid waste on 64-bit platforms.
5302
5303 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
5304
5305         * INSTALL: Fix link to PNG home, remove reference
5306         to fribidi.
5307
5308         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
5309         
5310         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
5311         tested.)
5312
5313         * gtk/gtkcheckmenuitem.c: Permanently turn on
5314         always_show_toggle.
5315
5316         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
5317         be NULL. (Vladimir Klebanov, #26545)
5318
5319         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
5320         some signed/unsigned comparison problems. (#6510,
5321         David Kaelbling)
5322
5323         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
5324         return type to boolean (Oskar Liljeblad, #18648)
5325
5326 2000-12-05  Alexander Larsson  <alexl@redhat.com>
5327
5328         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
5329         Remove bogus colormap setting.
5330
5331 2000-12-05  Alexander Larsson  <alexl@redhat.com>
5332
5333         * gdk/linux-fb/gdkcolor-fb.c:
5334         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
5335
5336         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
5337         Must set colormap.
5338         
5339 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
5340
5341         * docs/tutorial/gtk-tut.sgml: DND updates
5342
5343 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
5344
5345         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
5346         Remove old debug g_warning().
5347         (gdk_fb_draw_drawable): The src argument can be either a wrapper
5348         or an implementation, just pass the implementation to draw_drawable_2.
5349         
5350         * gdk/linux-fb/gdkprivate-fb.h:
5351         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
5352
5353         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
5354         clear and invalidate area when window is destroyed.
5355         (send_map_events): Remove old commented out code.
5356
5357 2000-12-05  Alexander Larsson  <alexl@redhat.com>
5358
5359         * gdk/linux-fb/gdkpango-fb.c:
5360         Use italic instead of oblique in font aliases.
5361         
5362         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
5363         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
5364         other unsupported functions.
5365
5366 2000-12-04  Havoc Pennington  <hp@redhat.com>
5367
5368         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
5369
5370         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
5371
5372         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
5373
5374         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
5375         hack to avoid infinite loops (synthetic expose event) - 
5376         Owen has more appropriate fixes in a branch he'll check in later.
5377
5378         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
5379         separator, CR, and CRLF as line ends
5380
5381         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
5382         into lines using pango_find_paragraph_boundary(); other bits of
5383         the widget are still going to be broken if the boundary isn't '\n'
5384         though
5385
5386 2000-12-04  Alexander Larsson  <alexl@redhat.com>
5387
5388         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
5389         multiply.
5390
5391         * gdk/linux-fb/gdkpango-fb.c:
5392         Copied some 26.6 scaling macros from pango to clean up the rounding.
5393         (pango_fb_font_get_glyph_info): Correct sign on x value.
5394
5395         * gdk/linux-fb/gdkprivate-fb.h:
5396         Removed unreferenced external functions.
5397
5398         * modules/linux-fb/Makefile.am: Use ` instead of '.
5399
5400         * modules/linux-fb/basic.c:
5401         Remove dead code. In particular the dummy lang engine which broke all
5402         pango layouts in GtkFB. Don't include tables-big.i anymore.
5403
5404         * modules/linux-fb/tables-big.i:
5405         Upgrade to latest version from pango. Left for reference, basic_ranges
5406         moved to basic.c.
5407         
5408 2000-12-04  Havoc Pennington  <hp@redhat.com>
5409
5410         Fix bugs Alex found:
5411         
5412         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
5413         to "draw"
5414
5415         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
5416
5417         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
5418
5419         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
5420         implementation in here, apparently the expose() implementation was
5421         dead code.
5422
5423 2000-12-04  Alexander Larsson  <alexl@redhat.com>
5424
5425         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
5426         Return positive descent.
5427
5428 2000-12-02  Havoc Pennington  <hp@pobox.com>
5429
5430         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
5431         method and signal
5432         
5433         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
5434         calls gdk_window_process_updates() to push the exposes through
5435         (gtk_widget_class_init): No more draw signal, no
5436         gtk_widget_real_draw()  
5437         
5438         * gtk/gtkbin.c (gtk_bin_draw): remove
5439
5440         * gtk/gtkbox.c (gtk_box_draw): remove
5441
5442         * gtk/gtkbutton.c (gtk_button_draw): remove
5443
5444         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
5445
5446         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
5447
5448         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
5449
5450         * gtk/gtkclist.c (gtk_clist_draw): remove
5451
5452         * gtk/gtkentry.c (gtk_entry_draw): remove
5453
5454         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
5455
5456         * gtk/gtkfixed.c (gtk_fixed_draw): remove
5457
5458         * gtk/gtkframe.c (gtk_frame_draw): remove
5459
5460         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
5461
5462         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
5463
5464         * gtk/gtklayout.c (gtk_layout_draw): remove
5465
5466         * gtk/gtklist.c (gtk_list_draw): remove
5467
5468         * gtk/gtklistitem.c (gtk_list_item_draw): remove
5469
5470         * gtk/gtkmenu.c (gtk_menu_draw): remove
5471
5472         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
5473
5474         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
5475
5476         * gtk/gtknotebook.c (gtk_notebook_draw): remove
5477
5478         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
5479
5480         * gtk/gtkpacker.c (gtk_packer_draw): remove
5481
5482         * gtk/gtkrange.c (gtk_range_draw): remove
5483
5484         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
5485
5486         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
5487
5488         * gtk/gtktable.c (gtk_table_draw): remove
5489
5490         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
5491
5492         * gtk/gtktext.c (gtk_text_draw): remove
5493
5494         * gtk/gtktextview.c (gtk_text_view_draw): remove
5495
5496         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
5497
5498         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
5499
5500         * gtk/gtktree.c (gtk_tree_draw): remove
5501
5502         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
5503
5504         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
5505
5506         * gtk/gtkviewport.c (gtk_viewport_draw): remove
5507
5508         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
5509
5510         * gtk/gtkvscale.c (gtk_vscale_draw): remove
5511
5512         * gtk/gtkwindow.c (gtk_window_draw): remove
5513
5514 2000-20-01  Anders Carlsson  <andersca@gnu.org>
5515
5516         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
5517         a GtkToggleButton is both insensitive and active, it was being
5518         drawn by the GtkButton draw handler which doesn't check the
5519         state. Now it's calling gtk_toggle_button_paint instead.
5520         
5521 2000-12-01  Havoc Pennington  <hp@redhat.com>
5522
5523         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
5524         dangling pointers to the appearance attributes from the 
5525         line display
5526
5527         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
5528         width/height to mean "full width/height of drawable"
5529
5530         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
5531         click to select word/line
5532         
5533         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
5534         when getting log attrs. Get a slice, so that pixmaps and stuff
5535         are properly handled.
5536
5537         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
5538         paste into the selection (replaces selection now, previously
5539         crashed or added to selection). Reveals longstanding btree bug -
5540         select multiple lines, middle-click on the selection, boom. This
5541         isn't related to my changes though.
5542
5543         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
5544         PangoLogAttrs changes
5545         (gtk_entry_move_backward_word): ditto
5546
5547         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
5548         functions return bool whether the iter moved onto a
5549         dereferenceable position.
5550  
5551         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
5552         functions for motion in terms of display lines.
5553
5554         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
5555         get the buffer a mark is inside
5556         
5557 2000-12-01  Alexander Larsson  <alexl@redhat.com>
5558
5559         * gdk/linux-fb/Makefile.am:
5560         * modules/linux-fb/Makefile.am:
5561         Freetype 2 final uses freetype-config
5562
5563         * gdk/linux-fb/gdkpango-fb.c:
5564         Upgrade to use Freetype 2 final.
5565         More flexible support for font aliases, this also fixes a bug with
5566         GtkFontSelector, as the aliases must be visible in the font/family list,
5567         or GtkFontSelector reads uninitialized memory.
5568
5569 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
5570
5571         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
5572         XGetIMValues to properly terminate variable argument list, and do
5573         NULL return check for ic_values and xim_styles.
5574
5575         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
5576         Restore preedit state after XmbResetIC().
5577         
5578         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
5579         XvaCreateNestedList() should take XvaNestedList, but not
5580         XvaNestedList*.
5581
5582         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
5583         preedit_draw_callback, preedit_caret_callback): Match
5584         "preedit-changed" signal name to "preedit_changed" to be
5585         consistent to the spec.
5586
5587         * gtk/gtkimcontextsimple.c (check_table):
5588         Match "preedit-changed" to "preedit_changed" to be consistent
5589         to the spec.
5590
5591 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
5592
5593         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
5594         gc->clip_region == NULL>
5595
5596 2000-11-30  Tor Lillqvist  <tml@iki.fi>
5597
5598         Changes by Hans Breuer:
5599         
5600         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
5601         Dont't use negative width and height as max_hints. This fixes
5602         Owen's recent testgtk changes for win32.
5603
5604         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
5605         gdk_win32_hdc_release): These are exported and may be called with
5606         other drawable types than our GdkDrawableImplWin32 (?).
5607
5608         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
5609         so always #define USE_BACKING_STORE.
5610
5611         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
5612         of printf for debugging output.
5613
5614         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
5615         
5616         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
5617
5618         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
5619         declaration.
5620
5621         * gtk/gtktexttypes.h: Ditto.
5622
5623         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
5624         (GDK_VoidSymbol) also if in case of arg check failure.
5625
5626         * gtk/gtkimcontextsimple.c
5627         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
5628         position to the pointer, but to the variable it points to.
5629
5630         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
5631
5632         * gtk/gtk.def: Updates.
5633
5634 2000-11-29  Elliot Lee  <sopwith@redhat.com>
5635
5636         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
5637         GTK_TYPE_TREE_MODEL.
5638
5639 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5640
5641         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
5642         Set the size of the font from the description.
5643         (gdk_text_width): Gross hack that calculates the width
5644         of text by text_length * size/2. This is necessary because
5645         GtkLabel does some ugly gtk_string_width call to calculate
5646         an good size.
5647         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
5648
5649 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
5650
5651         * docs/tutorial/gtk-tut.sgml: DND updates
5652
5653 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5654
5655         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
5656         If you pass width or height == 0 to gdk_window_clear_area they
5657         should be calculated from the window size.
5658
5659 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5660
5661         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
5662         a grab, but no grab-cursor, use the cursor from the grabbed
5663         window. (gdk_fb_window_send_crossing_events): Send normal
5664         enter/leave notifications if grab and owner_events == TRUE.
5665
5666 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5667
5668         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
5669         Do implicit button grabs, even if the window doesn't
5670         want the event.
5671         (gdk_fb_window_send_crossing_events): If there is a
5672         grab, only the grabbed window gets normal enter/leave
5673         notifications. On ungrab go from grabbed window to current.
5674         Don't send any notification to b when propagating from c -> b.
5675         If setting a grab on window, don't set prev_window.
5676         (handle_mouse_input): Send enter/leave events to the window the
5677         mouse is over, not the grabbed one.
5678         
5679 2000-11-28  Elliot Lee  <sopwith@redhat.com>
5680
5681         * gdk/gdkregion-generic.c: Zap warning.
5682         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
5683         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
5684
5685 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
5686
5687         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
5688         The cursor should be hidden if it is part of either the
5689         source or destination region. Not only if it is in both.
5690         (gdk_window_set_transient_for): Silence warnings.
5691
5692 2000-11-28  Alexander Larsson  <alexl@redhat.com>
5693
5694         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
5695         The default mode in X is Pie Arcs, therefore that is
5696         what Gtk+ uses.
5697
5698 2000-11-28  Alexander Larsson  <alexl@redhat.com>
5699
5700         * gdk/linux-fb/gdkinput-ps2.c:
5701         Implement correct EnterNotify/LeaveNotify:
5702         (gdk_fb_window_send_crossing_events): New function that sends
5703         all GdkCrossingEvents from the last mouse-window to the specified
5704         destination.
5705         (gdk_fb_window_visibility_crossing): Removed function.
5706         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
5707         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
5708         instead of gdk_window_get_pointer() for better readability.
5709
5710         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
5711         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
5712
5713         * gdk/linux-fb/gdkprivate-fb.h:
5714         removed gdk_fb_window_visibility_crossing, added
5715         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
5716
5717         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
5718         New function that finds the least common ancestor of two windows.
5719         (gdk_window_show, gdk_window_hide):
5720         Use gdk_fb_window_send_crossing_events.
5721         (gdk_fb_window_move_resize): Send configure events to toplevel
5722         windows. Use gdk_fb_window_send_crossing_events.
5723
5724 2000-11-27  Havoc Pennington  <hp@redhat.com>
5725
5726         * gtk/gtkprivate.h (enum): Remove a trailing comma
5727
5728 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
5729
5730         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
5731         the "changed" callback of the adjustment.  We need to redraw the
5732         spin button's arrows when the adjustment's range changes.
5733         (adjustment_changed_cb): Draw the arrows.
5734         (gtk_spin_button_value_changed): Draw the arrows.
5735
5736 2000-11-23  Alexander Larsson  <alexl@redhat.com>
5737
5738         * gdk/linux-fb/gdkselection-fb.c:
5739         Initial selection implementation.
5740
5741         * gtk/gtkselection.c:
5742         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
5743         requestor in gtk_selection_request.
5744         
5745         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
5746         Added gdk_selection_property atom.
5747
5748         * gdk/linux-fb/gdkprivate-fb.h:
5749         Export _gdk_selection_window_destroyed.
5750         Removed mask_off_x/y from GdkCursorPrivateFB.
5751         Removed hbearing, added top, left to PangoFBGlyphInfo.
5752
5753         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
5754         Call _gdk_selection_window_destroyed
5755         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
5756         the root window has been created.
5757         (static_dx_hack, static_dy_hack, compare_draw_rects,
5758         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
5759         in region. They are already sorted. Instead just traverse them in
5760         reverse if draw_direction < 0.
5761         
5762         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
5763         Double-clicks must be sent after the normal button_press.
5764         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
5765         
5766         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
5767         Pass _gdk_fb_screen_gc instead of NULL.
5768
5769         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
5770         Initialize gdk_selection_property.
5771         (gdk_event_make): Remove unused code.
5772
5773         * gdk/linux-fb/gdkcursor-fb.c:
5774         Make the pixmap for the cursor the same size as the mask. Also remove
5775         the mask_off_x/y fields in GdkCursorPrivateFB and combine
5776         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
5777         Now the whole cursor is visible.
5778
5779         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
5780         Fix bug where xdest+height instead of ydest+height was used
5781         to calculate if the source and dest overlapped. This fixes the
5782         redraw bug when the main window in testgtk was scrolled when
5783         partially covered by a tall window.
5784         Copy rectangles in region in order depending on draw_direction.
5785         Also moved the draw_direction flipping of start_y and end_y into
5786         the gc functions, as this might not be what all of them want.
5787         (gdk_fb_draw_lines): Support dashed lines.
5788         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
5789         so that the text is positioned correctly (was 1 pixel high).
5790
5791         gdk/linux-fb/gdkgc-fb.c:
5792         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
5793         all lines were drawn a pixel to short. Also checked the default of
5794         the rest of the values, and they're the same as X now.
5795
5796         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
5797         Clean up pixel positioning of the glyphs. Just use bgy->top and
5798         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
5799         to all divisions to get correct rounding behaviour.
5800
5801         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
5802         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
5803         Moved start_y/end_y flip into draw_drawable implementations.
5804         Flip also x rendering when draw_direction < 0.
5805         Remove unneccesary multiply with draw_direction.
5806
5807 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
5808
5809         * docs/tutorial/gtk-tut.sgml:
5810           - get rid of gtk_toggle_button_toggled FUD
5811           - start DND section - needs work - based on:
5812                 http://wolfpack.twu.net/docs/gtkdnd/
5813
5814 2000-11-22  Alexander Larsson  <alexl@redhat.com>
5815
5816         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
5817         Correct calculation of font metrics. Now GtkEntrys have sane
5818         size.
5819
5820 2000-11-22  Alexander Larsson  <alexl@redhat.com>
5821
5822         * gdk/gdktypes.h:
5823         Add new type GdkSpan
5824         
5825         * docs/reference/gdk/gdk-sections.txt,
5826         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
5827         gdk/gdkregion.h:
5828         Implement and document gdk_region_spans_intersect_foreach.
5829
5830         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
5831         Add new file gdkrender-fb.c which contains all core
5832         rendering code.
5833         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
5834         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
5835         (optimized rectangle fillers).
5836
5837         * gdk/linux-fb/gdkdrawable-fb2.c:
5838         Move all rendering code to gdkrender-fb.c.
5839         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
5840         Use the new span intersection functions in gdk_fb_fill_spans.
5841         gdk_fb_draw_rectangle() clips filled rectangles and calls
5842         gc->fill_rectangle with the result.
5843         gdk_fb_fill_spans() gets extra argument "sorted".
5844
5845         * gdk/linux-fb/gdkevents-fb.c:
5846         Remove unused includes and defines.
5847         New function gdk_fb_get_time() to get correct time for events.
5848
5849         * gdk/linux-fb/gdkinput-ps2.c:
5850         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
5851         Make sure to set the time of all events.
5852
5853         * gdk/linux-fb/gdkmain-fb.c:
5854         Use gdk_fb_get_time ().
5855
5856         * gdk/linux-fb/gdkprivate-fb.h:
5857         New virtual GC calls: fill_span & fill_rectangle.
5858         Export gdk_fb_get_time().
5859         gdk_fb_fill_spans() gets extra argument "sorted".
5860
5861         * gdk/linux-fb/mi*.c:
5862         Use GdkSpan instead of GdkRectangle.
5863         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
5864         from XFree 4 source)
5865         
5866 2000-11-22    <jrb@redhat.com>
5867
5868         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
5869         reversing the order in an if statement will do.  Doing so managed
5870         to make the treemodelsort half work.  Other half will follow after
5871         I get the insert function fully fixed.
5872
5873 2000-11-21  Elliot Lee  <sopwith@redhat.com>
5874         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
5875         more than 2 bits. Besides, I need to implement an evil hack. :)
5876
5877 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
5878
5879         * docs/tutorial/gtk-tut.sgml: minor corrections
5880
5881 2000-11-20  Jonathan Blandford <jrb@redhat.com>
5882         * gtk/gtktreemodelsort.h: Add convertion functions to let you
5883           convert to and from relative path's and iters.
5884
5885         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
5886           testing sorting functions a bit better.  Currently broken -- will
5887           fix in morning.
5888
5889 2000-11-20  Havoc Pennington  <hp@redhat.com>
5890
5891         * gtk/gtkwidget.c: Documented a bunch of functions in here
5892         (gtk_widget_realize): Warn if you try to realize
5893         a widget with no parent that isn't a toplevel
5894         (gtk_widget_intersect): return a gboolean
5895
5896 2000-11-20  Havoc Pennington  <hp@redhat.com>
5897
5898         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
5899         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
5900         scrolling to be implemented in GDK to finish. Also, right now
5901         we just size_allocate all children on every layout change,
5902         which is pretty lame. Test commented out of testtext.c, 
5903         until it works better.
5904
5905 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
5906
5907         * gdk/linux-fb/gdkdrawable-fb2.c:
5908         Removed unused arguments from gdk_fb_drawable_get_pixel().
5909
5910         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
5911         Renamed fidur specific mouse packet data in MouseDevice to
5912         generic. Used it in ps2 mouse handling code to avoid blocking
5913         reads.
5914
5915 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
5916
5917         * demos/gtk-demo/main.c: Changed to have the list become
5918         non-italic when the demo window is destroyed through an external
5919         event (like a close button).  Doing so found three bugs in the
5920         widget.
5921
5922         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
5923
5924         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
5925         we actually set the cell.
5926
5927         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
5928
5929         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
5930         free a leaked path.  Thanks memprof.
5931
5932 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
5933
5934         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
5935         off-by-one error when destroying allocated segments
5936         on failure. (Elliot)
5937
5938 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
5939
5940         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
5941         memleaks found by Evan Martin.
5942
5943 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
5944
5945         * Released 1.3.2
5946         
5947         * NEWS: Updates for 1.3.2
5948
5949 2000-11-17  Tor Lillqvist  <tml@iki.fi>
5950
5951         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
5952         but in general for window system specific events.
5953
5954         * gtk/gtk.def
5955         * gtk/makefile.mingw.in
5956         * gtk/makefile.msc.in: Update.
5957         
5958         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
5959
5960 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
5961
5962         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
5963         distribute gtk.immodules.
5964
5965         * gtk/Makefile.am (install-data-local): Don't install the
5966         gtk.immodules file created for the uninstalled modules;
5967         instead run gtk-query-immodules after install
5968
5969 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
5970
5971         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
5972         -rpath to the right install location.
5973
5974         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
5975         -export-dynamic.
5976
5977         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
5978         properly.
5979
5980 2000-11-15  Havoc Pennington  <hp@pobox.com>
5981
5982         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
5983         patch from Mikael Hermansson to temporarily stop blinking while
5984         the user is using the keyboard to type or navigate. 
5985
5986         Also, when blinking, stay on for longer than we stay off. Also,
5987         return from start_cursor_blink if !cursor_visible, to save
5988         checking that flag all over the place before we call
5989         start_cursor_blink.
5990
5991 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
5992
5993         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
5994         only contain a "fontset" line, which is now ignored.
5995
5996         * gtk/gtkentry.c (gtk_entry_button_release): Make 
5997         double-click-to-select-word work.
5998         
5999 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
6000
6001         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
6002         Don't move back one char when we are actually at the end of the 
6003         paragraph.
6004
6005 2000-11-15  Robert Brady  <robert@suse.co.uk>
6006
6007         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
6008         'o' < 'p'.
6009         
6010         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
6011         bind_textdomain_codeset.
6012
6013         (gtk_init_check): Make the warning about translating default:LTR
6014         sterner.
6015         
6016 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
6017
6018         * **/Makefile.am : remove unecessary rules for win32-specific
6019         config-substituted targets. If you want these rules, use
6020         --enable-maintainer-mode (called automatically by autogen.sh).
6021         Stops a lot of unneccessary make-time warnings.
6022
6023         * gtk/gtktext{layout,display}.c: Factor in total width as
6024         well as screen when figuring alignment for word-wrap as well as
6025         no wrap; this is necessary to handle lines that cannot be wrapped
6026         at all.
6027
6028 2000-11-15  Havoc Pennington  <hp@redhat.com>
6029
6030         * gtk/testtext.c: Implement essential color cycling feature
6031
6032 2000-11-15  Havoc Pennington  <hp@redhat.com>
6033
6034         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
6035         when we invalidate the main window.
6036
6037         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
6038         GtkTextView will now invalidate the side windows for us when text
6039         changes.
6040
6041 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
6042
6043         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
6044         unconditionally, since we may need to update the horizontal
6045         scrollbars even if the height didn't change.
6046
6047         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
6048         the extra attrs, since some of them affect size.
6049
6050         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
6051         x_offset correctly.
6052
6053 2000-11-15  Havoc Pennington  <hp@redhat.com>
6054
6055         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
6056         don't move the first line out into the margin, instead move the
6057         whole paragraph in order to make space for the first line within 
6058         the margin
6059
6060 2000-11-15  Havoc Pennington  <hp@redhat.com>
6061
6062         * gtk/gtktextview.c (changed_handler): offset redraw rect by
6063         xoffset in addition to yoffset, so horizontal scrolling doesn't
6064         break redraws
6065
6066 2000-11-15  Havoc Pennington  <hp@redhat.com>
6067
6068         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
6069         from the cursor
6070         (render_layout_line): fix reversed test that caused weird
6071         underlines to get drawn
6072
6073 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
6074
6075         * gdk/linux-fb/gdkprivate-fb.h:
6076         Fix debug macros.
6077         
6078 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
6079
6080         * gdk/linux-fb/gdkprivate-fb.h:
6081         Added virtual functions set_pixel, get_color,
6082         fill_span and draw_drawable to the GC.
6083         Added global _gdk_fb_screen_gc to use instead of
6084         NULL when drawing to the screen.
6085         Added _gdk_fb_gc_calc_state() prototype.
6086
6087         * gdk/linux-fb/gdkgc-fb.c:
6088         Call _gdk_fb_gc_calc_state() on any gc state change.
6089
6090         * gdk/linux-fb/gdkglobals-fb.c:
6091         Add _gdk_fb_screen_gc
6092                 
6093         * gdk/linux-fb/gdkdrawable-fb2.c:
6094         _gdk_fb_gc_calc_state() calculates best functions
6095         for the GC state and depth.
6096         Moved bpp specialized code to separate functions.
6097         Added optimized 24 bpp AA draw_drawable.
6098
6099         * gdk/linux-fb/gdkevents-fb.c:
6100         Silence gcc warning.
6101
6102         * gdk/linux-fb/gdkimage-fb.c:
6103         Use _gdk_fb_screen_gc
6104
6105         * gdk/linux-fb/gdkwindow-fb.c:
6106         Init and use _gdk_fb_screen_gc
6107
6108         * gdk/linux-fb/mitypes.h:
6109         Remove unused types.
6110
6111 2000-11-14  Havoc Pennington  <hp@pobox.com>
6112
6113         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
6114         to pixels
6115
6116 2000-11-14  Havoc Pennington  <hp@pobox.com>
6117
6118         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
6119
6120         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
6121         unknown char, no real reason we were using a variable. 
6122         Remove gtk_text_unknown_char variable. Fix all the text widget
6123         files accordingly.
6124
6125         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
6126         since the Unicode spec seems to prefer that character for our
6127         purposes.
6128
6129 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
6130
6131         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
6132         value of g_getenv() isn't freeable, so g_strdup it.
6133
6134         * modules/input/inuktitut.c: Inuktitut input method.
6135
6136         * modules/input/Makefile.am: Build this.
6137         
6138 2000-11-14  Elliot Lee  <sopwith@redhat.com>
6139
6140         * gtk/Makefile.am: Install gtk.immodules, needed for operation
6141         of gtk programs.
6142
6143 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
6144
6145         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
6146         reversed > that was causing Home to go to end of previous line.
6147
6148         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
6149         modified-keypresses (leave for bindings.)
6150
6151         * modules/input/Makefile.am: Remove useless -export-dynamic
6152         from module LDFLAGS.
6153
6154 2000-11-14  Havoc Pennington  <hp@redhat.com>
6155
6156         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
6157         higher.
6158
6159         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
6160         account. Also, render rise, underline, background, etc. for
6161         pixbufs as well as text. Also, draw underlines one pixel higher.
6162
6163         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
6164         PangoAttribute for the rise, so it gets drawn properly. Also,
6165         add the GtkTextAppearance attribute for pixbuf/widget segments
6166         as well; we should go ahead and have rise, underline, background,
6167         stipple work for those
6168
6169         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
6170         Pango
6171
6172 2000-11-15  Tor Lillqvist  <tml@iki.fi>
6173
6174         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
6175
6176         * gtk/gtk.def: Update.
6177
6178         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
6179         included.
6180         (gtk_rc_get_im_module_file): Use run-time installation directory
6181         on Win32.
6182
6183         * gdk/win32/rc/gdk.rc: Remove.
6184         * gdk/win32/rc/gdk.rc.in: New file.
6185         * gdk/win32/rc/Makefile.am: New file
6186         * gdk/win32/Makefile.am: Corresponding changes.
6187
6188         * gtk/gtk.rc: Remove.
6189         * gtk/gtk-win32.rc.in: New file.
6190         * gtk/Makefile.am: Corresponding changes.
6191
6192         * configure.in: Corresponding changes.
6193
6194         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
6195         has a built gtkcompat.h. Developers using CVS code on Win32 can
6196         hand-edit it from gtkcompat.h.in.
6197
6198         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
6199         gtkcompat.h from gtkcompat.h.win32.
6200
6201 2000-11-14  Havoc Pennington  <hp@redhat.com>
6202
6203         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
6204         to default to GDK_ACTION_MOVE if the drag is within a single
6205         widget. Defaults to GDK_ACTION_COPY between widgets.
6206
6207 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
6208
6209         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
6210
6211         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
6212
6213         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
6214         srcdir != builddir
6215
6216         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
6217
6218         * configure.in (GTK_VERSION): Up to 1.3.2
6219
6220         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
6221         gtkimcontextxim.h
6222
6223         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
6224         missing doc comment.
6225
6226 2000-11-14  Alexander Larsson  <alexl@redhat.com>
6227
6228         * modules/linux-fb/basic.c:
6229         Use the glib iconv wrappers.
6230
6231 2000-11-13  Havoc Pennington  <hp@pobox.com>
6232
6233         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
6234         still more bugs.
6235
6236         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
6237         scroll the GdkWindows before realization.
6238
6239 2000-11-13  Havoc Pennington  <hp@redhat.com>
6240
6241         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
6242         where GC didn't always get updated properly
6243
6244         * demos/gtk-demo/textview.c (create_tags): Use subattributes
6245         of fonts instead of setting the entire font
6246
6247         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
6248         setting entire font
6249
6250         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
6251
6252         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
6253         a bunch of individually-settable font attributes. You can still 
6254         use the "font" and "font_desc" args, they just set all the font
6255         attributes at once.
6256
6257 2000-11-13 Elliot Lee <sopwith@redhat.com>
6258
6259         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
6260
6261 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
6262
6263         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
6264         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
6265
6266         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
6267         work better.
6268
6269 2000-11-13  Havoc Pennington  <hp@redhat.com>
6270
6271         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
6272         the module file.
6273
6274         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
6275         dest->language
6276
6277         * gtk/testtext.c: Test pixels above/below/inside paragraphs
6278         settings
6279
6280         * gtk/gtktextview.c: Implement object args and setters/getters for
6281         all the aspects of the GtkTextAttributes that are not set from
6282         GtkWidget attributes. This is spacing, justification, margins,
6283         etc.
6284
6285         (gtk_text_view_set_arg)
6286         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
6287         args
6288         (gtk_text_view_class_init): Add args for justify, left_margin,
6289         right_margin, indent, and tabs
6290         
6291
6292         * gtk/gtktextlayout.c (set_para_values): fix to display indent
6293         attribute properly
6294
6295         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
6296         replace with indent attribute
6297
6298         * gtk/gtktextlayout.c (set_para_values): multiply indent by
6299         PANGO_SCALE
6300
6301         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
6302         rearranging code to do that
6303         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
6304         i.e. don't subtract the top_margin first, just to keep
6305         all margin-futzing in one place.
6306
6307         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
6308
6309         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
6310         special case of last line, Pango now handles this itself.
6311         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
6312         Y coordinate
6313         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
6314         (find_display_line_above): wasn't moving the byte index as it
6315         iterated over lines, so always returned byte 0. Also, port to use
6316         PangoLayoutIter.
6317         (find_display_line_below): same problem as
6318         find_display_line_above. Also, port to use PangoLayoutIter.
6319
6320 2000-11-13  Alexander Larsson  <alexl@redhat.com>
6321
6322         * gdk/linux-fb/*.[ch]:
6323         Massive reindent to gtk+ standard. My hands hurt.
6324
6325         * gdk/linux-fb/gdkcolor-fb.c:
6326         Move GdkColorPrivateFB from inherited to windowing_data
6327
6328         * gdk/linux-fb/gdkcursor-fb.c:
6329         _gdk_cursor_new_from_pixmap made static
6330
6331         * gdk/linux-fb/gdkdnd-fb.c:
6332         GdkDragContextPrivate moved to windowing_data
6333
6334         * gdk/linux-fb/gdkdrawable-fb2.c:
6335         Removed endian.h, use glib endianness macros instead
6336         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
6337         and GDK_DRAWABLE_IMPL_FBDATA
6338
6339         * gdk/linux-fb/gdkfont-fb.c:
6340         Add empty gdk_font_load(). Needed for linking of Gtk+.
6341
6342         * gdk/linux-fb/gdkimage-fb.c:
6343         Removed endian.h, use glib endianness macros instead
6344         Moved GdkImagePrivateFB to windowing_data
6345         gdk_image_new_bitmap didn't always allocate enough
6346         memory.
6347
6348         * gdk/linux-fb/gdkinput-ps2.c:
6349         Added semi-working support for MS serial mice.
6350
6351         * gdk/linux-fb/gdkprivate-fb.h:
6352         s/GdkWindowPrivate/GdkWindowObject/
6353         Removed GdkWindowPrivate typedef
6354         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
6355         Removed GDK_DRAWABLE_P
6356         Move GdkColorPrivateFB from inherited to windowing_data
6357         Moved GdkImagePrivateFB to windowing_data
6358
6359         * gdk/linux-fb/gdkvisual-fb.c:
6360         Removed some unused debug code.
6361
6362         * gdk/linux-fb/gdkwindow-fb.c:
6363         Use stock cursors instead of including X headers.
6364         s/GdkWindowPrivate/GdkWindowObject/
6365
6366         * gdk/linux-fb/mitypes.h:
6367         Removed unused types.
6368
6369         * modules/linux-fb/basic.c:
6370         Use the pango fribidi wrappers.
6371
6372 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6373
6374         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
6375         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
6376         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
6377         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
6378         GEqualFunc where applicable.
6379         
6380         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
6381         pango_font_description_equal as changed in pango.
6382         
6383         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
6384
6385         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
6386
6387         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
6388
6389         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
6390
6391         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
6392
6393         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
6394
6395         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
6396         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
6397
6398         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
6399         gtk_rc_styles_compare -> gtk_rc_styles_equal.
6400
6401 2000-11-12  Havoc Pennington  <hp@pobox.com>
6402
6403         * demos/gtk-demo/Makefile.am (democodedir): change demo install
6404         dir to datadir/gtk+-2.0/demo
6405
6406         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
6407         sorts of text widget and Pango font bugs. Urgh.
6408
6409         * demos/gtk-demo/Makefile.am (demos): Add textview.c
6410
6411         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
6412         tree that you should double click to see the demo. Fix 
6413         types of variables to reflect changed return values from 
6414         GtkTreeStore and GtkTreeViewColumn constructors.
6415
6416         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
6417         newly-created buffer to prepare for GObject semantics
6418
6419         * gtk/testtext.c: don't leak the buffer with GObject semantics
6420
6421         * gtk/testtextbuffer.c: ditto
6422         
6423 2000-11-12  Havoc Pennington  <hp@pobox.com>
6424
6425         Rename this testgtk to gtk-demo to avoid confusion, and 
6426         install it so people can use it as a supplement to 
6427         the documentation.
6428         
6429         * demos/gtk-demo: Moved from demos/testgtk
6430
6431         * demos/testgtk: Removed
6432
6433         * configure.in: make Makefile in gtk-demo
6434         
6435         * demos/gtk-demo/Makefile.am: Install sample source to 
6436         datadir/gtk-demo (maybe there's a better place?), and 
6437         rename the binary to gtk-demo
6438         
6439         * demos/gtk-demo/main.c (load_file): Load installed sample
6440         source if source isn't found in pwd.
6441
6442 2000-11-09  Havoc Pennington  <hp@pobox.com>
6443
6444         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
6445         argument to set the char displayed when visibility == FALSE
6446         (gtk_entry_create_layout): If !entry->visible, replace 
6447         all chars with the "invisible char"
6448
6449         * gtk/testgtk.c: Test the invisible_char deal
6450         
6451 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
6452
6453         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
6454         can't get a native font in the right encoding.
6455
6456 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
6457
6458         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
6459         respectively.
6460
6461 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
6462
6463         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
6464         Fix warning when moving between paragraphs.
6465
6466         * gtk/gtkentry.[ch]: Change move => move_cursor, 
6467         delete => delete_from_cursor, insert => insert_at_cursor
6468
6469 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
6470
6471         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
6472
6473         * modules/input/imthai-broken.c: A Thai input method for use if
6474         Thai keys are really generating Latin1 keysyms.
6475
6476         * modules/input/Makefile.am: Build these.
6477
6478 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
6479
6480         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
6481         g_filename_{to,from}_utf8 now takes an extra parameter.
6482
6483         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
6484         strftime into UTF-8.
6485
6486         (column_from_x, gtk_calendar_paint_day_names): Support RTL
6487         calendars.
6488
6489         (gtk_calendar_paint_day_names): Draw day names in the right 
6490         place.
6491         
6492 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
6493
6494         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
6495         problem with using result of g_get_charset() backwards -
6496         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
6497
6498         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
6499         negative min_width/height and max_width/height to
6500         mean "requisition"; this allows setting a window
6501         to be user-resizable in only one direction easily.
6502
6503         * gtk/testgtk.c (create_main_window): Remove hard-coded
6504         usize - set a default size in the vertical direction.
6505
6506 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
6507
6508         * gtk/gtkrange.c: Add some missing casts. Support 
6509         2 and 3 button clicks on the arrows to mean 
6510         "move by pages" and "jump to end". (Like gtkspinbutton)
6511
6512 2000-11-12 Hans Breuer <Hans@Breuer.Org>
6513
6514         * gdk/win32/makefile.msc : reflect build module changes
6515
6516         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
6517         from GdkPixmap*, cast implementation member instead.
6518
6519         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
6520         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
6521         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
6522         more Gdi functions return value checking. 
6523         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
6524         GdkImagePrivateWin32 *.
6525
6526         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
6527         menus useable again. Add #pragma message to keep reminded on this issue.
6528         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
6529         windows. This allows to enable backing store on Win32!
6530
6531         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
6532         in drawable is of impl type. Correct specific type checks appropriate.
6533  
6534         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
6535         GDK_WINDOW_DESTROYED before allocating new resources.
6536
6537         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
6538
6539         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
6540         (gdk_window_foreign_new) initialize parent handle.
6541         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
6542
6543         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
6544         Let the GDI invalidate the window on MoveWindow call to fix scrolling
6545         problems (e.g. main buttons in testgtk). 
6546
6547 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
6548
6549         * gtk/gtkentry.c (gtk_entry_key_press): Call 
6550         gtk_widget_activate for GDK_Return.
6551
6552         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
6553         of preedit cursor position.
6554
6555 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
6556
6557         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
6558         static.
6559
6560 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
6561
6562         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
6563         out support for multiple locales; that simple doesn't
6564         work reliably with current Xlib
6565
6566         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
6567         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
6568         Add support for positioning the cursor within the preedit string.
6569
6570 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
6571
6572         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
6573         at XIM input method module.
6574
6575         * gtk/gtktextview.c: Check for bindings after passing
6576         events to im context filter.
6577
6578 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
6579
6580         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
6581         empty attribute lists properly.
6582
6583 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
6584
6585         * gtk/queryimmodules.c (main): Return non-zero exit
6586         status if errors were encountered querying any
6587         modules.
6588
6589         * modules/input/Makefile.am (moduledir): remove
6590         leftover bin program target.
6591
6592         * docs/make-todo: Fix typo in error message.
6593
6594 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
6595
6596         * configure.in: Add modules/input/Makefile
6597
6598 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
6599
6600         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
6601         don't include gtkthemes.h.
6602
6603         * gtk/testgtk.c gtk/testtext.c: Set environment variables
6604         to point
6605
6606         * gtk/Makefile.am: Add new .c and .h files, build 
6607         gtk-query-immodules and use it to create a gtk.immodules
6608         file for use of test programs.
6609
6610         * gtk/gtkpreview.c: remove extra blank line.
6611
6612 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
6613
6614         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
6615         Add the ability to add extra tables beyond the default
6616         one, and also the ability to have compose sequences 
6617         that are prefixes of other compose sequences. 
6618
6619         * gtk/gtkimcontextsimple.c: Export a preedit string which
6620         consists of possible candidates for keystrokes that have
6621         been entered but not yet committed.
6622
6623         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
6624         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
6625
6626         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
6627         Add a function to add input-method switching menu items
6628         to a menu.
6629
6630         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
6631         when switching input methods.
6632
6633         * gtk/gtkimcontextsimple.[ch]: Change the format of
6634         the compose table to allow compose tables of different
6635         lengths / sequence.
6636
6637 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
6638
6639         * gtk/gtkimmodule.[ch]: Support routines for loading
6640         GtkIMContext implementations dynamically at runtime.
6641
6642         * modules/input/imcyrillic-translit.c: A sample input
6643         method (based on GtkIMContextSimple with an extra table),
6644         which demonstrates preedit strings and the module
6645         system for input modules
6646
6647         * gtk/queryimmodules.c: Program to query the available
6648         input modules and write the results into a file.
6649          
6650         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
6651         extra config options "im_module_file" (cache file for
6652         input method modules), and "im_module_path" - path
6653         to look for modules when generating cache file.
6654
6655         This doesn't scale.
6656
6657 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
6658
6659         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
6660         generic code from gtkthemes into a new abstraction
6661         GtkModule which has the logic for implementing
6662         a loadable module which implements a number of 
6663         GObject types.
6664
6665 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
6666
6667         * gtk/gtkeditable.[ch]: Convert GtkEditable from
6668         a class into an interface  
6669         
6670         * gtk/gtkoldeditable.[ch]: Move the old editable
6671         implementation into here, so legacy widgets can
6672         still rely on the implemenation. GtkOldEditable
6673         exports GtkEditable. Make selection handling
6674         code use new text conversion functions (and
6675         handle UTF-8 as a side-effect). Use GtkClipboard
6676         for CLIPBOARD.
6677
6678         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
6679         Adopt to match above changes.
6680
6681         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
6682         avoid GtkOldEditable implementation. Restructure
6683         to reduce number of places that modify state directly.
6684         Move to GtkBindingSet. Display the preedit string.
6685         Queue recomputation of PangoLayout and scroll position
6686         to improve effiency of doing complex changes naively.
6687         Add a menu with cut/copy/paste and input method selection.
6688
6689 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
6690
6691         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
6692         to set preedit string and attributes; display preedit string by
6693         inserting string and attributes at cursor when creating the
6694         GtkTextLineDisplay.
6695
6696         * gtk/gtktextlayout.c: Move all conversions between byte
6697         positions in PangoLayout and GtkTextIter into new functions
6698         line_display_iter_to_index/index_to_iter that properly
6699         handle the preedit string.
6700
6701         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
6702         it to return const char * (eventually will end up
6703         as GCONST char *, most likely.)
6704
6705         * gtk/gtktextview.[ch]: Handle the preedit string, call
6706         gtk_im_context_reset() as necessary, add a menu to switch
6707         input methods.
6708         
6709         * gtk/gtktextlayout.[ch]: Remove useless
6710         gtk_text_layout_get_log_attrs() function.
6711
6712 2000-11-11  Tor Lillqvist  <tml@iki.fi>
6713
6714         * gdk/gdk.def
6715         * gtk/gtk.def: Update.
6716
6717         * gdk/win32/*.c: Add last argument to g_type_register_static()
6718         calls.
6719
6720         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
6721
6722         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
6723         generated by older wheel mouse drivers. Get the correct y
6724         coordinate from WM_MOUSEWHEEL messages.
6725
6726         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
6727         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
6728         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
6729         Debugging functions.
6730
6731         * gdk/win32/gdkprivate-win32.h: Declare them.
6732
6733         * gdk/win32/gdkinput-win32.h: Add declaration for
6734         gdk_input_window_destroy().
6735
6736         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
6737
6738 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
6739
6740         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
6741         function to help handle keeping things in sync.
6742
6743 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
6744
6745         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
6746         BOXED marshallers.
6747
6748         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
6749         (gtk_list_store_class_init): use the new BOXED marshallers.
6750
6751         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
6752         new_with_values to new_with_types.
6753         (gtk_tree_store_get_column_type): add this.
6754         (gtk_tree_store_class_init): use the new BOXED marshallers.
6755
6756         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
6757         mirror some POINTER marshallers.
6758
6759 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
6760
6761         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
6762         allow more interesting iterators.  Also, made the lifecycle of
6763         iterators more explicit.
6764
6765         * gtk/gtktreemodelsort.[ch]: New model for sorting.
6766
6767         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
6768         types.
6769
6770 2000-11-09  Alexander Larsson  <alexl@redhat.com>
6771
6772         * demos/testgtk/menus.c:
6773         Changes to make the new testgtk compile after
6774         gtk_menu_append was removed.
6775
6776         * gdk/linux-fb/gdkdrawable-fb2.c
6777         (gdk_fb_get_depth, gdk_fb_get_visual,
6778         gdk_drawable_impl_fb_class_init): Implement
6779         these drawable functions. Now GtkImages work again.
6780
6781         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
6782
6783         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
6784         
6785         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
6786         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
6787         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
6788         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
6789
6790 2000-11-08  Havoc Pennington  <hp@pobox.com>
6791
6792         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
6793         visible_set args, don't know where these had gone, I thought they
6794         used to be there
6795
6796         * gtk/testtext.c: Add a menu item to apply invisibility tag;
6797         now we can test the feature and see that it's totally broken.
6798
6799 2000-11-08  Havoc Pennington  <hp@pobox.com>
6800
6801         Make DND copy pixbufs and tags when source and target share a 
6802         tag table.
6803         
6804         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
6805         in-process GTK_TEXT_BUFFER_CONTENTS target
6806         (gtk_text_view_drag_data_received): Paste from
6807         GTK_TEXT_BUFFER_CONTENTS if we receive it.
6808
6809 2000-11-08  Alexander Larsson  <alexl@redhat.com>
6810
6811         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
6812         API changes.
6813
6814         * gtk/gtkmenu.c: Add support for scrolling menus.
6815         Remove gtk_menu_append/prepend/insert, these have been moved to
6816         gtkcompat.h as #defines.
6817
6818         * gtk/gtkcompat.h.in:
6819         Add compatibility #defines for gtk_menu_append/prepend/insert
6820
6821         * gtk/gtkmenu.h: Add data needed for scrolling menus.
6822         GtkMenuPositionFunc gets an extra argument push_in.
6823         gtk_menu_append/prepend/insert removed.
6824         
6825         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
6826         positioning behaviour to fit to scrolling menus.
6827
6828         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
6829         into menuitem->submeny. That is wrong, and broke torn
6830         off submenus of torn off menus, since they were unrealized
6831         when the first menu was unrealized.
6832
6833         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
6834         gtk_menu_shell_select_item() since these need to be overridden in
6835         GtkMenu.
6836
6837         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
6838         positioning behaviour to fit to scrolling menus.
6839         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
6840         the current item so that it is prelighted when the menu pops up.
6841         This is a workaround to the fact that the menu doesn't get the
6842         initial enter event (due to grabs).
6843
6844         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
6845         s/gtk_menu_append/gtk_menu_shell_append/
6846
6847         * gtk/gtknotebook.c:
6848         s/gtk_menu_insert/gtk_menu_shell_insert/
6849
6850         * gtk/testgtk.c (create_menu, create_menus):
6851         Create the first menu with 50 items so that menu scrolling
6852         can be tested.
6853         
6854         
6855         Patch from Jonathan Blandford  <jrb@redhat.com>
6856
6857         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
6858         system to handle size requests.  First, we ask what the size of
6859         the toggle is.  Then, when allocating the size, we allocate the
6860         toggle_size first.  This way we can have multiple menu-item
6861         classes w/o needing a seperate class for each.
6862
6863         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
6864         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
6865
6866         * gtk/gtkcheckmenuitem.c
6867         (gtk_check_menu_item_toggle_size_request): New function to handle
6868         the toggle size-request.
6869
6870 2000-11-07  Havoc Pennington  <hp@redhat.com>
6871
6872         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
6873         Half-ass somewhat fix this function, so that scrolling to the
6874         insertion point works. Pango hacking is in the future to really
6875         fix it.
6876
6877         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
6878         length of data, no longer used.
6879
6880         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
6881         method contents in here, get rid of destroy method
6882         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
6883         that were backward. Remove debug spew.
6884         (cut_or_copy): Make the clipboard work with insert_range to
6885         preserve tags and pixbufs, not just the primary selection.
6886
6887 2000-11-07  Havoc Pennington  <hp@redhat.com>
6888
6889         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
6890         to gtk_text_mark_get_visible
6891
6892         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
6893         bug that was generating an invalid iterator
6894
6895         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
6896         ensure_char_offsets() in front of code placing the iter in an
6897         invalid state.
6898
6899         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
6900         make override_location arg const
6901         (paste): Replace the selection if we paste into the 
6902         current selection
6903
6904         * gtk/gtkselection.h: Remove "GtkSelectioData"
6905         (struct _GtkSelectionData): move the definition here.
6906
6907         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
6908         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
6909
6910         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
6911
6912         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
6913         (gtk_text_buffer_insert_range_interactive): implement
6914         (gtk_text_buffer_get_tags): Remove, replaced by
6915         gtk_text_iter_get_tags()
6916
6917         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
6918         limit parameter, to avoid infinite linear scan.
6919         (gtk_text_iter_backward_search): Add search limit
6920         (gtk_text_iter_forward_find_char): Add search limit
6921         (gtk_text_iter_backward_find_char): Add search limit
6922
6923 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
6924
6925         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
6926         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
6927         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
6928         gdk/linux-fb/gdkwindow-fb.c:
6929         use g_object_new() instead of g_type_create_instance() which
6930         is a private function for fundamental type implementations.
6931
6932         * gdk/linux-fb/gdkinput-ps2.c:
6933         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
6934         instead just store the current modifier state. Add a (somewhat broken)
6935         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
6936         Rename exported function gdk_input_ps2_get_mouseinfo to
6937         gdk_input_get_mouseinfo.
6938
6939         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
6940         gdk/linux-fb/gdkwindow-fb.c:
6941         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
6942         
6943
6944 2000-11-02  Havoc Pennington  <hp@redhat.com>
6945
6946         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
6947         use stock buttons. Should be 100% source compatible, appropriate
6948         filesel fields now point to dialog->vbox and dialog->action_area.
6949         On the bizarre side, dialog->action_area and filesel->action_area
6950         are not the same widget.
6951         (gtk_file_selection_init): Put some padding around the selection
6952         entry, so it isn't touching the GtkDialog separator.    
6953
6954         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
6955         use stock buttons, etc. Should also be source compatible.
6956         Set the dialog default title in _init not _new().
6957         
6958         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
6959         Use stock buttons; don't put a button box inside the existing
6960         dialog button box. Don't bother with push/pop colormap anymore.
6961
6962         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
6963         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
6964         for message dialog, and necessary for the font selection and color
6965         selection with help and apply buttons.
6966         
6967         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
6968         to the created button widget. Set GTK_CAN_DEFAULT on the button.
6969         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
6970         between buttons, put less padding around the action area.
6971         (gtk_dialog_run): Exit on unmap rather than on destroy. 
6972         This will also exit the loop if the widget is hidden.
6973         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
6974         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
6975         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
6976         special-case delete event.
6977
6978         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
6979         formatting
6980         
6981 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
6982
6983         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
6984         button to temporarily disable position recording in the
6985         "saved position" test.
6986
6987 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
6988
6989         * gtk/gtkthemes.c: added compat code that temporarily implements
6990         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
6991         going to be revamped by owen's upcoming GtkModule patches, but
6992         untill then people want gtk to build, right? ;)
6993
6994 2000-11-04  Havoc Pennington  <hp@pobox.com>
6995
6996         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
6997         list
6998
6999         * docs/Changes-2.0.txt: Add note about
7000         gtk_container_get_toplevels()
7001
7002         * gtk/gtktextview.h: formatting
7003         
7004         * gtk/gtktextview.c: don't start descriptions with "Returns",
7005         confuses gtk-doc
7006
7007 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
7008
7009         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
7010         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
7011
7012 2000-11-03  Havoc Pennington  <hp@redhat.com>
7013
7014         * gtk/gtktexttagtable.c: Docs
7015         (gtk_text_tag_table_size): return a signed int
7016
7017         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
7018         (gtk_text_tag_event): make the event_object a GObject
7019
7020         * gtk/gtktextview.c: Write API docs for all functions.
7021
7022         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
7023         for gtk_text_view_get_window_type() called on one of the private
7024         windows.
7025
7026         * gtk/gtktextview.c: Instead of accessing text_view->buffer
7027         directly, call get_buffer() which demand-creates a default
7028         buffer. So gtk_text_view_new() can be used to create a view with a
7029         default buffer in it, if you just want an empty text box users can
7030         put data in. Useful for GUI builders also.
7031
7032 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
7033
7034         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
7035         the charset encodign portion MUST be in lowercase.
7036         * gtk/gtkrc.az: added file for Azeri language
7037
7038 2000-11-03  Havoc Pennington  <hp@redhat.com>
7039
7040         Get widgets working on the btree/buffer side. Display of them 
7041         still doesn't work.
7042         
7043         * gtk/gtktextview.c: start implementing child widget stuff
7044
7045         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
7046
7047         * gtk/gtktextlayout.c: handle embedded widgets
7048
7049         * gtk/gtktextdisplay.c: handle embedded widgets
7050
7051         * gtk/gtktextchild.c: Implement all the child anchor goo
7052
7053         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
7054         function
7055
7056         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
7057         (insert_pixbuf_or_widget_segment): abstract out common portions of 
7058         creating a child anchor or a pixbuf segment.
7059         (gtk_text_btree_create_child_anchor): new function
7060         (gtk_text_btree_unregister_child_anchor): new function
7061
7062         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
7063         allocate_child signal on GtkTextLayout
7064
7065         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
7066         values
7067         (gtk_text_iter_get_child_anchor): new function
7068
7069         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
7070         default handler for the changed signal, which calls
7071         gtk_text_buffer_set_modified(), instead of just always emitting
7072         changed then calling set_modified() manually. I guess this is
7073         maybe more flexible. It seems logical.
7074
7075 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
7076
7077         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
7078         now.
7079
7080         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
7081
7082 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
7083
7084         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
7085         been marked static.
7086
7087 2000-11-02  Havoc Pennington  <hp@redhat.com>
7088
7089         * gtk/testgtk.c (create_labels): had a test backward
7090
7091         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
7092         fields, so the dest GC ends up with the correct clip origin, 
7093         etc. Fixes a bug where colored labels didn't redraw 
7094         properly.
7095
7096 2000-11-02  Alexander Larsson  <alexl@redhat.com>
7097
7098         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
7099         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
7100         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
7101         Add last argument to t_type_register_static call.
7102         
7103         * gdk/linux-fb/gdkdrawable-fb2.c:
7104         Add last argument to t_type_register_static call.
7105         export the get_image drawable virtual function.
7106
7107         * gdk/linux-fb/gdkimage-fb.c:
7108         Add last argument to t_type_register_static call.
7109         rename gtk_image_get to _gdk_fb_get_image and
7110         export it for use by gdkdrawable-fb2.
7111
7112         * gdk/linux-fb/gdkprivate-fb.h:
7113         export _gdk_fb_get_image.
7114
7115         * gdk/linux-fb/gdkselection-fb.c:
7116         Add new api call stubs.
7117
7118         * gtk/Makefile.am:
7119         Missing ( in linux-fb part.
7120
7121         * modules/linux-fb/Makefile.am:
7122         Must link with gdk_pixbuf or get unresolved symbol.
7123
7124 2000-11-01  Havoc Pennington  <hp@pobox.com>
7125
7126         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
7127         GTK_TYPE_TEXT_ITER and BOXED marshallers
7128
7129         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
7130
7131         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
7132         
7133         * gtk/gtk-boxed.defs: add GtkTextIter
7134
7135         * gtk/gtkmarshal.list: Add marshallers for text widget that 
7136         properly use OBJECT and BOXED
7137
7138 2000-11-01  Havoc Pennington  <hp@redhat.com>
7139
7140         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
7141
7142         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
7143         before returning it. 
7144         
7145 2000-11-01  Havoc Pennington  <hp@redhat.com>
7146
7147         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
7148         Clip the rectangle to be rendered to the drawable, since
7149         get_from_drawable() requires a region within the drawable
7150
7151 2000-11-01  Havoc Pennington  <hp@redhat.com>
7152
7153         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
7154         from coordinates.
7155
7156 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
7157
7158         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
7159         it isn't NULL.
7160
7161 2000-11-01  Havoc Pennington  <hp@pobox.com>
7162
7163         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
7164         on a label
7165         (gtk_label_finalize): unref the attr list if any.
7166
7167         * gtk/testgtk.c (create_get_image): close test on second click
7168         (make_message_dialog): close dialog if it exists
7169
7170         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
7171
7172         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
7173         gdk-pixbuf
7174
7175         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
7176         from Pango markup format
7177         (gtk_label_set_markup_with_accel): ditto but with accelerator
7178         parsing
7179
7180         * gtk/gtkimage.c (gtk_image_expose): reformatting.
7181
7182         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
7183         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
7184         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
7185         call gdk_window_get_origin().
7186
7187         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
7188         implement GDK_PIXBUF_ALPHA_FULL
7189         
7190 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
7191
7192         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
7193         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
7194         g_signal_handlers_disconnect_matched to block/unblock and disconnect
7195         multiple handlers respectively, instead of only treating the
7196         first handler found (bug reported by owen).
7197
7198 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
7199
7200         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
7201
7202         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
7203
7204         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
7205         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
7206         gtk/gtktreeviewcolumn.h: Fixed inline docs.
7207
7208         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
7209         widget.  Needs writing someday.
7210
7211         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
7212         the docs.
7213
7214 2000-10-30  Havoc Pennington  <hp@redhat.com>
7215
7216         * gtk/gtktextview.h, gtk/gtktextview.c:
7217         Rename delete_at_cursor delete_from_cursor, and 
7218         move to move_cursor.
7219
7220 2000-10-30  Havoc Pennington  <hp@redhat.com>
7221
7222         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
7223         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
7224         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
7225         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
7226         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
7227         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
7228         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
7229         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
7230         gtktexttypes.h, gtktextview.c, gtktextview.h:
7231
7232         Massive reindentation and reformatting. Arg alignment and comments
7233         still need fixing in various places.
7234
7235 2000-10-30  Havoc Pennington  <hp@redhat.com>
7236
7237         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
7238         to be named insert_at_cursor and delete_at_cursor so C++ can
7239         handle them.
7240
7241 2000-10-28  Tor Lillqvist  <tml@iki.fi>
7242
7243         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
7244         to get a double directory separator in case the home directory
7245         ends with one. This would cause trouble especially on Windows,
7246         where the path will be confused with the syntax for an an UNC
7247         (network share) path \\server\share\path.
7248         (gtk_rc_add_initial_default_files): Ditto.
7249
7250 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
7251
7252         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
7253
7254         * gtk/gtktextview.c: Use correct marshallers.
7255
7256 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
7257
7258         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
7259         use new iter stuff, and added all the appropriate signals et al.
7260
7261         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
7262         code is internal to gtk only.
7263
7264 2000-10-28  Tor Lillqvist  <tml@iki.fi>
7265
7266         * gtk/gtk.def
7267         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
7268         glib-genmarshal etc.
7269
7270 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
7271
7272         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
7273         parallel builds.
7274
7275 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
7276
7277         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
7278
7279 2000-10-27  Robert Brady  <robert@suse.co.uk>
7280
7281         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
7282         en_GB (British), ia (Interlingua).
7283
7284 2000-10-26  Havoc Pennington  <hp@redhat.com>
7285
7286         * gtk/gtktextiter.c (my_strrstr): fix constness warning
7287
7288         Fixed output of:
7289         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
7290         
7291         * gtk/gtktextsegment.c (char_segment_new): rename
7292         (_char_segment_new_from_two_strings): rename
7293         (_toggle_segment_new): rename
7294         
7295         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
7296         (make_clipboard_widget): make it static
7297         (text_get_func): static
7298         (text_clear_func): static
7299
7300         * gtk/gtkcolorsel.c (adjustment_changed): make this function
7301         static
7302         (hex_changed): make it static
7303         (hsv_changed): make it static
7304         (opacity_entry_changed): make it static
7305
7306         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
7307         (toggle_segment_check_func): rename with _gtk
7308
7309         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
7310         (_widget_segment_new): rename
7311         (_widget_segment_add): rename
7312         (_widget_segment_remove): rename
7313         (_widget_segment_ref): rename
7314         (_widget_segment_unref): rename
7315
7316         * gtk/gtktextmark.c (_mark_segment_new): Rename
7317         _gtk_mark_segment_new   
7318
7319 2000-10-26  Havoc Pennington  <hp@redhat.com>
7320
7321         * gtk/gtkmarshal.list: add new marshallers used by the text widget
7322         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
7323         types
7324
7325         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
7326         marshaller types
7327
7328         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
7329         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
7330         license on these files.
7331
7332         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
7333         work.
7334
7335         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
7336         runtime random number different for each tree, instead of 
7337         a constant I made up.
7338
7339 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
7340
7341         * gtk/Makefile.am: buncha cleanups, kludged build sources
7342         dependencies with a Makefile: oldest-source-stamp dependancy
7343         for the moment. automake is really fighting us here, with
7344         intentionally not allowing user-defined rules or dependancies
7345         prior to it's -include $(DEP_FILES) statement. sucks rocks!
7346
7347         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
7348         to public headers. tehy have a comment stating that they are
7349         "semi-public" aren't included by gtk.h and if enums popup there,
7350         they can be /*< skip >*/-ed.
7351
7352         * gtk/gtktextlayout.h: 
7353         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
7354         added LGPL... <SIGH>
7355
7356 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
7357
7358         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
7359         GtkTreeIter.  Added iterators everywhere.
7360
7361         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
7362
7363         * gtk/gtktreeviewselection.c: Changed to use the iterators.
7364
7365         * gtk/gtktreestore.c: Changed to use the iterators.
7366
7367         * gtk/gtkliststore.c: Commented out the code.  Will convert to
7368         iterators tomorrow.
7369
7370         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
7371         iterators tomorrow.
7372
7373         * gtk/treestoretest.c: Changed to use iterators.
7374
7375         * demos/testgtk/main.c: Moved to use the new iterator system.
7376
7377 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
7378
7379         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
7380         localization misbehaviour.
7381
7382         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
7383         a useless type without copy/free.
7384
7385         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
7386         of GTK_TYPE_CTREE_NODE.
7387
7388 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
7389
7390         * gtk/gtksignal.c:
7391         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
7392         applicable.
7393
7394         * gtk/gtk-boxed.defs (GtkSelectionData): specify
7395         gtk_selection_data_copy and gtk_selection_data_free
7396         do GtkSelectionData work as params in signals.
7397
7398 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
7399
7400         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
7401         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
7402         couldn't they at least give it a non-standard name?
7403         
7404         * gtk/gtktextlayout.c: arg! yet another implementation of
7405         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
7406
7407         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
7408         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
7409         home. now i know this _is_ a conspiracy.
7410
7411         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
7412         ::state-changed.
7413
7414         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
7415         (gtk_accel_group_create_add): marshaller signature fixups.
7416
7417         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
7418         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
7419
7420         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
7421         anymore.
7422
7423 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
7424
7425         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
7426         due to the signal system changes, it wouldn't build currently. to
7427         be fixed soon.
7428
7429         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
7430
7431         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
7432         so it needs gtk_marshal_VOID__ENUM() instead of
7433         gtk_marshal_NONE__UINT().
7434
7435         * gdk/gdk*.c: adapted type registration functions.
7436
7437         * gtk/gtkbindings.c:
7438         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
7439         gone.
7440
7441         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
7442
7443         * gtk/gtkobject.c:
7444         (gtk_object_destroy):
7445         (gtk_object_shutdown): fixed recursion guards. basically we have to
7446         catch the case where any of GObject.shutdown() or gtk_object_destroy()
7447         is called during ::destroy, and avoid recursion there.
7448
7449         * gtk/gtktypeutils.c:
7450         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
7451         boxed_copy/boxed_free. this needs a more general solution based on a
7452         publically installed code-generator utility.
7453
7454         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
7455         glib's gobject has support for that now.
7456         define GtkSignalMarshaller in terms of GSignalCMarshaller.
7457
7458 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
7459
7460         * gtk/gtksignal.[hc]:
7461         * gtk/gtkmarshal.[hc]:
7462         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
7463         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
7464         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
7465         care of that.
7466
7467         * *.c: marshaller name fixups.
7468
7469         * gtk/gtkmarshal.list: added a comment briefing the format.
7470
7471 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
7472
7473         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
7474         compatibility macros here now. more specifically, most of
7475         the API is preserved (yes, _most_, nonwithstanding the
7476         following exceptions listed, the API is stil lHUGE ;)
7477         things that got removed completely:
7478         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
7479         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
7480         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
7481         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
7482         gtk_signal_remove_emission_hook().
7483         non-functional functions variants:
7484         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
7485         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
7486         not supported anymore.
7487         (gtk_signal_compat_matched): new internal function to aid
7488         implementation of the compatibility macros, it  provides
7489         functionality to block/unblock/disconnect handlers based
7490         on func/data.
7491
7492         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
7493
7494         * *.c: adaptions to new type registration API signatures.
7495
7496 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
7497
7498         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
7499
7500 2000-10-25  Robert Brady  <robert@suse.co.uk>
7501
7502         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
7503         gdk_property_delete): If window == NULL, assume the root window.
7504         (restoring the behaviour that was in 1.2).
7505         
7506         * gtk/testtext.c (save_buffer): Allow creation of new files when
7507         saving.
7508
7509         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
7510         calls to read().
7511
7512 2000-10-25  Tor Lillqvist  <tml@iki.fi>
7513
7514         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
7515
7516         * gdk/win32/gdkdrawable-win32.c
7517         * gdk/win32/gdkimage-win32.c
7518         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
7519         X11 backend.
7520
7521         * gdk/win32/gdkcc-win32.c
7522         * gdk/win32/gdkcolor-win32.c
7523         * gdk/win32/gdkfont-win32.c
7524         * gdk/win32/gdkinput-win32.c
7525         * gdk/win32/gdkmain-win32.c
7526         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
7527
7528 2000-10-24  Havoc Pennington  <hp@redhat.com>
7529
7530         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
7531         it a static function
7532
7533         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
7534         redraw text when a tag is applied to it.
7535
7536         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
7537         (gtk_text_tag_affects_nonsize_appearance): private functions to
7538         see if a tag requires various kinds of redraw/layout to be queued
7539         up.
7540
7541         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
7542
7543         * gtk/testtext.c (fill_example_buffer): Put the cursor 
7544         at the start of the buffer, so search works by default
7545
7546         * gtk/gtktextiter.c (lines_match): init match_start always
7547
7548         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
7549         function, get iter at a line + a byte index
7550
7551         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
7552         to set byte position within a line
7553         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
7554
7555 2000-10-23  Havoc Pennington  <hp@redhat.com>
7556
7557         * gtk/testtext.c: Re-enable the "find" dialog
7558
7559         * gtk/testgtk.c: Add test for gdk_drawable_get_image
7560         
7561         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
7562         the arguments to gdk_draw_drawable were in the wrong order
7563         (gdk_window_paint_init_bg): This function was ignoring the
7564         init_region, instead of clipping to it, so the entire backing
7565         pixmap was cleared on every begin_paint()
7566         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
7567         was in here again, the loop kept using the same GtkWindowPaint
7568         over and over.
7569         (gdk_window_begin_paint_region): Fix a bug where we had two
7570         x_offset instead of x_offset and y_offset
7571
7572         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
7573         before we get the image.
7574         (gdk_draw_drawable): get the composite before we draw the drawable.
7575         (gdk_drawable_real_get_composite_drawable): default
7576         get_composite_drawable implementation that returns the drawable 
7577         itself
7578
7579         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
7580         get_composite_drawable virtual function
7581
7582         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
7583         list-walking bug
7584
7585         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
7586         make this work if the source drawable is a GdkDrawableImplX11
7587         instead of a public drawable type. This is really broken; the
7588         problem is that GdkDrawable needs a virtual method get_xid(), but
7589         of course that doesn't work in practice. Enter RTTI.
7590
7591         Also, improve mismatched depth message.
7592
7593         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
7594         GdkPixmap
7595
7596         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
7597         install _gdk_x11_get_image as our implementation of get_image
7598         
7599         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
7600         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
7601
7602         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
7603         gdk_drawable_get_image
7604
7605         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
7606
7607         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
7608         get_image
7609
7610         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
7611         trailing semicolon after for loop
7612
7613 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
7614
7615         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
7616         where font_desc for widget's context lagged widget's font_desc by
7617         one step.
7618
7619 2000-10-22  Tor Lillqvist  <tml@iki.fi>
7620
7621         * gdk/win32/gdkgc-win32.c
7622         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
7623
7624         * gtk/makefile.mingw.in
7625         * gtk/gtk.def: Updates.
7626
7627         * gtk/testgtk.c: sleep() is called _sleep in MS's C
7628         library.
7629
7630         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
7631
7632         * gtk/makefile.msc: Remove
7633
7634         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
7635
7636         * gtk/Makefile.am: Add it.
7637
7638         * configure.in: Generate it.
7639
7640         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
7641         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
7642         something even if not implemented, to satisfy picky MSVC.
7643
7644         Patches by Hans Breuer:
7645         
7646         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
7647         SetBkMode() and SetTextAlign() before calling
7648         pango_win32_render().
7649
7650         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
7651         Set hcliprgn to NULL after destroying it.
7652         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
7653
7654         * gdk/win32/gdkgeometry-win32.c
7655         (_gdk_windowing_window_queue_antiexpose): More effective
7656         implementation.
7657
7658         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
7659         depth as default, not the visual's.
7660
7661         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
7662         against empty title.
7663
7664         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
7665         IMAGE_PRIVATE_DATA.
7666
7667         * gdk/win32/gdkimage-win32.c: Use it.
7668
7669 2000-10-22  Robert Brady  <robert@suse.co.uk>
7670
7671         * configure.in: Check for bind_textdomain_codeset
7672
7673         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
7674         present, make use of it.
7675
7676         Add a translatable string "default:LTR" which, if translated
7677         to "default:RTL", will cause the default direction to be
7678         Right-to-Left.
7679
7680         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
7681         direction if marked as flippable.
7682
7683         * gtk/gtkhscale.c: Mark widget as flippable.
7684         
7685 2000-10-04  Havoc Pennington  <hp@redhat.com>
7686
7687         * gtk/testgtk.c (create_buttons): create some stock buttons
7688         with the default accel group
7689         (create_image): test some new GtkImage features
7690         (make_message_dialog): test GtkMessageDialog
7691         (create_modal_window): fix someone's bizzarro indentation
7692
7693         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
7694         GTK_WIN_POS_CENTER_ON_PARENT. 
7695         Add "destroy with parent" setting, which means the window goes
7696         away with its transient parent.
7697         (gtk_window_get_default_accel_group): get the default accel group
7698         for the window.
7699         (gtk_window_set_destroy_with_parent): set/unset destroy with
7700         parent flag
7701         (gtk_window_read_rcfiles): invalidate icon set caches
7702         after reloading rcfiles 
7703
7704         * gtk/gtkenums.h (GtkWindowPosition): add
7705         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
7706         on its parent window when the dialog is mapped for the first time.
7707
7708         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
7709         a simple message dialog class
7710         
7711         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
7712         handler to emit response signal, and maybe later it would
7713         honor a hide_on_delete flag - though that isn't there yet.
7714         Set border width on the vbox to 2, so we get some padding.      
7715         Use a button box for the action area.
7716         (gtk_dialog_key_press): synthesize a delete event if Esc
7717         is pressed and the GtkWidget key press handler didn't 
7718         handle the escape key.
7719         (gtk_dialog_new_with_buttons): new function creates a dialog
7720         with some default buttons in it.
7721         (gtk_dialog_add_action_widget): add an activatable widget
7722         as a button in the dialog - you can also add a non-activatable
7723         widget by accessing the action area directly.
7724         (gtk_dialog_add_button): add a simple button - stock ID or 
7725         label - to the action area
7726         (gtk_dialog_response): emit response signal
7727         (gtk_dialog_run): block waiting for the dialog, return 
7728         the response. Override normal delete_event behavior, so that 
7729         delete_event does nothing inside gtk_dialog_run().
7730
7731         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
7732         emitted when an action widget is clicked or the dialog gets
7733         delete_event
7734
7735         * gtk/gtk.h: add gtkmessagedialog.h
7736
7737         * gtk/Makefile.am: add gtkmessagedialog.[hc]
7738
7739 2000-10-18  Havoc Pennington  <hp@redhat.com>
7740
7741         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
7742         where any number of empty lines would get skipped
7743
7744         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
7745         edge.
7746
7747         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
7748         warning about invalid iterators (explain more thoroughly)
7749         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
7750
7751         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
7752         big
7753
7754         * demos/*.c: Add error handling
7755
7756         * gtk/gtktextbuffer.c: don't modify const iterators
7757
7758         * gtk/gdk-pixbuf-loader.c: Add full error handling here
7759
7760         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
7761         on file load
7762
7763         * gtk/gtkiconfactory.c: Update to reflect addition of error
7764         handling to gdk-pixbuf loaders
7765
7766 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
7767
7768         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
7769         move to new modularized testgtk.
7770
7771 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
7772
7773         * gtk/gtktreeview.c: Draw the arrows correctly.
7774
7775         * gtk/gtktreemodel.c: Added user docs.
7776
7777         * gtk/gtk.h: remove gtktreedatalist.h.
7778
7779         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
7780         parent when generating my type.
7781
7782         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
7783         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
7784
7785 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
7786
7787         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
7788         GtkTreeModel from object to interface.
7789
7790 2000-10-16  Havoc Pennington  <hp@redhat.com>
7791
7792         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
7793         compilation
7794
7795 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
7796
7797         * gtk/gtktreeselection.c: Add API documentation to all public
7798         functions.
7799
7800         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
7801         functions.
7802
7803 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
7804
7805         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
7806         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
7807         docs to all public functions.
7808
7809         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
7810         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
7811         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
7812         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
7813         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
7814         issue.
7815
7816 2000-10-14  Robert Brady  <robert@suse.co.uk>
7817
7818         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
7819
7820 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
7821
7822         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
7823         values other then G_TYPE_STRING.
7824         * gtk/gtktreeselection.c: Minor commenting updates.
7825         * gtk/gtktreeview.c: Format updates.
7826
7827 2000-10-09  Tor Lillqvist  <tml@iki.fi>
7828
7829         * README.win32: Update.
7830
7831         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
7832         lines that had been deleted by mistake (?).
7833
7834         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
7835         also the case fg==white and bg==black (but still not randomly
7836         coloured cursors). Thanks to Wolfgang Sourdeau.
7837
7838         * gdk/win32/*.c: Silence gcc -Wall.
7839
7840         * gtk/gtk.def: Add missing entry points.
7841
7842         Fixes by Hans Breuer:
7843
7844         * gdk/makefile.msc
7845         * gdk/win32/makefile.msc: Update.
7846
7847         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
7848         some MSVC thing, presumably), cause breakpoint on failures. Add
7849         GDK_NOR case. Call g_log_set_always_fatal.
7850
7851         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
7852         should be pased by reference.
7853         
7854         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
7855         
7856         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
7857
7858         * gdk/win32/gdkevents-win32.c
7859         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
7860
7861         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
7862         implementation object.
7863
7864         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
7865         not just windows.
7866         
7867         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
7868         Use the wrapper object.
7869         
7870 2000-10-06  Havoc Pennington  <hp@redhat.com>
7871
7872         * Makefile.am (SRC_SUBDIRS): contrib subdir
7873
7874         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
7875         so it can be used in Xlib version
7876
7877         * demos/testpixbuf.c (update_timeout): error checking from 1.0
7878         tree
7879
7880         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
7881         change from 1.0 tree that returns first frame of animation
7882         if the loaded file is an animation.
7883
7884         * contrib: add new directory to hold stuff that comes with GTK+
7885         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
7886         
7887         * configure.in: add contrib/*
7888
7889 2000-10-05  Havoc Pennington  <hp@redhat.com>
7890
7891         * demos/testpixbuf-save.c: add pixbuf save test
7892
7893         * demos/Makefile.am: add testpixbuf-save.c
7894
7895 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
7896
7897         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
7898         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
7899         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
7900         * gtk/gtktreeselection.[ch]: Replaced
7901         "node_selected"/"node_unselected" signal with "selection_changed"
7902         signal.
7903
7904 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
7905
7906         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
7907         tree widget.
7908
7909 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
7910
7911         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
7912         drawing.
7913
7914 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
7915
7916         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
7917         Move list pointer forwards before removing item from
7918         list. (Crash reported by Salmaso Raffaele)
7919
7920         * gdk/gdkwindow.h: Remove spurious trailing ,
7921
7922         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
7923         dependencies on uninstalled libraries, sorry folks.
7924
7925 2000-10-04  Havoc Pennington  <hp@redhat.com>
7926
7927         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
7928         gtk/gtkiconfactory.c: Fix copyrights    
7929
7930         * demos/testpixbuf.c: add inline pixbuf test
7931         
7932 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
7933
7934         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
7935         Add gdk_window_iconify.
7936
7937         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
7938         (gdk_window_set_geometry_hints): Add win_gravity
7939         to geometry structure.
7940
7941         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
7942         Implement _NET_WM_PING.
7943
7944         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
7945         Set _NET_WM_PID on the client leader.
7946
7947         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
7948         Handle UTF-8 better.
7949
7950         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
7951         UTF-8 better, set _NET_WM_NAME as well. Only set
7952         icon name if it hasn't previously been explicitely 
7953         set.
7954
7955 2000-10-03  Havoc Pennington  <hp@redhat.com>
7956
7957         * gtk/testtextbuffer.c: clean up trailing whitespace,
7958         add extensive tests for tag toggle iteration.
7959         
7960         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
7961         distance
7962
7963         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
7964         optimize case where the tag root is on level 1
7965         (gtk_text_line_previous_could_contain_tag): attempt to implement
7966         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
7967         functionality
7968
7969         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
7970         Implement this, though not very efficiently.
7971
7972         * gtk/gtktextiterprivate.h: reformat
7973
7974         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
7975         iterator
7976
7977         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
7978         this to properly revalidate the iterators.
7979
7980         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
7981         properly at the end of the line (and therefore on empty lines)
7982
7983         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
7984         maybe we should return a value...
7985
7986 2000-10-03  Tor Lillqvist  <tml@iki.fi>
7987
7988         * config.h.win32: Guard definition of alloca(). glib.h now handles
7989         that.
7990
7991         * gdk/gdk.def
7992         * gtk/gtk.def: Add new entry points.
7993
7994         Changes just to make GTK+ build without errors on Win32. No hope
7995         of it working in its current state, though...:
7996         
7997         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
7998         some functions from the X11 backend, just to make GTK+ build.
7999
8000         * gdk/makefile.mingw.in
8001         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
8002         number. Add new object files.
8003
8004         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
8005         GetMessageTime to get timestamp (where on X11 uses
8006         gdk_x11_get_server_time()).
8007
8008 2000-10-02  Havoc Pennington  <hp@pobox.com>
8009
8010         * gtk/gtktextview.c: text_window_* weren't static and should have
8011         been.
8012         Start work on child widgets; not yet complete, syncing to 
8013         office computer.
8014
8015         * gtk/gtktextchild.h: change this to contain a public interface,
8016         starting work on child interfaces.
8017         * gtk/gtktextchildprivate.h: move private interfaces here
8018
8019         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
8020
8021         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
8022         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
8023         gtk/gtktextmark.c: copyright notices
8024
8025         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
8026         internal functions      
8027
8028         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
8029         internal function
8030
8031         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
8032         Reformatting    
8033
8034 2000-09-30  Havoc Pennington  <hp@pobox.com>
8035
8036         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
8037         NULL start/end pointers
8038
8039         * gtk/gtktextbuffer.c: Write some docs
8040         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
8041         NULL, so you can just check whether there's a selection.        
8042
8043         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
8044         cleanup_line or segments_changed ourselves, it gets done 
8045         in unlink_segment
8046
8047         * gtk/gtktextmark.h:
8048         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
8049         
8050         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
8051
8052         * gtk/gtktextmark.c: delete some more old Tk cruft
8053
8054         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
8055         mark before removing it, so we can emit MARK_DELETED with a valid
8056         pointer.
8057         (gtk_text_buffer_mark_set): hold ref across signal emission
8058
8059         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
8060         whining about attempts to delete special marks
8061
8062         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
8063         underscore, since it's internal.
8064
8065         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
8066         now implemented in terms of iterators in gtktextiter.h
8067
8068         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
8069         New function, destructively sets contents of buffer. Also 
8070         a convenient way to clear the buffer by setting text to ""
8071
8072         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
8073         multiline string literal
8074
8075         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
8076         text changes.
8077
8078         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
8079         is not dereferenceable
8080         (gtk_text_iter_forward_lines): fix return value
8081
8082 2000-09-29  Havoc Pennington  <hp@redhat.com>
8083
8084         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
8085
8086         * gtk/gtktextview.c: Implement drag thresholding; change functions 
8087         that set border window size to have nicer name
8088         (gtk_text_view_mark_set_handler):  Fix this to have the 
8089         right signature.
8090
8091         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
8092
8093         * gtk/testtext.c: Update with API changes, put line numbers on 
8094         both sides.
8095         
8096         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
8097         with this
8098
8099         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
8100         pixbuf; delete a big block of #if 0 Tk code
8101
8102         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
8103         insert_pixmap with insert_pixbuf
8104
8105 2000-09-29  Martin Baulig  <baulig@suse.de>
8106
8107         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
8108         confusion with the GdkPixbuf of the GNOME 1.x platform.
8109
8110 2000-09-29  Havoc Pennington  <hp@pobox.com>
8111
8112         * gtk/gtktextview.c: Implement the side windows.
8113
8114         * gtk/testtext.c: Implement simple line numbering in the 
8115         left side window; seems to make scrolling sloooow. Oops.
8116         Also, cursor blink is for some reason causing redraws
8117         of the line numbers. Should investigate...
8118
8119 2000-09-28  Havoc Pennington  <hp@redhat.com>
8120
8121         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
8122         scrolling child windows, and draw focus rectangle properly.
8123         
8124         (gtk_text_view_buffer_to_window_coords):
8125         Coordinate transformation to deal with all these freaking windows
8126         and offsets
8127         (gtk_text_view_window_to_buffer_coords): transform the other way
8128
8129         * gtk/testtext.c (create_buffer): Update to match Pango API change
8130
8131         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
8132         anonymous tags
8133         (foreach_unref): don't emit remove signal from finalize, just
8134         set tag's parent to NULL
8135
8136 2000-09-26  Havoc Pennington  <hp@redhat.com>
8137
8138         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
8139         Fix some warnings       
8140
8141 2000-09-26  Havoc Pennington  <hp@redhat.com>
8142
8143         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
8144         headers into the private header list
8145
8146         * Makefile.am (pkgconfig_DATA): install pkg-config files
8147
8148         * configure.in: add pkg-config files
8149
8150         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
8151
8152         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
8153         outstanding icon caches on theme change.
8154
8155         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
8156         important types:
8157
8158         (GtkIconSource): Specification for creating a pixbuf 
8159         appropriate for a direction/state/size triplet from 
8160         a source pixbuf or filename
8161
8162         (GtkIconSet): List of GtkIconSource objects that are used to
8163         create the "same" icon (e.g. an OK button icon), and cache for
8164         rendered icons
8165
8166         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
8167         up the icon set for a given stock ID.  GTK maintains a stack of
8168         GtkIconFactory to search, and applications or libraries can add
8169         additional icon factories on top of the stack
8170         
8171         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
8172         the set of GtkIconSource specified for a given stock ID into 
8173         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
8174         RcStyle, under the specified stock ID.
8175
8176         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
8177         render_icon used to derive a GdkPixbuf from a GtkIconSource.
8178         This allows people to theme how prelight, insensitive, etc. are
8179         done.
8180
8181         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
8182         icon factories for a style, and return the resulting 
8183         icon set if any.
8184
8185         (gtk_style_render_icon): Render an icon using the render_icon 
8186         method in the GtkStyleClass.
8187
8188         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
8189         Use the style for a given widget to look up a stock ID, get the
8190         icon set, and render an icon using the render_icon method 
8191         of the style
8192
8193         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
8194         (contains information about a stock item), the built-in stock item
8195         IDs, and functions to add/lookup stock items.
8196
8197         * gtk/stock-icons/*: Stock icons that come with GTK
8198
8199         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
8200         a button based on a GtkStockItem
8201         (gtk_button_new_accel): Takes a uline string and accel group, and
8202         installs the accelerator.
8203
8204         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
8205         image-display widget.
8206
8207 2000-09-25  Havoc Pennington  <hp@redhat.com>
8208
8209         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
8210
8211         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
8212         Fix a bug when removing node data, we didn't properly 
8213         re-splice the linked list after removing the data.
8214
8215         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
8216         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
8217
8218         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
8219
8220         * gtk/gtktextlayout.c (set_para_values): Set tab array 
8221         for the layout from the GtkTextTag.
8222
8223         * gtk/gtktexttypes.h: delete tab and search cruft, 
8224         remove g_convert() in favor of GLib version
8225
8226         * gtk/gtktexttypes.c: remove tab implementation from here,
8227         move to Pango
8228
8229         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
8230         tab stuff using new PangoTabArray from Pango
8231
8232         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
8233         unused border_width stuff
8234
8235 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
8236
8237         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
8238         glib) and now useless utf_to_latin1() latin1_to_utf()
8239
8240         * gtk/gtktextview.[ch]: Change ::move_insert and
8241         ::delete_text action signals to ::move and ::delete;
8242         create the signals with the right enumeration type,
8243         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
8244         C-v bindings, change Home, End to move to beginning/end
8245         of line, Add C-Home C-End to move to beginning/end
8246         of buffer. Change ::cut_text to ::cut_clipboard, etc;
8247         combine ::scroll_text into ::move; use new GtkSelectionData
8248         functions to simplify DND text handling.
8249         
8250         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
8251         deletion enumerations here, rename enumeration values to 
8252         be consistently plural.
8253
8254         * gtk/gtktextbuffer.c: Use new clipboard interfaces
8255         for cut/copy/paste and primary selection.
8256
8257         * gtk/gtktextbuffer.[ch]: Remove excess time and
8258         'interactive' arguments from cut/copy/paste;
8259         rename cut to cut_clipboard, etc; remove
8260         gtk_text_buffer_get_clipboard_contents().
8261
8262         * gtk/gtktextlayout.[ch]: Add 
8263         gtk_text_layout_move_iter_to_line_end() to move the iter to 
8264         line ends.
8265
8266         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
8267         Functions to set or get a UTF-8 string on the selection
8268         data.
8269
8270         * gtk/gtkclipboard.[ch]: New, simplified selection handling
8271         interfaces.
8272
8273         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
8274         created widgets - one of these is useless if we don't.
8275
8276         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
8277         a public function clear all targets registered for the
8278         widget.
8279
8280         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
8281         Never call gtk_widget_realize() - that was just asking
8282         for bizarre side-effects.
8283
8284         * gtk/gtkselection.c (gtk_selection_owner_set): Call
8285         gdk_selection_owner_set even if the widget is the
8286         same so that we reliably update the timestamp on
8287         the server.
8288
8289         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
8290         gdk_x11_get_server_time() function.
8291         
8292         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
8293         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
8294         Add some tricky filtering on serial numbers for
8295         selection clear events to fix up long-standard
8296         race condition FIXME's in gtkselection.c.
8297
8298         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
8299         routines to convert from utf8 to compound text or
8300         STRING and from a text property to UTF-8.
8301
8302         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
8303         a convenience function gdk_get_current_event_time().
8304
8305         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
8306         and free selection_data->data properly
8307
8308 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
8309
8310         * gtk/gtkthemes.c: Remove some unecessary includes.
8311
8312 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
8313
8314         * gtk/gtktextdisplay.c
8315         * gtk/gtktextlayout.c
8316         * gtk/gtktexttag.c
8317         * gtk/gtktexttag.h
8318         * gtk/testtext.c: Change the overstrike property to strikethrough,
8319         to closer match pango.
8320
8321 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
8322
8323         * gtk/gtktextview.c: Fix up visibility so that focus,
8324         cursor_visible and blink interact properly.  Reenable cursor blink
8325         which had been roughly disabled. Make blink and focus
8326         properly per-view.
8327
8328         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
8329         Add a flag for whether to display insertion cursor and
8330         a function to set the flag.
8331
8332         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
8333         get_line_y() to get_line_yrange(), to be a bit more generally
8334         useful.
8335
8336 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
8337
8338         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
8339           do stop_navigating_submenu, to clear last timeout properly.
8340           Also in gtk_menu_motion_notify move ignore_enter above
8341           the conditional to make it always happen as suggested by Owen
8342
8343 2000-09-07  Tor Lillqvist  <tml@iki.fi>
8344
8345         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
8346
8347         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
8348         w32api headers.
8349
8350         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
8351         declarations.
8352
8353         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
8354         (gdk_win32_get_colormap): A line had been deleted by mistake.
8355
8356         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
8357         (gdk_event_translate): Handle more virtual keycodes to be able to
8358         generate GDK events for Control-comma, Control-period, etc.
8359
8360         * gtk/gtk.def: Add some missing entry points.
8361
8362 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
8363
8364         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
8365         Doc comment fixing. (Mostly non-matching parameter names.)
8366
8367         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
8368         comments a little to avoid looking like a doc comment.
8369
8370         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
8371         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
8372         conversions be changed to GError?)
8373
8374         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
8375         Move private #defines into .c file.
8376
8377         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
8378         order of argument addition, remove duplicates.
8379
8380         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
8381         parent class is FrameClass, not BinClass.
8382
8383         * gtk/gtk.h: Add gtkinvisible, which was missing.
8384         (It's occasionalyl useful for client apps, if seldom.)
8385
8386         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
8387         #define.
8388
8389 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
8390
8391         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
8392         coordinates when creating window, instead of GDK-space
8393         coordinates. (Avoid BadValue on too large windows.)
8394
8395 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
8396
8397         * configure.in (use_mmx_asm): Remove conftest* after use along the
8398         lines of AC_TRY_COMPILE.        
8399         
8400         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
8401         of g_dirname, which is deprecated.
8402         (gtk_rc_parse_any): Removed calls to
8403         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
8404
8405         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
8406         Removed calls to g_hash_table_{freeze,thaw}, as they are
8407         deprecated now.
8408
8409         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
8410         instead of g_basename.
8411         
8412 2000-09-04 Elliot Lee <sopwith@redhat.com>
8413         
8414         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
8415         ANSI warning.
8416
8417 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
8418
8419         * gtk/gtkwidget.h:  Add some documenting comments about 
8420           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
8421           just as owen said on irc.
8422
8423         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
8424           set HAS_DEFAULT.  Only set it if there isn't another window
8425           holding it (a focus window which RECEIVES_DEFAULT) and only unset
8426           it if the widget is not the focused window with RECEIVES_DEFAULT.
8427           This fixes weird double default bugs in dialogs which has things
8428           call gtk_window_set_default at times.
8429
8430 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
8431
8432         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
8433         Nils Barth and David Santiago to improve submenu
8434         navigation. The patch does this by creating a triangular
8435         region from the point where the pointer leaves the
8436         menu to the submenu.  While the pointer is in
8437         that region and a timeout has not expired, events 
8438         that would cause the active submenu to change are
8439         ignored.
8440
8441 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
8442
8443         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
8444         moving a toplevel window immediately after sizing it would
8445         result in it being sized back to the old size since 
8446         impl->width, impl->height aren't updated until we hear
8447         back from the server. There is still a (longstanding) bug
8448         here that gdk_window_get_size() will give the wrong size
8449         until we do hear back.
8450
8451 2000-08-31  Havoc Pennington  <hp@redhat.com>
8452
8453         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
8454         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
8455         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
8456         Rename GtkTextStyleValues to GtkTextAttributes
8457
8458 2000-08-31  Havoc Pennington  <hp@pobox.com>
8459
8460         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
8461         for rapid testing whether an iterator is the end iterator
8462         (gtk_text_btree_new): init end line cache
8463         (gtk_text_line_is_last): use fast cached line to 
8464         see if we're the last line.
8465         (get_last_line): use cached line here too, should 
8466         speed up some random unrelated code.
8467         
8468 2000-08-30  Havoc Pennington  <hp@pobox.com>
8469
8470         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
8471         signals.
8472
8473         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
8474         delete_text signals. This allows the signals to be used for
8475         implementing undo.
8476
8477         * gtk/gtktextbuffer.c: Change signal handler signatures; 
8478         provide "interactive" argument when emitting insert_text or
8479         delete_text signal.
8480         
8481 2000-08-30  Havoc Pennington  <hp@pobox.com>
8482
8483         * gtk/gtktextbuffer.c: Docs
8484
8485 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
8486
8487         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
8488         from switch statements, since Tor removed the enumeration
8489         value.
8490         
8491         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
8492         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
8493
8494 2000-08-29 Elliot Lee <sopwith@redhat.com>
8495         * */*.h: Use G_GNUC_CONST.
8496
8497 2000-08-27  Havoc Pennington  <hp@pobox.com>
8498
8499         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
8500         minor indentation fixes, inserted some FIXME about stuff I
8501         realized was broken while documenting it.
8502         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
8503         GTK convention  
8504
8505 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
8506
8507         * gtk/testgtk.c (create_styles): Fix double free of
8508         font desc.
8509
8510 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
8511
8512         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
8513         
8514         * gtk/testgtk.c (create_styles): Add a test for modifying
8515         the style through gtk_widget_modify_*.
8516
8517         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
8518         a function to get the current modifier style.
8519
8520         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
8521         of the passed in GtkRcStyle instead of ref'ing it.
8522
8523         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
8524
8525 2000-08-20  Tor Lillqvist  <tml@iki.fi>
8526
8527         * gdk/gdkimage.h
8528         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
8529         shared memory image+pixmap GdkImage type, or
8530         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
8531         I am dropping that.
8532
8533         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
8534         actually call gtk_init_abi_check(), passing also
8535         sizeof(GtkWindow). Ditto for gtk_init_check(). 
8536
8537         * gtk/gtk.def
8538         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
8539         New functions, used to check that the GTK+-using code has been
8540         compiled using the correct compiler and switches. In particular,
8541         with gcc one has to use the -fnative-struct switch as GTK+ is
8542         compiled with that.
8543
8544 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
8545
8546         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
8547         ->prev fields when merging lists. (Found simultaneously
8548         by Pawel Salek and Jakub Jelinek)
8549
8550 2000-08-12  Tor Lillqvist  <tml@iki.fi>
8551
8552         * gdk/gdk.def
8553         * gtk/gtk.def: Add missing entries.
8554
8555         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
8556         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
8557
8558         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
8559         function. Dummy implementation at this point.
8560
8561         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
8562         rules. Undefine GTK_COMPILATION when compiling the test programs.
8563         
8564         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
8565
8566 2000-08-11  Tor Lillqvist  <tml@iki.fi>
8567
8568         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
8569         to convert back and forth from UTF-8 and the "system" (or "current
8570         locale") charset when necessary. Indentation/spacing cleanup.
8571
8572 2000-08-10  Havoc Pennington  <hp@redhat.com>
8573
8574         * Makefile.am (snapshot): Change the format of the snapshot
8575         version to match glib
8576
8577         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
8578         from EXTRA_DIST since it doesn't seem to exist
8579
8580 2000-08-10  Tor Lillqvist  <tml@iki.fi>
8581
8582         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
8583         version of the directory name (not the UTF-8 one) when building
8584         the path name to stat().
8585
8586 2000-08-03  Elliot Lee  <sopwith@redhat.com>
8587
8588         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
8589         PANGO_ATTR_SHAPE set.
8590
8591 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
8592
8593         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
8594         Peter Osterlund to simplify the code while keeping the
8595         functionality the same.
8596
8597 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
8598
8599         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
8600         is_viewable() test further inside the function, since removing the 
8601         window from the redraw list without clearing ->update_area
8602         was also very broken.
8603
8604 2000-08-02  Tor Lillqvist  <tml@iki.fi>
8605
8606         * configure.in: Check for <unistd.h>.
8607
8608 2000-08-01  Martin Baulig  <baulig@suse.de>
8609
8610         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
8611         to display the message that this is a development version of GTK+.
8612
8613 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
8614
8615         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
8616         was depending on widget->allocation instead of the width of text_area,
8617         which was incorrect for subclasses like GtkSpinButton.
8618
8619         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
8620         with width == 1 tests that should be width == -1.
8621
8622 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
8623
8624         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
8625         (broken, Elliot, every single window blank on X) custom code with call
8626         to gdk_window_is_viewable() which a) prevents code duplicate and
8627         b) works. 
8628
8629 2000-07-31  Elliot Lee  <sopwith@redhat.com>
8630
8631         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
8632         to get the GDK_PARENT_ROOT() macro to work.
8633         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
8634         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
8635         of, windows that aren't shown.
8636         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
8637         pointer grab stuff.
8638
8639 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
8640
8641         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
8642           s/gtk_main_iteration/g_main_iteration/
8643
8644           Did this already in change:
8645                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
8646           don't know how it got reverted.
8647
8648 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
8649
8650         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
8651         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
8652
8653         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
8654         not gdk_pixbuf.
8655
8656 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
8657
8658         * configure.in,po/{sp,sr}.po: Added Serbian files
8659
8660 2000-07-30  Tor Lillqvist  <tml@iki.fi>
8661
8662         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
8663
8664         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
8665         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
8666         GIOChannel implementation.
8667
8668         * gdk/win32/gdkinput.c
8669         * gdk/win32/gdkpango-win32.c: Update license name here, too.
8670
8671         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
8672         definition to match prototype.
8673
8674         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
8675
8676 2000-07-27  Elliot Lee  <sopwith@redhat.com>
8677
8678         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
8679         function, to allow handling image formats that cannot be detected
8680         by looking at content alone.
8681
8682 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
8683
8684         * docs/tutorial/*.gif *.jpg *.eps
8685           Update these to the same look-n-feel.
8686           Why does including images in DocBook suck so badly?
8687
8688 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
8689
8690         * gtk/gtktable.c: applied patch from Phil Thompson
8691         <phil@river-bank.demon.co.uk> that enables space settings for
8692         the last row/columns as well.
8693
8694 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
8695
8696         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
8697         updates the license headers to the GNU Lesser General Public License,
8698         as well as updating the copyright year to 2000.
8699
8700 2000-07-26  Robert Brady  <rwb197@zepler.org>
8701
8702         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
8703           and po/Makefile, was installing and looking for them under gtk20
8704           and gtk2 respectively.
8705
8706 2000-07-25  Havoc Pennington  <hp@redhat.com>
8707
8708         * gtk/testtext.c: Comment out some stuff that depends on the rest
8709         of my patches.
8710
8711 2000-07-25  Havoc Pennington  <hp@redhat.com>
8712
8713         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
8714         buffer
8715
8716 2000-07-25  Havoc Pennington  <hp@redhat.com>
8717
8718         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
8719         widget changes.
8720
8721         * gtk/gtktextview.h: To be consistent with usage of "line"
8722         throughout the API to mean "newline-terminated thingy", change
8723         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
8724         to MOVEMENT_LINE.
8725
8726         (GtkTextView): Add flags for default editability, and whether to
8727         show the cursor. Add functions to get/set that. Add 
8728
8729         (gtk_text_view_get_iter_location): new function
8730
8731         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
8732         gtktextlayout.h
8733         (g_convert): Add g_convert temporarily, will go in glib in a bit
8734         
8735         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
8736         GtkTextTagTableForeach instead of brokenly using GHFunc.
8737         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
8738
8739         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
8740         moved to public header.
8741
8742         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
8743         "invisible", since "elide" was a bad name.
8744         (gtk_text_tag_get_priority): Added
8745
8746         (GtkTextStyleValues): put this in public header, along with
8747         functions to use it.
8748
8749         * gtk/gtktextmarkprivate.h: Include more headers, since we no
8750         longer include gtktextbtree.h.
8751
8752         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
8753         gtk_text_mark_deleted
8754
8755         * gtk/gtktextlayout.h: Don't include the "really private" headers,
8756         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
8757         to make this possible. Now we only need to install
8758         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
8759         (However the Makefile.am isn't changed yet because of the
8760         logistics of merging gtk-hp-patches piecemeal)
8761
8762         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
8763         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
8764         gtk_text_iter_get_line is now used in the public API for a
8765         different purpose.
8766
8767         * gtk/gtktextiter.h: Clean up function names to be more
8768         consistent. Always call char offset "offset" and byte index
8769         "index". A "line" is always a line number. 
8770
8771         (gtk_text_iter_is_last): new function, more efficient than 
8772         the existing way to check
8773         (gtk_text_iter_is_first): new function, also more efficient
8774
8775         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
8776
8777         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
8778         gtk_text_iter_forward_char, etc.
8779
8780         (gtk_text_iter_forward_to_tag_toggle): Renamed from
8781         forward_find_tag_toggle, since this isn't a linear search
8782
8783         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
8784
8785         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
8786         New functions, search for a buffer substring.
8787
8788         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
8789         interactive and default editable (since we need to store that info
8790         until we receive the selection data).
8791
8792         Remove all the _at_char and at_line etc. versions of functions;
8793         only have iterator versions.
8794
8795         Add _interactive() versions of functions, that consider the
8796         editability of text. (FIXME add interactive flag to the 
8797         insert/delete signals per Darin's suggestion)
8798
8799         (gtk_text_buffer_get_tag_table): new function, demand-creates the
8800         tag table if necessary
8801
8802         Remove declaration of gtk_text_buffer_get_iter_from_string
8803
8804         (_gtk_text_buffer_get_btree): private/internal function, added.
8805         
8806
8807         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
8808         (gtk_text_line_is_last): new function
8809
8810 2000-07-25  Havoc Pennington  <hp@redhat.com>
8811
8812         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
8813         using GtkProgressBar. See Changes-2.0.txt for details.
8814
8815         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
8816         "pulse_step" which are the equivalent of
8817         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
8818         Implement new API.
8819         
8820         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
8821         (use_text_format) to mark whether text set on the progress bar is
8822         a format string. Deprecate entire GtkProgress interface.
8823
8824         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
8825         (gtk_progress_build_string): make this a no-op if use_text_format
8826         is FALSE
8827
8828         * docs/Changes-2.0.txt: Describe progress bar changes.
8829
8830 2000-07-25  Tor Lillqvist  <tml@iki.fi>
8831
8832         * Makefile.am: Include the build directory.
8833
8834         * configure.in: Generate build/Makefile, build/win32/Makefile,
8835         gdk/, gdk/win32/, and gtk/makefile.mingw.
8836
8837         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
8838         Add GETTEXT_PACKAGE.
8839         
8840         * gdk/gdk.def
8841         * gtk/gtk.def: Updates.
8842
8843         * gdk/gdkfont.h
8844         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
8845         need them any longer.
8846
8847         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
8848
8849         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
8850         PANGOWIN32_LIBS and gdk_pixbuf.
8851
8852         * gdk/win32: Compiles, but no doubt doesn't work at all.
8853
8854         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
8855
8856         * gdk/win32/gdkinput.c: New file, temporarily.
8857         
8858         * gdk/win32/gdkinput-win32.h: New file
8859
8860         * gdk/win32/gdkinputprivate.h: Remove.
8861
8862         * gdk/win32/gdkpango-win32.c: New file.
8863
8864         * gtk/makefile.mingw.in: New file
8865
8866         * gtk/makefile.cygwin: Removed
8867         
8868         * gtk/Makefile.am: Update accordingly.
8869
8870         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
8871         made externally visible.
8872
8873         * gtk/gtkmain.c: Use it.
8874         
8875         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
8876         is enough.
8877
8878         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
8879
8880 2000-07-24 Elliot Lee <sopwith@redhat.com>
8881         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
8882         individual backends already.
8883         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
8884         again. Yes, there really is a good reason for this, if you are using the gdkregion
8885         internals, and if you're not, why do you care?
8886         * gdk/gdkwindow.c: Fix inverted condition
8887         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
8888         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
8889         * gtk/gtkrange.c: Redraw trough when moving.
8890         * gtk/gtktypeutils.c: Fix warning by adding const cast.
8891         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
8892
8893 2000-07-23  Tor Lillqvist  <tml@iki.fi>
8894
8895         * configure.in: Check for mkstemp and sigsetjmp. Output
8896         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
8897
8898         More work on GDK for Win32. Still in an intermediate state.
8899
8900         * gdk/makefile.cygwin
8901         * gdk/win32/makefile.cygwin: Removed.
8902         
8903         * gdk/makefile.mingw.in
8904         * gdk/win32/makefile.mingw.in: New files.
8905
8906         * gdk/Makefile.am
8907         * gdk/win32/Makefile.am: Generate and distribute them.
8908
8909         * gdk/win32/gdkwindow-win32.h
8910         * gdk/win32/gdkdrawable-win32.h
8911         * gdk/win32/gdkpixmap-win32.h: New files.
8912
8913         * gdk/win32/gdkcolor-win32.c
8914         * gdk/win32/gdkcursor-win32.c
8915         * gdk/win32/gdkdrawable-win32.c
8916         * gdk/win32/gdkgc-win32.c
8917         * gdk/win32/gdkimage-win32.c
8918         * gdk/win32/gdkprivate-win32.h
8919         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
8920         Rename fields and variables called xcursor, xid, etc (these names
8921         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
8922
8923 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
8924
8925         * gtk/gtkentry.[ch]: Fix some problems with vertical
8926         alignment.
8927
8928         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
8929         char/byte confusion.
8930
8931 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
8932
8933         * gtk/gtktextview.c (changed_handler): Fix bug where
8934         redraw wasn't being done properly when height of
8935         dirty region changed.
8936
8937         * demos/Makefile.am: Remove various references to
8938         -lgmodule
8939
8940 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
8941
8942         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
8943         PangoAttrShape to reserve space for pixmaps, add 
8944         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
8945         in the display functions.
8946         
8947         * gtk/testgtk.c (create_layout): Set some more exotic
8948         scrolled window options
8949
8950         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
8951         Add function to set the shadow type of a window, to allow
8952         putting a shadow around widgets such as GtkLayout or GnomeCanvas
8953         which don't draw their own frame.
8954
8955 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
8956
8957         * docs/tutorial/package-db-tutorial.sh: New file for
8958           packaging DocBook format tutorial
8959
8960 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
8961
8962         * docs/tutorial/gtk-tut.sgml: Minor updates
8963
8964         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
8965
8966 2000-07-19  Tor Lillqvist  <tml@iki.fi>
8967
8968         * gtk/gtksignal.c: Fix C++ comment.
8969
8970         * gtk/gtkimmulticontext.c
8971         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
8972         don't return value from void functions.
8973
8974         * gtk/gtk.def: Add gtk_rc_style_unref.
8975
8976 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
8977
8978         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
8979         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
8980         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
8981         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
8982         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
8983         gtk/gtktypeutils.h: Include files outside of the extern "C"
8984         block. Makes some C++ compiler happy. Reported by Denis Vakatov
8985         <vakatov@peony.nlm.nih.gov>.
8986
8987 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
8988
8989         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
8990           Completes first pass. Hurrah!
8991
8992 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
8993
8994         * docs/tutorial/gtk-tut.sgml: More clean ups.
8995
8996 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
8997
8998         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
8999         paint the background of the text area which was accidentally
9000         removed at some point.
9001
9002         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
9003           
9004          - Move most of the functionality from the theme vtable
9005            into GtkRcStyleClass and GtkStyleClass. The moved
9006            vtable functions were changed a bit in the move to
9007            work better in their new home.
9008
9009          - Get rid of the engine and engine_data fields from
9010            GtkRcStyle and GtkStyle; instead the theme
9011            engine derives theme-specific subclasses of GtkRcStyle
9012            and GtkStyle
9013
9014          - Add extra dlsym() found entry point to themes,
9015            theme_create_rc_style().
9016
9017         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
9018         in gtk_style_real_copy.
9019
9020         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
9021         to register a type associated with an engine. (The engine
9022         won't be unloaded as there is an instance of the type.)
9023
9024
9025 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
9026
9027         * docs/tutorial/gtk-tut.sgml: Clean ups.
9028
9029 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
9030
9031         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
9032           of cleaning up to do.
9033
9034 2000-07-15  Tor Lillqvist  <tml@iki.fi>
9035
9036         * gdk/testgdk.c: New file, quick hack to test backends for
9037         pixel-by-pixel correctness of the most simple graphic operations.
9038
9039 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
9040
9041         * Really release 1.3.1
9042         
9043         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
9044         include structure.
9045
9046 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
9047
9048         * Released 1.3.1
9049
9050 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
9051
9052         * gtk/gtktextlayout.c: use FALSE for size_only most
9053         of the time when calling gtk_text_layout_get_line_display()
9054         to avoid causing double reshapes when a redraw follows
9055         immediately after.
9056
9057 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
9058
9059         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
9060         appropriate region and gdk_window_process_updates() so trough
9061         updating doesn't lag behind the window being scrolled.
9062
9063         * gdk/gdkgc.c: Make parent_class pointer static.
9064          
9065 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
9066
9067         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
9068         include <string.h>.
9069          
9070         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
9071         cut-and-paste error in computing memory offset for 4 channels.
9072
9073 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
9074
9075         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
9076         gtk_rc_append_default_pixmap_path(), since it wasn't
9077         adding an interesting path and we don't have a meaningful
9078         default for this value.
9079
9080 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
9081
9082         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
9083         gtk-config to gtk-config-2.0 move gtk_.m4 to
9084         gtk-2.0.m4
9085
9086         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
9087         gdk/Makefile.am demos/Makefile.am: Change 
9088         library names to libgtk-1.3.la, etc, so that we
9089         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
9090
9091         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
9092         gdk/Makefile.am gdk/x11/Makfile.am
9093         Move include files into /usr/include/gtk-2.0, 
9094         /usr/lib/gtk-2.0/include/
9095          
9096         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
9097         gtk/gtkintl.h: Change package for gettext from 
9098         gtk+ to gtk20. Put hack in autogen.sh to modify
9099         po/Makefile.in.in after gettextize to make this
9100         possible.
9101
9102         * gtk+.spec: Some updates, not tested.
9103
9104         * gdk-pixbuf/Makefile.am: Move loaders into
9105         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
9106
9107         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
9108         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
9109         to THEMENAME/gtk-2.0/. Move engine directory  to
9110         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
9111         
9112 2000-07-12  Tor Lillqvist  <tml@iki.fi>
9113
9114         Win32 changes, still doesn't build though.
9115
9116         * gdk/makefile.cygwin
9117         * gdk/win32/makefile.cygwin
9118         * gtk/makefile.cygwin: Updates.
9119
9120         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
9121         default values for fg and bg pixel as X11 does (0 and 1), not
9122         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
9123         Use 0 for pen width by default (treated as 1 anyway later, but for
9124         apps that might check the value in the GdkGC).
9125         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
9126         interface to gdk_gc_predraw and _postdraw.
9127
9128         * gdk/win32/gdkwin32.h
9129         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
9130
9131         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
9132         extraneous semicolon.
9133
9134         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
9135
9136         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
9137         not the Win32 bitspixel value.
9138
9139         * gdk/win32/gdkcc-win32.c:
9140         * gdk/win32/gdkcolor-win32.c 
9141         * gdk/win32/gdkprivate-win32.h
9142         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
9143         GDK object structure.
9144
9145 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
9146
9147         * docs/tutorial/gtk_tut_12.es.sgml (name): 
9148         * docs/tutorial/gtk_tut_it.sgml (name): 
9149         * docs/tutorial/gtk_tut_fr.sgml (name): 
9150         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
9151         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
9152
9153 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
9154
9155         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
9156           small changes.
9157
9158 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
9159
9160         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
9161         a bug here, never been here and never fixed anything ;(
9162         (don't segfault if tree->root_tree is NULL, which happens prior
9163         to widget realization, but puke instead).
9164
9165 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
9166
9167         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
9168         add the necessary tokens.
9169
9170         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
9171         (gtk_rc_style_to_style): copy thicknesses.
9172         (gtk_rc_init_style): apply thicknesses.
9173         (gtk_rc_parse_style): parse xthickness and ythickness.
9174
9175         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
9176
9177         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
9178         (gdk_window_new): 
9179         (_gdk_windowing_window_init): 
9180         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
9181         (gdk_pixmap_create_from_data): 
9182         (gdk_bitmap_create_from_data): 
9183         (gdk_pixmap_new): 
9184         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
9185         (gdk_image_new): 
9186         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
9187         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
9188         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
9189         (gdk_colormap_get_system): 
9190         (gdk_colormap_new): 
9191         * gdk/gdkwindow.c (gdk_window_init): 
9192         * gtk/gtkstyle.c (gtk_style_new):
9193         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
9194         * gdk/gdkpixmap.c (gdk_pixmap_init): 
9195         * gtk/gtkrc.c (gtk_rc_style_new):
9196         use g_object_new() instead of g_type_create_instance() which
9197         is a private function for fundamental type implementations.
9198
9199 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
9200
9201         * configure.in: Add check for db2html
9202
9203 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
9204
9205         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
9206         hack to set glib_debug_objects based on gtk_debug_flags.
9207
9208 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
9209
9210         * INSTALL.in: Update the Prerequisites section.
9211
9212         * Makefile.am demos/Makefile.am docs/Makefile.am
9213         docs/tutorial/Makefile.am gdk/x11/Makefile.am
9214         gdk/linux-fb/Makefile.am: Dist fixes
9215
9216 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
9217
9218         * NEWS: 10,000 foot view of 1.3.1 changes.
9219
9220 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
9221
9222         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
9223         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
9224         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
9225         gdk/x11/gdkmain-x11.c: 
9226
9227         Patch from George Lebl to add a GdkGrabStatus enumeration to use
9228         as a return value of gdk_*_grab(). Previously, we just
9229         returned the X11 values directly.
9230
9231 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
9232
9233         * gdk/x11/Makefile.am: Patch from George Lebl to 
9234         install all the headers in the right place.
9235
9236 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
9237
9238         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
9239           initial conversion to DocBook.
9240
9241 2000-07-04  Tor Lillqvist  <tml@iki.fi>
9242
9243         * README.win32: Improve a bit.
9244
9245         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
9246         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
9247         Alt+0nnn on the numpad (used to enter characters by numeric code
9248         from current DOS or ANSI codepage) working correctly, as in other
9249         Windows apps.
9250
9251         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
9252         same argument validity tests as in X11 version.
9253         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
9254
9255         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
9256         definitions in case missing from headers.
9257
9258         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
9259         destroy the window-specific cursor.
9260         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
9261         calling GetModuleHandle(NULL).
9262         (gdk_window_set_cursor): Reworked to always copy the passed cursor
9263         with CopyCursor before setting it as the window-specific
9264         cursor. It is OK for the caller to destroy the GdkCursor (and thus
9265         also its Windows cursor) after calling this function. Destroy any
9266         previous window-specific cursor.
9267
9268 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
9269
9270         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
9271         font charset is iso8859-1, not iso-8859-1.
9272
9273 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
9274
9275         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
9276         Use g_get_charset() instead of g_get_codeset().
9277
9278         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
9279         Comment out some strdup'ing functions to keep timj
9280         happy until we finish fighting this out.
9281
9282 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
9283
9284         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
9285         <= width or height.
9286
9287         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
9288         from 1.2 for parent/child states.
9289
9290         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
9291         of typos.
9292
9293         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
9294         event structures, replace with a generic axes field. Replace 
9295         deviceid/sourec with GdkDevice *device.
9296
9297         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
9298         to extract particular axis use value from event. (Also
9299         can be used for normal X/Y.)
9300
9301         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
9302         allow for arbitrary number of axes, namespace everything
9303         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
9304         everywhere.
9305
9306         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
9307         Get rid of the gdk_input_vtable setup if favor of simply
9308         defining the functions in gdkinput-none/gxi/xfree.c in
9309         a similar fashion to the way that the port structure is 
9310         done.
9311
9312         * gtk/gtkdnd.c: Fix fields of synthesized button press event
9313         for new event structures. 
9314
9315         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
9316         new device interfaces.
9317
9318 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
9319
9320         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
9321         set the initial text.
9322
9323         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
9324         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
9325         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
9326         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
9327
9328         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
9329         pango_layout_set_font_description to simplify.
9330
9331 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
9332
9333         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
9334         pango_layout_set_font_description to simplify.
9335
9336 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
9337
9338         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
9339         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
9340         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
9341
9342         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
9343         PANGO_PIXELS() macro.
9344
9345 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
9346
9347         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
9348         that returns a PangoContext owned by the widget and updated to
9349         match future changes in the widget. Also, make 
9350         gtk_widget_create_pango_layout() use this context. If we ever
9351         add a ::changed signal to PangoContext, this will make things
9352         much more convenient. 
9353
9354         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
9355         in the appropriate places instead of destroying the layouts and
9356         creating new ones.
9357
9358         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
9359         in a few strategic places.
9360
9361 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
9362
9363         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
9364         gtk_widget_size_request() on reparented child, if one. Otherwise,
9365         queue_resize() on the child never results in it getting size-requested
9366         at all.
9367
9368         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
9369         in option menus, so that (with luck) people won't copy it into
9370         their apps in the future.
9371
9372         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
9373         to gtk_option_menu_calc_size. This isn't perfect, but should fix
9374         a lot of problems with changing the size of the menu's menu
9375         items after adding it to the option menu.
9376
9377         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
9378
9379         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
9380         the text direction for a widget changes.
9381
9382         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
9383         ::direction_changed to get rid of various hacks.
9384
9385 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
9386
9387         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
9388         name.
9389
9390 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
9391
9392         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
9393         flag to the structure. Do not call XFreePixmap on pixmaps created
9394         by gdk_pixmap_foreign_new().
9395
9396 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
9397
9398         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
9399         value using GdkRGB functionality given GdkColormap and GdkColor.
9400         (name not final, waiting for inspiration.)
9401         
9402         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
9403         set the foreground/background of a GC using the GC's colormap
9404         and GdkRGB. (name not final, waiting for inspiration.)
9405
9406         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
9407         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
9408
9409         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
9410         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
9411         purely a function of the corresponding colormap. Make
9412         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
9413
9414         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
9415         gdk_pixbuf_*create_from_xpm_* in terms of
9416         gdk_pixbuf_new_from_xpm_data(), move into platform independent
9417         code.
9418
9419         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
9420         advantage of the new draw_rgb_32_image_dithalign.
9421
9422         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
9423
9424         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
9425         on each created GC.
9426
9427         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
9428
9429         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
9430         which we initialize from the drawable when the GC is created,
9431         if the drawable has a colormap.
9432
9433         * gdk/x11/gdkgc-x11.c: include string.h for memset.
9434
9435         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
9436
9437         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
9438
9439 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
9440
9441         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
9442         actually returning expose events, make sure to set
9443         the count field properly.
9444
9445         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
9446         accidentally reintroced bug which always cleared
9447         the graphics_exposures value. 
9448
9449 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
9450
9451         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
9452
9453 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
9454
9455         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
9456
9457 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
9458
9459         * docs/faq/gtk-faq.sgml: Start of Section 6.
9460
9461 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
9462
9463         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
9464         
9465         (Fixes problem with drawing childless frames. Pointed out
9466         by and a first patch from Anders)
9467         
9468         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
9469         compute a child_allocation, even if we don't have a child.
9470
9471         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
9472         Always chain to the parent's impl, even if we don't have a child.
9473
9474 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
9475
9476         * gdk/gdkrgb.c: If possible, create only a single shm segment and
9477         use multiple parts of it instead of creating a bunch of separate
9478         segments, since the maximum number of segments per system is not
9479         large. (This might be worth backporting to GTK+-1.2.x if we make a
9480         new release )
9481
9482         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
9483         structure in preparation for per-colormap GdkRGB.
9484
9485         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
9486         to False when we get EINVAL from shmget so that the caller of
9487         gdk_image_new can retry with a smaller segment size.
9488
9489 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
9490
9491         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
9492
9493 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
9494
9495         * configure.in: make the current version number 1.3.1 (binary age 0,
9496         interface age 0).
9497         
9498         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
9499         gtkcompat.h is all we want.
9500
9501         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
9502         GLib primitive types. fixed g_type_register_fundamental() argument
9503         ordering.
9504
9505         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
9506         compiles.
9507
9508         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
9509         object code cleanup, comment trigraph fixes, etc...
9510
9511 2000-06-23  Havoc Pennington  <hp@redhat.com>
9512
9513         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
9514         instead of making up a bogus name for first_para_mark
9515
9516         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
9517         0 as a context ID
9518
9519 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
9520
9521         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
9522
9523 2000-06-21  Havoc Pennington  <hp@pobox.com>
9524
9525         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
9526         we didn't check window->bg_pixmap != GDK_NO_BG.
9527
9528         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
9529         gdk-pixbuf
9530
9531 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
9532
9533         * docs/faq/gtk-faq.sgm: Move file to here.
9534           TODO: Update Makfile.am 
9535
9536 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
9537
9538         * docs/gtk-faq.sgm: Add Section 2
9539
9540 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
9541
9542         * docs/gtk-faq.sgm: New file. Start of DocBook
9543           version of the FAQ.
9544
9545 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
9546
9547         * configure.in (GDK_PIXBUF_MAJOR): Define version
9548         numbers for GDK_PIXBUF_*, as they get substituted
9549         into a header file. Need to consider versioning
9550         for gdk-pixbuf more carefully later.
9551
9552 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
9553
9554         Work with srcdir != builddir.   
9555         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
9556         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
9557         * demos/testpixbuf.c: Likewise.
9558         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
9559         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
9560         <gdk/x11/gdkx.h>.
9561         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
9562         "gdk-pixbuf.h".
9563         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
9564
9565 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
9566
9567         * TODO.xml: Change 1.4 version numbers to 2.0.
9568
9569 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
9570
9571         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
9572         fixups to GTK+ standard.
9573
9574 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
9575
9576         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
9577         gdk-pixbuf.
9578
9579         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
9580         fixups for GObject.
9581
9582         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
9583         gdk-pixbuf with GDK dependencies moved into GDK.
9584         
9585         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
9586         move gdk-pixbuf-loader here until GObject has signals.
9587
9588         * demos/: New directory of demos. Move demos from
9589         gdk-pixbuf here.
9590
9591         * demos/pixbuf-init.c: Small bit of code to check for
9592         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
9593         set GDK_PIXBUF_MODULEDIR appropriately.
9594
9595         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
9596         define which no longer makes sense.
9597
9598 2000-06-21  Havoc Pennington  <hp@redhat.com>
9599
9600         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
9601         gtk_get_default_language
9602
9603         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
9604         new function to get the default language
9605
9606         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
9607         s/gtk_text_view_style_values/gtk_text_style_values/
9608
9609         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
9610         Add a "language" field to tags.
9611
9612         (gtk_text_tag_set_arg): Fix bug in setting
9613         "bg_full_height_set" tag.
9614
9615 2000-06-21  Havoc Pennington  <hp@redhat.com>
9616
9617         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
9618         in the interfaces
9619
9620         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
9621         stuff instead when possible.
9622
9623         * gtk/gtktexttypes.h: Delete some unused constants
9624
9625         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
9626         testtextbuffer.c: use glib instead of custom unicode routines
9627
9628 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
9629
9630         * docs/es/: Removed mistakenly added generated sgml
9631
9632         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
9633         Remove outdated info files.
9634
9635         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
9636         Moved tutorial files into subdir
9637
9638         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
9639         subdir.
9640
9641         * docs/man/gtk_button.pod: Remove. (contents will be
9642         integrated into gtk-reference button page.)
9643
9644         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
9645         docs/faq/Makefile.am: Adjust for new organization
9646
9647 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
9648
9649         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
9650         not $(MKINSTALLDIRS)
9651
9652 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
9653
9654         * gtk/testgtk.c (create_text): Finish the job Elliot started
9655         of removing font setting test for text widget. (Since text widget
9656         and GdkFont are not deprecated, and cause portability problems.)
9657
9658 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
9659
9660         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
9661         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
9662         Remove use of libunicode in favor of new GLib functions.
9663
9664         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
9665         nano-x, framebuffer. The X11 include is just a hack until we get
9666         the necessary functions in gdkcolor.h, so there is no reason to
9667         add other includes of platforms.
9668
9669         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
9670         window bigger than the screen change.
9671
9672         * gtk/testgtk.c: Revert some random changes from Elliot
9673         that had no particular point and were causing testgtkrc
9674         not to function correctly.
9675         
9676         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
9677         because GdkSegment and GdkRegionBox have the same fields,
9678         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
9679         results in clearer code.
9680
9681         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
9682         gdk_input_translate_coordinates): Fix missed GdkObjectification
9683
9684 2000-06-18  Elliot Lee  <sopwith@redhat.com>
9685
9686         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
9687         * gtk/gtk{plug,socket}.h: Missed commits from previous.
9688
9689 2000-06-20  Havoc Pennington  <hp@redhat.com>
9690
9691         * modules/linux-fb/Makefile.am: Make this compile
9692         without framebuffer enabled
9693
9694         * gdk/linux-fb/Makefile.am: Add conditional to not build
9695         framebuffer unless specified in configure
9696
9697         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
9698         the size of the target instead of source if -1 was passed for
9699         width/height
9700
9701         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
9702         width/height confusion.
9703
9704 2000-06-19  Havoc Pennington  <hp@redhat.com>
9705
9706         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
9707         GDK_DRAWABLE_XID. In the future, we probably want to make it
9708         faster with G_DISABLE_CHECKS turned on.
9709
9710 2000-06-14  Havoc Pennington  <hp@redhat.com>
9711
9712         * gdk/Makefile.am: add gdkpixmap.c
9713
9714         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
9715         s/gdk_image_init/_gdk_windowing_image_init
9716
9717         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
9718         ref/unref
9719
9720         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
9721
9722         * gdk/gdkcompat.h: remove GdkWindowType compat, since
9723         GdkWindowType is now non-deprecated; 
9724         change gdk_window_get_type() compat to be
9725         gdk_window_get_window_type().
9726
9727         * gdk/gdkdnd.h: make GdkDragContext a GObject.
9728
9729         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
9730         virtual GObject. Make all functions call into the vtable.
9731         Move gdk_image_put() guts in here. Remove GdkDrawableType
9732         and gdk_drawable_get_type(), these are now GdkWindow-specific.
9733         draw_image, get_depth, get_size, set_colormap, get_colormap,
9734         get_visual added to the vtable.
9735         
9736         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
9737         GObject. Virtualize everything. 
9738         (gdk_gc_new_with_values): remove check for destroyed window,
9739         because now GdkWindow::create_gc will check this.
9740         (gdk_gc_set_values): New function to set GC values, this 
9741         was already implemented but wasn't in the header
9742
9743         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
9744
9745         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
9746         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
9747         remove _gdk_window_class; add _gdk_window_impl_get_type() and
9748         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
9749         _gdk_windowing_window_init, rename gdk_image_init to
9750         _gdk_windowing_image_init.
9751         
9752         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
9753         (gdk_draw_layout): Remove check for destroyed window, 
9754         because all the drawable methods already check it.
9755         
9756         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
9757         Add gdkpixmap.c which contains implementation of GdkDrawable
9758         virtual table (by chaining to a platform-specific implementation
9759         object).
9760         
9761         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
9762         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
9763         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
9764         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
9765         GdkColormapPrivate. 
9766
9767         * gdk/gdktypes.h: #include <glib-object.h>
9768
9769         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
9770         Move most functionality to platform-specific implementation
9771         object. GdkWindow itself now handles the backing store, then
9772         chains to the platform-specific implementation.
9773         (gdk_window_get_window_type): return GdkWindowType of the window.
9774         (gdk_window_peek_children): New routine, returns the children of 
9775         a GdkWindow
9776         (gdk_window_get_children): Was in X11-specific code and did 
9777         XQueryTree. Changed to simply return a copy of window->children; 
9778         so it can go in cross-platform code.
9779         
9780         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
9781
9782         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
9783         GdkColormap; just changed to use the new private data instead
9784         of casting to GdkColormapPrivate.
9785
9786         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
9787         gdk_cursor_new().
9788
9789         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
9790         (private data member in the GObject). 
9791         (xdnd_manager_source_filter): Function had broken 
9792         error handling, fix it (use gdk_error_trap_push).
9793
9794         * gdk/x11/gdkdrawable-x11.c: This file now implements
9795         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
9796         base class is purely for the convenience of the X port,
9797         and not part of the interface to cross-platform GDK.
9798
9799         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
9800         
9801         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
9802         specific to X, and returned by the create_gc virtual method
9803         of GdkDrawableImplX11. 
9804         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
9805         rather than gchar, this was also changed in the GdkGC vtable.
9806         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
9807         mask is 0, return immediately, instead of checking every flag.
9808         This is faster, and keeps us from segfaulting if values is NULL
9809         and the mask contains some nonzero flags.
9810
9811         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
9812         GdkWindow.
9813
9814         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
9815         GdkWindowPrivate is gone.
9816
9817         * gdk/x11/gdkim-x11.c: rename things that got renamed.
9818
9819         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
9820         remove the image_put stuff that got transferred to GdkDrawable.
9821         
9822         * gdk/x11/gdkinput.c: renamings
9823
9824         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
9825
9826         * gdk/x11/gdkpixmap-x11.c: GObject conversion
9827
9828         * gdk/x11/gdkprivate-x11.h: indentation fixes
9829
9830         * gdk/x11/gdkproperty-x11.c: renamings
9831
9832         * gdk/x11/gdkselection-x11.c: renamings
9833
9834         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
9835         implements the platform-specific "impl" object.
9836         Moved gdk_window_get_children to gdk/gdkwindow.c
9837
9838         * gdk/x11/gdkx.h: Remove all the private structs and private datas
9839         that no longer exist. Add declaration of GdkGCX11 object here.
9840         Fix all the macros to still work. 
9841
9842         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
9843         GdkDragContext from the boxed types since they are now GObjects.
9844
9845         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
9846         moved xthickness/ythickness into the instance. GtkStyleClass
9847         functions are now in the standard vtable for GtkStyle, so you have
9848         to create a GObject subclass to write a theme engine.
9849         (gtk_style_copy): fixed a leaked PangoFontDescription
9850         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
9851         can be the standard GObject function.
9852         
9853         * Throughout GTK:
9854         s/style->klass->[xy]thickness/style->[xy]thickness
9855         s/pango_layout_unref/g_object_unref/
9856
9857         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
9858         
9859         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
9860         accessing GDK internals.
9861
9862         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
9863         accessing GDK internals.
9864
9865 2000-06-18  Elliot Lee  <sopwith@redhat.com>
9866
9867         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
9868
9869         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
9870         problem by calculating event position relative to the trough
9871         rather than the slider.
9872         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
9873
9874         * gdk/gdkgc.h: Add GDK_NOR.
9875
9876         * configure.in, Makefile.am: Add modules top level dir
9877         * configure.in: Only use pangox library if building x11 target.
9878         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
9879
9880 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
9881
9882         * gtk/gtkcolorsel.c: Change private class member to be named
9883         private_data throughout the file.
9884
9885         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
9886         private_data to avoid clashing with keyword.
9887
9888 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
9889
9890         * gdk/gdkdnd.h: Add comment to remove warning.
9891
9892 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
9893
9894         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
9895         Byelorussian language; changed the Makefile and file names 
9896         to reflect that.
9897
9898 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
9899
9900         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
9901         rather than gdk_window_hide; this makes things work
9902         correctly if the window is programmatically hidden while
9903         iconified.
9904
9905 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
9906
9907         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
9908         cut and paste typo where wrong pixmap was being
9909         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
9910
9911 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
9912
9913         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
9914         Add helper function to compute format / bytes 
9915         relationship. Use in a couple places to fix up
9916         errors which assume 8 * format.
9917
9918         * gtk/gtkselection.c (gtk_selection_request): Use 32
9919         rather than 8 * sizeof (GdkAtom), to work correctly
9920         on Alpha.
9921
9922 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
9923
9924         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
9925         libgtk.la
9926         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
9927         versions
9928
9929         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
9930         checking macros return NULL since the function has a return value.
9931
9932 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
9933
9934         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
9935         GTK+ from building at all.
9936
9937         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
9938
9939 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
9940
9941         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
9942         gtk/Makefile.am: make it possible to configure gtk for different
9943         targets on the same platform. The library name is now 
9944         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
9945         flag. Only the x11 target compiles right now.
9946         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
9947         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
9948         * gdk/nanox/gdk*generic*: delete generic region code.
9949         * gdk/linux-fb/gdk*generic*: delete generic region code.
9950         * README.nanox: update information.
9951         
9952 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
9953
9954         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
9955         prepend not append. (Pointed out by Brett Hall.)
9956
9957 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
9958
9959         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
9960
9961 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
9962
9963         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
9964         need this later, and this makes sure that the atexit for
9965         glib gets called after that for GDK, so atexits are
9966         properly ordered for object leak checking.
9967
9968         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
9969
9970         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
9971         pango_x_shutdown_display()
9972
9973         * gtk/simple.c (main): Close window on destroy.
9974
9975 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
9976
9977         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
9978         to treat initial creation different from setting with 
9979         regards to the graphics-exposures parameter, so add a parameter
9980         indicating whether this is initial or not.
9981
9982 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
9983
9984         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
9985         to sort of work by adding an extra return_exposes arg
9986         to gdk_event_translate() - it might be better to simply
9987         deprecate the function altogether and force people to rewrite
9988         without it. gdk_window_scroll() handles most of it, and where
9989         gdk_window_scroll() doesn't work, simply redrawing more does.
9990
9991         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
9992         assertion.
9993
9994         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
9995
9996         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
9997         bunch of pretty much useless /* Print debugging info */ comments 
9998         which had drifted away from the code they were commenting.
9999
10000 2000-06-02  Havoc Pennington  <hp@pobox.com>
10001
10002         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
10003         is in working order.
10004         
10005         * gtk/testtext.c: Change to reflect anonymous mark API
10006
10007         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
10008
10009         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
10010         field, which was unused.
10011
10012         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
10013         saves some typing.
10014
10015         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
10016
10017         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
10018         flag on the insertion point and selection bound
10019
10020         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
10021         make mark-manipulation functions take a GtkTextMark* instead of a
10022         mark name.
10023         
10024         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
10025         GtkTextMarkBody; will be used to detect attempts to delete
10026         the permanent marks (insert and selection bound)
10027
10028         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
10029
10030 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
10031
10032         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
10033         flag to on.
10034
10035         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
10036         Honor DOUBLE_BUFFRED_FLAG
10037
10038         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
10039         function to set the DOUBLE_BUFFERED flag.
10040
10041         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
10042         or not exposes done on the widget should be double-buffered.
10043
10044         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
10045         to be what would be expected. (Fixes problem with a
10046         g_return_if_fail() validating a TextDirection enumeration)
10047
10048 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
10049
10050         * gtk/gtkwidget.c: Remove all references to 
10051         offscreen flag which was no longer used.
10052
10053         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
10054
10055         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
10056         for non-null label_widget->parent.
10057
10058         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
10059         which no longer was used.
10060
10061         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
10062
10063         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
10064         for null arguments.
10065
10066         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
10067         check for destroyed windows.
10068
10069 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
10070
10071         * gtk/gtkimmulticontext.c: Add a finalize method and unref
10072         the slave context there.
10073
10074         * gtk/gtkinvisible.[ch]: Make reference counting behavior
10075         identical to GtkWindow.
10076
10077 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
10078
10079         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
10080         pangox to here, so we can write them independent of rendering
10081         system, using GDK primitives.
10082
10083         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
10084         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
10085         since we have a rendering-system independent implementation in
10086         terms of draw_glyphs().
10087         
10088         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
10089         function to render a single line.
10090
10091         * gdk/x11/gdkpango.c: Move the guts of this file mostly
10092         into ../gdkpango.c, which simplifies things, since we
10093         don't have to deal with raw X gc's.
10094
10095 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
10096
10097         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
10098         get the logical attributes for a given GtkTextLine.
10099
10100 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
10101
10102         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
10103         g_locale_get_codeset() to g_get_codeset() change.
10104
10105 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
10106
10107         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
10108         descriptions.
10109
10110         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
10111         the entry.
10112
10113         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
10114         redoing (vastly simplifying) for Pango. Still needs quite
10115         a bit of work. (Size selection is currently poor. List of 
10116         predefined sizes is not a good idea, since all of these
10117         sizes won't necessarily be distinct.)
10118
10119 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
10120
10121         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
10122         CODESET results for LANG=C.
10123
10124 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
10125
10126         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
10127         which takes a stringized pango font description;
10128         ignore the older 'font' and 'fontset' declarations.
10129
10130         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
10131         field with a GdkFont derived via gdk_font_from_description(),
10132         for compatibility. (Should we just remove it entirely?
10133         Probably too much compatibility breakage, but people
10134         should be migrating to the new Pango stuff as quickly
10135         as possible.)
10136
10137 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
10138
10139         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
10140
10141 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
10142
10143         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
10144         redoing; there are some bugs in size allocation right
10145         now, the semi-existant distinction between header / day
10146         fonts was removed, but, with Pango, could actually
10147         be made functional in a nice way.
10148         
10149         * gtk/testcalender: Move calender from examples into this
10150         directory as a test program. (We really need to restrcture
10151         testgtk into a whole directory full of tests for every
10152         widget or functionality group, separated into multiple .c
10153         files.)
10154
10155 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
10156
10157         * gtk/testgtk.c (file_exists): Fix stupid typo that
10158         was keeping RC file from being loaded.
10159
10160         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
10161         RC file font code.
10162
10163 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
10164
10165         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
10166         Add function to load a GdkFont from a PangoFontDescription.
10167
10168 2000-05-29  Tor Lillqvist  <tml@iki.fi>
10169
10170         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
10171         variable should be of type GdkEventPrivate.
10172
10173 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
10174
10175         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
10176         to have any widget for the label, use a GtkLabel widget
10177         to display the text. (Based partially on a patch from
10178         Anders Carlson.)
10179
10180         (Quite a bit of code reorganization - strip 90% of the
10181         guts out of gtkaspectframe and add a single virtual
10182         func to GtkFrameClass - compute_child_allocation.)
10183
10184 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
10185
10186         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
10187         (Removed clist->row_center_offset field because caching
10188         it wasn't saving time or code, added private function
10189         _gtk_clist_create_cell_layout()).
10190
10191 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
10192
10193         * gtk/gtkaccellabel.c: Pangoized.
10194
10195         * gtk/[hv]ruler.c: Pangoized
10196
10197 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
10198
10199         * gtk/gtkfilesel.c (gtk_file_selection_init):
10200         Use gtk_clist_set_column_auto_resize() to remove need
10201         need for manual column width computations.
10202
10203 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
10204
10205         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
10206         ensuring Pango correctness, and considerably simplifying the
10207         code.
10208         
10209         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
10210
10211         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
10212         getting of numbers of lines.
10213
10214         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
10215         to the actual requested width of the lable, not to the wrap
10216         width we set.
10217
10218         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
10219
10220         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
10221           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
10222
10223         * gtk/gtktextview.c: Fix structure inheritance.
10224
10225         * gtk/gtkprogressbar.c: Pangoize.
10226
10227 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
10228
10229         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
10230         in a function.
10231
10232         * gtk/gtktextlayout.c (find_display_line_above): Fixed
10233         bug with computing line tops.
10234
10235         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
10236
10237 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
10238
10239         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
10240         and y_offset coordinates to do what we need now. (The offset between
10241         buffer and layout coordinates has been reintroduced, but is a 
10242         bit different than before.)
10243
10244         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
10245         handle the adjustments ourselves, and scroll as necessary using
10246         the new gdk_window_scroll().
10247         
10248         The advantage of this is that when we are incrementally revalidating,
10249         we are essentially rearranging things around the visible portion
10250         of the screen. With the old setup, the visible portion of the
10251         screen was moved around in the layout, so scrolling and redrawing
10252         to track that caused jumping of the display. Since we now
10253         control the scrolling ourselves, we can suppress this and
10254         only redraw when things actually change.
10255
10256 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
10257
10258         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
10259         the region not just redisplay it after-all, since we store the
10260         cursors in the LineDisplay. (Ugly interactions here between
10261         GtkLayout and GtkTextBTree here.)
10262         
10263         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
10264
10265 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
10266
10267         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
10268         Added function to scroll contents of a window while keeping the
10269         window constant. Works by XCopyArea or guffaw-scrolling depending
10270         on the details of how the window is set up. (guffaw-scrolling
10271         still needs to be filled in.)
10272
10273 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
10274
10275         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
10276         move the debugging that was tied to a global variable
10277         to that.
10278
10279         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
10280
10281         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
10282         validated flag, in line data instead of setting height/width to
10283         -1. This allows us to perform operations with partially invalid
10284         buffer (using the old size for invalid lines) and thus to do
10285         incremental vaidation. Keep height/width aggregates up to date
10286         when deleting text and rebalancing the tree.
10287
10288         * gtk/gtktextbtree.[ch]: Add functions validate a line
10289         (gtk_text_btree_validate_line), and to validate up
10290         to a number of pixels (gtk_text_btree_validate).
10291
10292         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
10293         that indicates that something is changed and a revalidation
10294         pass is needed. Change ::need_repaint to ::changed, and
10295         make it take old and new yranges instead of a rectangle.
10296
10297         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
10298         the line_data_destroy() function from 
10299         gtk_text_btree_add_view() to a virtual function in 
10300         GtkTextLayout
10301
10302         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
10303         since we are handling partial repaints in a different fashion
10304         now.
10305
10306         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
10307         of the selection instead of queueing a repaint on the
10308         entire widget.
10309
10310         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
10311         get_selection_bounds() down to btree, make the function
10312         in buffer a wrapper around the btree function.
10313
10314         * gtk/gtktextlayout.[ch]: Add functions to check if the
10315         layout is valid and to recompute either a range of pixels
10316         aroudn a line or a certain total number of pixels.
10317
10318         * gtk/gtktextlayout.[ch]: Cache a single line display;
10319         now that we only redraw the needed portions, the hit rate
10320         for this cache is quite high.
10321         
10322         * gtk/gtktextview.[ch]: Keep track of the first paragraph
10323         on the screen so that when re-laying-out the buffer, we can
10324         keep the same place. This requires connecting to ::value_changed
10325         on the adjustments
10326
10327         * gtk/gtktextview.[ch]: Add idle functions to revalidate
10328         the buffer after we receive an ::invalidated signal.
10329         
10330 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
10331
10332         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
10333         to max of allocation and layout size, not just to the
10334         layout size.
10335
10336         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
10337         Invalidate window so it gets redrawn properly.
10338
10339         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
10340         to mean the entire window.
10341
10342         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
10343         into public header.
10344
10345 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
10346
10347         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
10348         to get the name of a mark.
10349
10350         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
10351         to find the paragraph from a y position.
10352
10353 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
10354
10355         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
10356         nodes have width/height >= 0, not > 0.
10357
10358 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
10359
10360         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
10361         Add a size_only flag, so when we only need the size, we don't create
10362         useless appearance attributes.
10363
10364         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
10365         duplicate setting of font description.
10366
10367         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
10368
10369 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
10370
10371         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
10372         EXTRA_DIST. It does not work well when the file that
10373         everything depends on is not in the tarball.
10374
10375 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
10376
10377         * gtk/testgtk.c: Some hacks and fixes so that it basically
10378         works when not sitting in the GTK+ build tree.
10379
10380 2000-05-03  Havoc Pennington  <hp@redhat.com>
10381
10382         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
10383         Properly determine the ordering of the tag root and the current
10384         line within the tree. Previous algorithm only worked if the tag
10385         root's immediate parent was the common root of both the current
10386         line and the tag root.
10387
10388 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
10389
10390         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
10391         alignment.
10392
10393         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
10394         the widget text directional dynamically.
10395
10396         * gtk/gtktextview.[ch]: Added functions to get and set default
10397         wrap mode.
10398
10399 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
10400
10401         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
10402         in cursor location computation.
10403
10404 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
10405
10406         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
10407         vadjusment values properly when layout gets smaller.
10408
10409         * gtk/gtktextview.c (need_repaint_handler): Areas being
10410         passed in are far completely inaccurate, and sometimes
10411         too small, so, for now, just queue a redraw on the
10412         whole visible region.
10413
10414 2000-04-25  Havoc Pennington  <hp@redhat.com>
10415
10416         * gtk/gtktextbtree.c (summary_destroy): new function to 
10417         destroy tag summary nodes
10418         (gtk_text_line_next_could_contain_tag): this function was 
10419         totally broken if the line passed in wasn't below the tag
10420         root. Fix it.
10421         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
10422         "wildcard" case, we have to do a linear scan. Blah.
10423         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
10424         we have to do the linear scan
10425         (tag_removed_cb): When a tag is removed from the tag table, 
10426         remove the GtkTextTagInfo node from the btree.
10427         (gtk_text_btree_spew): Implement the spew function, for 
10428         our debugging pleasure.
10429
10430 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
10431
10432         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
10433         a problem with referring to the wrong buffer.
10434
10435         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
10436
10437         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
10438         font description to gtk_style_new() - otherwise things
10439         don't work without a .gtkrc file.
10440
10441         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
10442         tags table if we create it ourself, too.
10443
10444         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
10445         it was conflicting with XKB modifiers.
10446
10447         * gtk/gtktextview.[ch]: Add simple support for 
10448         GtkIMContext.
10449
10450 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
10451
10452         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
10453         with deletion from last commit.
10454
10455 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
10456
10457         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
10458         in the context from the current locale.
10459         
10460         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
10461         context, not hardcoded value.
10462
10463         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
10464         not logical.
10465
10466 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
10467
10468         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
10469         attributes - that doesn't handle partial-glyph selection
10470         properly. Instead use new pango_layout_line_get_x_ranges()
10471         functionality to draw the selection.
10472
10473         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
10474         now properly handles out-of-range coordinates.
10475
10476         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
10477
10478         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
10479         public.
10480
10481         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
10482         for paragraphs opposite to the base direction of the widget.
10483
10484         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
10485
10486         * gtk/gtktextlayout.c: Don't split segments on marks, since that
10487         causes Arabic words to reshape as you cursor through.
10488
10489         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
10490         cursor position when moving vertically with the arrow keys and
10491         scrolling with page-up/page-down. (Arrow keys save only the X,
10492         scrolling saves both X and Y.)
10493
10494         This means you can line-up / line-down or page-up / page-down
10495         without losing your place, and also that moving vertically
10496         with the cursor keys keeps the same X position, not the same
10497         character count:
10498
10499         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
10500         arrow keys move by display lines, not paragraphs.
10501
10502 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
10503
10504         * gtk/gtklayout.c: Make sure that the bin window is at least
10505         as big as the allocation. (Should we also make sure that the
10506         bin window is big enough to completely cover widget->window?)
10507
10508         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
10509         function to get the onscreen rectangle.
10510
10511         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
10512         for offsets in window coordinates.
10513
10514 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
10515
10516         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
10517         confusion.
10518
10519         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
10520         from the widget direction.
10521
10522         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
10523         Add a "direction" attribute.
10524
10525         * gtk/gtktextview.c: global s/tkxt/text_view/.
10526
10527         * gtk/testtext.c: Added long block of text in Arabic, to test out
10528         the direction attributes. (Some problems with the shaping system
10529         for arabic become obvious - like the fact the cursor splits words
10530         into unjoined pieces.)
10531
10532 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
10533
10534         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
10535
10536         * gtk/gtktextlayout.c: Fix up alignment.
10537
10538         * gtk/testtext.c: Add some tests for centering, wrapping.
10539
10540 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
10541
10542         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
10543         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
10544         If we wrote GTK+-specific layout-render function this could just replace
10545         the draw_layout() operation in the vtable.
10546
10547         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
10548         pango_layout_get_cursor_pos() and use that function.
10549
10550         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
10551         is a non-static symbol.
10552
10553         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
10554         with gtk_text_btree_find_line_by_y()
10555
10556         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
10557         renderer that handles GtkTextAppearance attributes.
10558
10559         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
10560
10561           - Move the values in the style that don't affect geometry into a
10562             GtkTextAppearance structure.
10563           - Change underline to take a PangoUnderline and "font" a string
10564             representation of a font description
10565           - Add a "font_desc" attribute which takes a FontDescription structure.
10566
10567         * gtk/gtktextlayout.[ch]:
10568
10569           - Get rid of the display-line list per each line. Instead, we
10570             generate, on demand, a GtkTextLineDisplay structure which]
10571             contains a PangoLayout * and other necesary information
10572             (offsets, cursor locations) for displaying a paragraph.
10573           - Get rid of the code to wrap lines, create display chunks,
10574             etc. Instead, we just go through a paragraph and convert
10575             it into the necessary inputs to a PangoLayout.
10576           - Implement a new attribute type, GtkTextAttrAppearance. This
10577             holds a GtkTextAppearance, and is used to pass colors, 
10578             stipple, etc, through from the layout to the display without
10579             having to use lots and lots of individual attributes.
10580           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
10581             in terms of PangoLayout functions.
10582         
10583         * gtk/gtktextview.c: 
10584          
10585           - Handle passing the necessary PangoContext to the layout
10586           - Some fixups in painting to deal with the automatic backing store
10587             and offsetting of GTK+-1.4
10588           - Add a style_set handler so that the default style reacts
10589             properly to theme changes.
10590         
10591         * gtk/gtktext?*.[ch]: Random code-style fixes.
10592
10593         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
10594
10595 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
10596
10597         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
10598         in original form preparatory to Pango-ization and gdkimcontext-ization.
10599
10600 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
10601
10602         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
10603         so that we can derive from gtkimcontext in language bindings properly.
10604
10605 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
10606
10607         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
10608         Add a compose table including (almost) all the compose combinations
10609         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
10610         data in the XIM implementation.
10611
10612         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
10613         Moved functions to convert keyvalues from and to unicode here from
10614         the win32 port and made them public.
10615
10616 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
10617
10618         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
10619
10620 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
10621
10622         * gtk/gtkimcontext.[ch]: Base class for new input context system
10623
10624         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
10625         the real input context implementation to be loaded from modules
10626         and switched on the fly.
10627
10628         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
10629         context that just does direct keysymbol => unicode translation.
10630
10631         * gtk/gtkentry.[ch]: Start switching editing over to using
10632         GtkInputContext. (No handling of preedit yet.)
10633
10634 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
10635
10636         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
10637         many substitutions. (klass should not be subsituted.)
10638
10639 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
10640
10641         * configure.in: Add checks for Pango
10642
10643         * configure.in docs/Makefile.am: Add test for sgml2html
10644         and allow 'make dist' without building html, but print out
10645         warnings in that case. (For making snapshots)
10646
10647         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
10648         Add Pango libraries and C flags
10649
10650         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
10651         Add function (gdk_draw_layout) to draw a pango layout.
10652
10653         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
10654         for getting Pango contexts for GDK.
10655
10656         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
10657
10658         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
10659         editing.
10660
10661         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
10662         keysym => unicode translations. More languages can be added
10663         here, but real input-method support is needed.
10664
10665         * docs/Changes-1.4.txt: Added note about entry behavior.
10666         
10667         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
10668         to set the reading direction for a widget and the global direction.
10669         Add test which allows toggling the global direction. Two private
10670         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
10671
10672         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
10673           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
10674
10675         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
10676
10677         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
10678         underlining now handled by Pango.
10679
10680         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
10681         to RCStyle and Style. (Having both this and the old font name and GdkFont 
10682         is temporary.)
10683
10684         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
10685         convenience functions for creating contexts and layouts for widgets.
10686
10687         * gtk/testgtk.c: Enhance label tests with multilingual labels.
10688
10689 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
10690
10691         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
10692         titles to be active, even if they aren't visible.
10693         (gtk_clist_column_titles_passive):  Ditto.
10694
10695 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
10696
10697         * gtkmenu.c:
10698         * gtkmenu.h:
10699         * gtktypeutils.h: Spelling/grammar fixes in comments.
10700
10701 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
10702
10703         * gdk/nanox/*.h: add missing header files.
10704
10705 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
10706
10707         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
10708         send_event to TRUE.
10709         (gtk_drawing_area_size): queue a resize.
10710
10711 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
10712
10713         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
10714         the handlers, also invalidate them. bug nailed down by Karl Nelson
10715         <kenelson@ece.ucdavis.edu>.
10716
10717 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
10718
10719         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
10720         "(nil)" foundries, patch from Grigorios Magklis.
10721
10722         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
10723         on non-available fonts, based on a patch by Grigorios Magklis
10724         <maglis@cs.rochester.edu>.
10725
10726 2000-05-18  Elliot Lee  <sopwith@redhat.com>
10727
10728         * gdk/x11/gdkregion-generic.c: If a region does not have any
10729         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
10730         instead of GDK_OVERLAP_RECTANGLE_IN.
10731
10732 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
10733
10734         * gtk/gtklayout.c (gtk_layout_map): Remove references to
10735         OFFSCREEN, as it is no longer necessary.
10736
10737 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
10738
10739         * gtk/gtkcolorsel.c: Patch from David Santiago
10740         <mrcooger@cyberverse.com> to change things so that the 
10741         indicator of the active palette entry is done independently,
10742         not via the focus, since it should always be visible.
10743
10744 2000-05-17  Tor Lillqvist  <tml@iki.fi>
10745
10746         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
10747         refcount leaks as in the X11 backend.
10748
10749         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
10750         cosmetics.
10751
10752         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
10753         backend. Add _gdk_windowing_window_destroy().
10754
10755         * gtk/gtkcolorsel.c: Include correct backend-specific header.
10756         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
10757         either, but these probably do exist on nanox?)
10758         
10759         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
10760         which isn't necessarily defined by <math.h>.
10761
10762         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
10763         ancestry past GtkObject.
10764
10765         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
10766         from DLL on Win32.
10767
10768         * gtk/gtk.def: Update corresponding to recent changes.
10769
10770         * gtk/makefile.{cygwin,msc}: Updates.
10771
10772 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
10773
10774         * docs/Changes-1.4.txt: A bit of editing.
10775
10776         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
10777         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
10778         to clear the update area for the window, and clear it
10779         when hiding a window.
10780
10781         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
10782         if window destroyed.
10783
10784         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
10785
10786         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
10787         gdk_window_destroy() to the generic code, since there was a lot of 
10788         window-system-independent logic it in. Add a function:
10789         
10790          _gdk_window_destroy() 
10791
10792         to the internal API to destroy a window without unreferencing it.
10793         Add a function:
10794
10795          _gdk_windowing_window_destroy()
10796
10797         That does the windowing-system-dependent part of destroying 
10798         the window.
10799
10800 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
10801
10802         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
10803
10804 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
10805
10806         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
10807         Make gtk_widget_shape_combine_mask() keep a reference count on
10808         the pixmap since it keeps it around.
10809
10810 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
10811
10812         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
10813         leak.
10814
10815         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
10816         leak with event filters.
10817
10818 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
10819
10820         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
10821         signal handlers with the right data arguments. (Fixes
10822         some warnings when a widget was repeatedly set as a drag
10823         destination.)
10824
10825         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
10826         window so we can avoid avoid setting the DND properties on the
10827         toplevel window repeatedly.
10828
10829 2000-05-13  Tor Lillqvist  <tml@iki.fi>
10830
10831         * gdk/win32/gdkwin32.h: Define more message types missing from
10832         mingw headers.
10833
10834         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
10835         call gdk_window_destroy_notify(). It was never called. This
10836         probably meant that the GdkWindow was never freed. Thanks Owen for
10837         noticing (!).
10838
10839         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
10840         window as destroyed before calling DestroyWindow(). DestroyWindow()
10841         causes a call to the window procedure (gdk_WindowProc), which
10842         calls gdk_event_translate(), which calls
10843         gdk_window_destroy_notify(), which gets confused unless the window
10844         is set as destroyed.
10845
10846         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
10847         this function to indicate it's win32 only. Put inside #ifdef
10848         G_ENABLE_DEBUG.
10849
10850         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
10851         debugging function. (gdk_event_translate:) Add a default branch
10852         that uses the above function to print debug messages with all
10853         Windows messages symbolically.
10854
10855         * gdk/win32/gdkprivate-win32.h: Declare it, and
10856         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
10857
10858 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
10859
10860         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
10861         public header file.
10862
10863 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
10864
10865         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
10866
10867         * gtk/gtktext.c: made the adjustments no-construct args, simply
10868         provide default adjustments.
10869         (gtk_text_destroy): release adjustments.
10870
10871         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
10872         adjustment argument non-construct.
10873
10874         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
10875         instead of in finalize.
10876         (gtk_progress_get_text_from_value): 
10877         (gtk_progress_get_current_text): 
10878         (gtk_progress_set_value): 
10879         (gtk_progress_get_percentage_from_value): 
10880         (gtk_progress_get_current_percentage): 
10881         (gtk_progress_set_percentage): 
10882         (gtk_progress_configure): ensure an adjustment is present.
10883
10884 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
10885
10886         * gtk/gtkcolorsel.[hc]:
10887         * gtk/gtkcolorseldialog.[hc]:
10888         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
10889         their parent implementation, use bit fields for boolean values, don't
10890         create unused widgets, usage of glib types, braces go on their own
10891         lines, function argument alignment, #include directives etc. etc. etc..
10892
10893         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
10894
10895 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
10896
10897         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
10898
10899         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
10900         of NULL.
10901
10902         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
10903         to freed data.
10904         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
10905
10906         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
10907         to NULL when the toplevel is getting destroyed.
10908         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
10909         (gtk_menu_destroy): 
10910         (gtk_menu_init): store the information of whether we have to
10911         readd the initial child ref_count during destruction in a new
10912         GtkMenu field needs_destruction_ref_count.
10913
10914         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
10915         here, those reading: learn from my mistake! ;)
10916         in order for set_?adjustment to support a default adjustemnt if
10917         invoked with an adjustment pointer of NULL, the code read (pseudo):
10918         if (v->adjustment) unref (v->adjustment);
10919         if (!adjustment) adjustment = adjustment_new ();
10920         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
10921         now imagine the first unref to actually free the old adjustment and
10922         adjustment_new() creating a new adjustment from the very same memory
10923         portion. here, the latter comparision will unintendedly fail, and
10924         all hell breaks loose.
10925         (gtk_viewport_set_hadjustment):
10926         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
10927         after unreferencing it.
10928
10929         * gtk/gtkcontainer.[hc]: removed toplevel registration
10930         functions: gtk_container_register_toplevel(),
10931         gtk_container_unregister_toplevel() and
10932         gtk_container_get_toplevels() which had wrong semantics
10933         anyways: it didn't reference and copy the list.
10934
10935         * gtk/gtkwindow.c: we take over the container toplevel registration
10936         bussiness now. windows are registered across multiple destructions,
10937         untill they are finalized. the initial implicit reference count
10938         users are holding on windows is removed with the first destruction
10939         though.
10940         (gtk_window_init): ref & sink and set has_user_ref_count, got
10941         rid of gtk_container_register_toplevel() call. add window to
10942         toplevel_list.
10943         (gtk_window_destroy): unref the window if has_user_ref_count
10944         is still set, got rid of call to
10945         gtk_container_unregister_toplevel().
10946         (gtk_window_finalize): remove window from toplevel list.
10947         (gtk_window_list_toplevels): new function to return a newly
10948         created list with referenced toplevels.
10949         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
10950
10951         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
10952         adjustment a non-construct arg.
10953         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
10954         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
10955         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
10956
10957         * gtk/gtkrange.c: added some realized checks.
10958         (gtk_range_destroy): get rid of the h/v adjustments in the
10959         destroy handler instead of finalize. remove timer.
10960         (gtk_range_get_adjustment): demand create adjustment.
10961
10962         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
10963         we simply create them on demand now and get rid of them in
10964         the destroy handler.
10965         (gtk_viewport_destroy): get rid of the h/v adjustments in the
10966         destroy handler instead of finalize.
10967         (gtk_viewport_get_hadjustment): 
10968         (gtk_viewport_get_vadjustment): 
10969         (gtk_viewport_size_allocate): demand create h/v adjustment
10970         if required.
10971
10972         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
10973         gtk_widget_real_destroy () functionality.
10974         (gtk_widget_real_destroy): reinitialize with a new style, instead
10975         of setting widget->style to NULL.
10976
10977 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
10978
10979         * gtk/gtkcalendar.c:
10980         * gtk/gtkbutton.c: ported _get_type() implementation over to
10981         GType, either to preserve memchunks allocation facilities,
10982         or because Gtk+ 1.0 GtkTypeInfo was still being used.
10983
10984         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
10985         over. prepare for ::destroy to be emitted multiple times.
10986         removed reference tracer magic. chain into GObjectClass.shutdown()
10987         to emit ::destroy signal.
10988
10989         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
10990         fundamental.
10991
10992         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
10993         cludge.
10994
10995         * gtk/gtksocket.c:
10996         * gtk/gtkplug.c:
10997         * gtk/gtklayout.c:
10998         * gtk/gtklabel.c:
10999         * gtk/gtkargcollector.c:
11000         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
11001         not being a fundamental anymore, and to work with the new
11002         type system (nuked fundamental type varargs clutter).
11003
11004         * gtk/*.c: install finalize handlers in the GObjectClass
11005         part of the class structure.
11006         changed direct GTK_OBJECT()->klass accesses to
11007         GTK_*_GET_CLASS().
11008         changed direct object_class->type accesses to GTK_CLASS_TYPE().
11009
11010         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
11011         GType. made most of the GTK_*() type macros and Gtk* typedefs
11012         simple wrappers around macros and types provided by GType.
11013         most notably, a significant portion of the old API vanished:
11014         GTK_TYPE_MAKE(),
11015         GTK_TYPE_SEQNO(),
11016         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
11017         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
11018         GTK_TYPE_ARGS,
11019         GTK_TYPE_CALLBACK,
11020         GTK_TYPE_C_CALLBACK,
11021         GTK_TYPE_FOREIGN,
11022         GtkTypeQuery,
11023         gtk_type_query(),
11024         gtk_type_set_varargs_type(),
11025         gtk_type_get_varargs_type(),
11026         gtk_type_check_object_cast(),
11027         gtk_type_check_class_cast(),
11028         gtk_type_describe_tree(),
11029         gtk_type_describe_heritage(),
11030         gtk_type_free(),
11031         gtk_type_children_types(),
11032         gtk_type_set_chunk_alloc(),
11033         gtk_type_register_enum(),
11034         gtk_type_register_flags(),
11035         gtk_type_parent_class().
11036         replacements, where available are described in ../docs/Changes-1.4.txt.
11037         implemented compatibility functions for the remaining API.
11038
11039         * configure.in: depend on glib 1.3.1, use gobject module.
11040
11041 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
11042
11043         * TODO.xml: Various updates to current status.
11044
11045 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
11046
11047         * gtk.m4: Print out version when test succeeds.
11048
11049 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
11050
11051         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
11052         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
11053         
11054         (Original triangle color selector from Simon Budig
11055         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
11056         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
11057         Santiago <mrcooger@cyberverse.com>)
11058
11059         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
11060         out into a separate widget.
11061
11062         * gtk/testgtk.c: Add some checkbuttons for toggling palette
11063         and opacity controls.
11064
11065 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
11066
11067         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
11068         snuck in prematurely.
11069
11070 2000-05-07  Tor Lillqvist  <tml@iki.fi>
11071
11072         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
11073         had deleted a ! operator by mistake, which caused
11074         GDK_SELECTION_CLEAR events never to be generated, which caused
11075         only the first copy to the clipboard from an gtkeditable to
11076         actually cause a copy to the Windows clipboard.
11077
11078 2000-05-06  Tor Lillqvist  <tml@iki.fi>
11079
11080         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
11081         compilation, too. Current mingw gcc distributions include the
11082         necessary headers. Also the necessary IIDs are now in mingw
11083         headers/libraries, and own definitions unnecessary.
11084
11085         More hacking on OLE2 DND, still doesn't work though, and thus
11086         ifdeffed out.
11087
11088         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
11089         here, too.
11090
11091 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
11092
11093         * gdk/nanox/*: nano-X port work in progress.
11094         * gdk/simple.c: simple test for Gdk.
11095         * README.nanox: notes about the port: read this first!
11096         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
11097         with nano-X.
11098
11099 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
11100
11101         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
11102         gdk_window_clear() into common code, implement in terms of
11103         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
11104         not redirected to the backing rectangle.
11105
11106 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
11107
11108         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
11109         EXTRA_DIST. It does not work well when the file that
11110         everything depends on is not in the tarball.
11111
11112 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
11113
11114         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
11115         with recursion where process_updates() is called from
11116         an expose handler. (GtkTextView is highly broken in
11117         doing this, but it should work, so it is a nice test
11118         case.)
11119
11120 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
11121
11122         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
11123         handle the case where updates are queued during processing of
11124         updates.
11125
11126 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
11127
11128         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
11129         window is on gdk_display - use that instead of segfaulting.
11130
11131 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
11132
11133         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
11134         broken and require an empty arg, give it to them.
11135
11136 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
11137
11138         * gtk/gtklabel.h: indentation fixes.
11139
11140 2000-05-02  Tor Lillqvist  <tml@iki.fi>
11141
11142         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
11143         draw too narrow or too low arcs, they seem to fail, at least with
11144         some display drivers.
11145
11146         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
11147
11148         Large changes to the Win32 backend, partially made necessary by
11149         the changes to the backend-independent internal
11150         structures. Attempts to implement similar backing store stuff as
11151         on X11. The current (CVS) version of the Win32 backend is *not* as
11152         stable as it was before the no-flicker branch was merged. A
11153         zipfile with that version is available from
11154         http://www.gimp.org/win32/. That should be use by "production"
11155         code until this CVS version is usable. (But note, the Win32
11156         backend has never been claimed to be "production quality".)
11157
11158         * README.win32: Add the above comment about versions.
11159
11160         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
11161
11162         * gdk/gdk.def: Update.
11163
11164         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
11165         presumably be replaced by some more better mechanism as 1.4 gets
11166         closer to release shape.
11167
11168         * gdk/makefile.{cygwin,msc}: Update.
11169
11170         * gdk/win32/*.c: Correct inclusions of the backend-specific and
11171         internal headers. Change code according to changes in these. Use
11172         gdk_drawable_*, not gdk_window_* where necessary.
11173
11174         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
11175         our old DND.
11176
11177         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
11178         to interpret single characters as UTF-8. Thanks to Hans Breuer.
11179         Use correct function name in warning messages.
11180
11181         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
11182         GSourceFuncs gdk_event_prepare and gdk_event_check.
11183         (gdk_event_get_graphics_expose): Do implement, use
11184         PeekMessage. Thanks to Hans Breuer.
11185         (event_mask_string): Debugging function to print an GdkEventMask.
11186         (gdk_pointer_grab): Use it.
11187
11188         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
11189         (old) book I used claimed was Hangul actually is CJK Unified
11190         Ideographs Extension A. Also, Hangul Syllables were missing.
11191         Improve logging.
11192
11193         * gdk/win32/gdkgc-win32.c: Largish changes.
11194
11195         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
11196         g_win32_getlocale() from GLib, and not setlocale() to get current
11197         locale name.
11198
11199         * gdk/win32/gdkprivate-win32.h
11200         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
11201         gdkwin32.h, similarily as in the X11 backend.
11202
11203         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
11204         assignment was used instead of equals in if test. Thanks to Hans
11205         Breuer.
11206
11207         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
11208         the X11 version.
11209
11210         * gdk/win32/makefile.{cygwin,msc}
11211         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
11212         path to the Win32 headers that works also with the mingw compiler.
11213
11214         * gtk/gtkstyle.c: Include <string.h>.
11215
11216 2000-04-26  Havoc Pennington  <hp@redhat.com>
11217
11218         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
11219         replacing the broken gtk_label_get ()
11220
11221 2000-04-15  Havoc Pennington  <hp@pobox.com>
11222
11223         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
11224         this keeps scanner scripts from getting confused.
11225
11226         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
11227         data, rather than void
11228
11229 2000-04-15  Tor Lillqvist  <tml@iki.fi>
11230
11231         * gtk/gtkclist.c (gtk_clist_motion)
11232         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
11233         with is_hint FALSE, get x and y from the event. They used to be
11234         used uninitialised. The Win32 backend never sends motion events
11235         marked as hints. This for instance fixes the annoying file and
11236         font selector behaviour in the Win32 version.
11237
11238 2000-04-14  Tor Lillqvist  <tml@iki.fi>
11239
11240         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
11241         gtk_private_n_signals variables, they are used by some software,
11242         sigh.
11243
11244         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
11245         installation directory from the Registry, where the installer
11246         should have put it.
11247
11248 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
11249
11250         * gdk/x11/Makefile.am: Fix problem with installation directory for
11251         gdkx.h
11252
11253         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
11254         <mrcooger@cyberverse.com> so that when selecting menus with the
11255         mouse, the first item will not be selected, but when selecting
11256         with an accelerator, or navigating left-right on a menubar with
11257         the menus popped up, the first item will be selected.
11258
11259 2000-04-05  Dan Damian  <dand@dnttm.ro>
11260
11261         * configure.in: Added "ro" to ALL_LINGUAS.
11262
11263 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
11264
11265         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
11266         indentation.
11267
11268         * Makefile.am (EXTRA_DIST): Fix typo.
11269
11270         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
11271         to catch gdkconfig.h
11272
11273         * gtk/gtkitemfactory.c: Added FIXME.
11274
11275 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
11276
11277         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
11278         s/return_if_fail/return_val_if_fail/g and add a return value.
11279
11280 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
11281
11282         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
11283         merge slipup.
11284
11285         * gdk/gdkinput.h: Fix missing line from merge.
11286
11287 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
11288
11289         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
11290         instead of gdkprivate.h.
11291
11292 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
11293
11294         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
11295         parent class to correctly be GtkDialogClass.
11296
11297 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
11298
11299         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
11300         toplevel windows and their immediate children by their parents,
11301         since the size of toplevel windows is out of our immediate
11302         control and we don't get any real benefit from trying to track
11303         this size for clipping.
11304
11305         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
11306         for input_only windows.
11307
11308         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
11309         to fix some hacks and make sure that we don't try to set the
11310         background of input only windows.
11311
11312 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
11313
11314         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
11315         the _really_ internal stuff, and leave gdkprivate.h for the fake private
11316         stuff that we've traditionally exposed.
11317
11318         * gdk/**.c: Use gdkinternals.h where appropriate.
11319
11320         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
11321         not include gdkprivate-x11.h, move all stuff of conceivable public
11322         interest into gdkx.h; keep all really private stuff in
11323         uninstalled header gdkprivate-x11.h.
11324
11325         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
11326         image->image_put on windows through a new function _gdk_window_draw_image()
11327         to allow us to do backing store for images. (Sort of ugly)
11328
11329         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
11330         contexts locally so that we can offset them properly when drawing 
11331         onto backing pixmaps.
11332
11333         * gdk/gdkinput.h: Reindented
11334
11335         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
11336         pixmap or color for the window, so we can properly initialize
11337         our double-buffer pixmaps, and also so that we temporarily set
11338         a background of None while scrolling.
11339
11340         * gdk/gdkregion.h: Revise region boolean operators to have an
11341         interface that is actually convenient - switch from creating new
11342         regions on every op, to "methods" that modify existing regions
11343         (A = A OP B). 3 argument forms which allow dest == src, would also
11344         be possible, but the current interfaces seem to map nicely
11345         onto what needs to be done. (There is quite a lot of region
11346         code in GDK now.)
11347
11348         * gdk/gdkregion.h: Add constructor from rectangle and a copy
11349         operator.
11350
11351         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
11352         gdkpoly-generic.h: Copy region code from Xlib, switch it over
11353         to 32 bit coordinates, modify it to be mostly GTK+ style
11354         and to have interfaces that match gdkregion.h.
11355
11356         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
11357         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
11358         create a backing pixmap and redirect all drawing to
11359         that backing pixmap until a matching gdk_window_end_paint().
11360
11361         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
11362         Create a special drawable class for GtkWindow's that 
11363         redirects the drawing to the backing pixmap as necessary
11364         and then calls the real operations in _gdk_windowing_window_class.
11365
11366         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
11367         Store invalid region for each window. Generate expose events for invalid
11368         region in an idle. This replaces both the expose compression
11369         and the redrawing queuing in GTK+. It is both more efficient and
11370         simpler than either one individually and far more so then the
11371         combination.
11372
11373         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
11374         Emulate 32 bit coordinates for windows with 16 bit coordinates
11375         by offsetting drawing, guffaw scrolling techniques and
11376         mapping/unmapping child windows as necessary.
11377
11378         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
11379         where, when invalid regions are processed, the region is stored,
11380         and if expose events come in that are detectably duplicate
11381         the processed exposes (by comparison of event serial numbers),
11382         the stored region is subtracted out of those exposes.
11383
11384         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
11385         regions newly exposed when scrolling or resizing windows.
11386         This, combined with forcing processesing of queued invalidated
11387         regions, gives nice flicker-free scrolling.
11388
11389         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
11390         invalidated regions after every scroll.
11391
11392         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
11393         emulation in GDK. Its, for all practical purposes just a
11394         GtkViewport/GtkFixed hybrid now.
11395
11396         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
11397         (16-bit) structures as necessary instead of just casting.
11398
11399         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
11400         in terms of the structures from gdkregion-generic.c, using appropriate
11401         offsets from GDK to X11 coordinates. Cache clip mask and
11402         origin and ts origin locally and only flush to the server
11403         when drawing, to avoid constantly setting and resetting these
11404         values when offsetting GC's for scrolling and backing pixmaps.
11405
11406         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
11407
11408         * gtk/gtkcontainer.c: Call process_all_updates at end
11409         of resizing to reduce flicker. (Avoids having redraw
11410         lag arbitrarily behind resize under some circumstances)
11411
11412         * gtk/gtkentry.c: Remove old backing store code, and simply take
11413         advantage of the new backing store capabilities of GDK.
11414
11415         * gtk/gtkmain.c: Simple implementation of widget backing
11416         store - simply push a paint while handling each expose.
11417         (Should really be configurable widget for widget.)
11418         
11419         * gtk/gtkwidget.c: Remove all the old complicated redraw
11420         code, and simply invalidate the GDK windows from
11421         gdk_window_queue_clear(), etc. (Sigh, so much carefully
11422         debugged complexity ... gone to the winds.)
11423
11424         Remove all the code for suppressing expose events while
11425         resizes are pending; this isn't needed since the invalid
11426         areas won't be processed until after the resizes are
11427         processed, since they are in a lower priority idle.
11428
11429 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
11430
11431         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
11432         and height of dest rectangle for non-intersecting rectangles.
11433
11434 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
11435
11436         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
11437         for GdkRectangle.
11438
11439 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
11440
11441         * gdk/gdk{events,image,private,types,window}.h
11442          gdk/x11/gdkinputprivate.h: Change all coordinates
11443          from int16 to int. Also, Change width and height from
11444          unsigned to signed to avoid all the stupid C 
11445          signedness bugs.
11446
11447 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
11448
11449         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
11450         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
11451         Add some more detailed checking.
11452
11453         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
11454         New function to retrieve the depth of a drawable.
11455
11456         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
11457         field, reorder fields to save memory. 
11458
11459 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
11460
11461         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
11462         of the background image instead of scaling the background down to
11463         a line.
11464
11465         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
11466         which temporarily set slider to wrong size.
11467
11468         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
11469         queue_clear().
11470
11471 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
11472
11473 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
11474
11475         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
11476
11477 2000-03-17  Tor Lillqvist  <tml@iki.fi>
11478
11479         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
11480         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
11481
11482         * gdk/win32/gdkfont-win32.c
11483         * gdk/win32/gdkproperty-win32.c
11484         * gdk/win32/gdkselection-win32.c
11485         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
11486         now declared such.
11487
11488 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
11489
11490         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
11491
11492 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
11493
11494         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
11495         is called without trapping X errors.
11496
11497 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
11498
11499         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
11500         way into the fontset lists.
11501
11502 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
11503
11504         * gtk/gtkthemes.h: add extern "C" scope.
11505
11506 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
11507
11508         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
11509         to make appends to the list constant. (gtk-guy-990901-0.patch)
11510
11511 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
11512
11513         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
11514         for the typename hash table.
11515
11516 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
11517
11518         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
11519         to make sure we never divide by zero. 
11520         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
11521
11522 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
11523
11524         * gtk/gtkfontsel.c: Apply patch from
11525         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
11526         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
11527
11528         Also, some cleanups in atom handling.
11529
11530 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
11531
11532         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
11533         not GtkWidget.
11534
11535 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
11536
11537         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
11538         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
11539         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
11540         more guint wrap-around bugs before going to bed.
11541
11542 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
11543
11544         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
11545         guint wrap arounds in allocation.width.
11546
11547         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
11548         process untill we fit the allocation given.
11549
11550 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
11551
11552         * gtk/gtkwidget.c:
11553         (gtk_widget_unrealize): guard widget access with ref/unref
11554         around signal emission.
11555         (gtk_widget_hide): same here, but also check its destroyed
11556         state before queueing a resize.
11557
11558 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
11559
11560         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
11561         of gtk_default_insensitive_bg as insensitive base color.
11562
11563         * gtk/gtktext.c (gtk_text_style_set): set the background color according
11564         to the widget's state.
11565         (gtk_text_realize): same here.
11566         (gtk_text_state_changed): same here.
11567         (draw_bg_rect): compare background color against base[] from
11568         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
11569
11570 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
11571
11572         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
11573         grabs are active, unless a delete event is send to the toplevel
11574         of the currently grab holding widget.
11575
11576 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
11577
11578         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
11579         debugging g_print's.
11580
11581 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
11582
11583         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
11584         ever make the scrolled-window requisition ever depend on the 
11585         visibility state of the scrollbars for the AUTOMATIC policy. 
11586         This breaks the GTK+ requisition model, and causes loops.
11587
11588 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
11589
11590         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
11591         the default font to avoid problems with XFree86-4.0 where the
11592         default charset is iso10646-1, not iso8859-1.
11593
11594 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
11595
11596         * acinclude.m4
11597         * config.guess
11598         * config.sub
11599         * ltconfig
11600         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
11601
11602         * gtk/Makefile.am: minor cosmetic consistency tweak
11603
11604 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
11605
11606         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
11607         the activate_time to 0, so that we handle a quick
11608         press/release press/release properly and don't suppress
11609         the second release. (Red Hat bug #7545)
11610
11611 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
11612
11613         * gtk/gtkctree.c (row_delete):
11614         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
11615         bugs with destruction notifier, *always* update internal
11616         structures *before* calling user code.
11617
11618 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
11619
11620         A few more fixes for bug #5487, #2051, #2677.
11621         * gtk/gtkclist.c : 
11622         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
11623         not GDK_BUTTON_PRESS.
11624         (resync_selection): resync only if selection_mode is
11625         GTK_SELECTION_EXTENDED
11626         * gtk/gtkctree.c (resync_selection): same here
11627
11628 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
11629
11630         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
11631         gdk_drag_get_selection() and gtk_menu_detach().
11632
11633         [ From Jeroen Ruigrok/Asmodai ]
11634
11635 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
11636
11637         * gtk/gtknotebook.c (gtk_notebook_size_request): 
11638         page->tab_label can be NULL.
11639
11640 2000-01-25  Havoc Pennington  <hp@pobox.com>
11641         
11642         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
11643         arg is boolean
11644
11645         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
11646
11647         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
11648
11649         * gdk/gdkproperty.c (gdk_property_get): return boolean
11650
11651         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
11652
11653         * gdk/gdkim.c (gdk_im_ready): return boolean
11654
11655         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
11656
11657         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
11658         glib clash, should fix glib)
11659
11660         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
11661         (gdk_get_show_events): return gboolean, and canonicalize 
11662         to TRUE/FALSE
11663
11664         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
11665         colormap is private
11666         (gdk_colors_alloc): gboolean whether to be contiguous
11667         (gdk_color_equal): return gboolean since we are a predicate
11668         and not a qsort() (this looks semi-wrong due to glib breakage,
11669         IMO glib should be fixed)
11670         
11671         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
11672         (gdk_get_use_xshm): return gboolean
11673         (gdk_pointer_is_grabbed): return gboolean
11674
11675         * gdk/gdk.h: Change prototypes to match all the above changes,
11676         and re-run egtk-format-protos as required.
11677
11678 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
11679
11680         * gtk/gtkctree.c (resync_selection): 
11681         * gtk/gtkclist.c (resync_selection):
11682
11683         Return immediately if clist->drag_pos < 0. This is a workaround
11684         for the corrupt state that the clist gets into when a
11685         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
11686
11687         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
11688         
11689         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
11690         variable from recent commit.
11691
11692 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
11693
11694         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
11695
11696 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
11697
11698         * gtk/Makefile.am: prefix all autogenerated source that get build in
11699         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
11700         in builddir. since we subsequently cd into srcdir for autogeneration,
11701         the paths have to be stripped from the target file names, thusly we
11702         use $(@F) as target names now.
11703         put a comment about configure.in's --disable-rebuilds option,
11704         which can be used for non-writable source directories, for development
11705         setups though, srcdir has to be *writable*.
11706
11707 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
11708
11709         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
11710           Finish the job of allowing event to be NULL.
11711           (Fixes bug #4283, reported by Chris Blizzard)
11712
11713         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
11714           things so that the cursor appears on screen, properly
11715           take into account INNER_BORDER.
11716           (Fixes bug #4754, reported by Antonio Campos)
11717
11718 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
11719
11720         * gtk/gtknotebook.c (gtk_notebook_map): Don't
11721           show the tab_label unless it itself is visible.
11722
11723           gtk/gtknotebook.c (gtk_notebook_size_request):
11724           Do a better job of making sure that the visibility
11725           of the tab label corresponds to whether it should
11726           be mapped or not.
11727
11728 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
11729
11730         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
11731           Use the requisition, not the allocation, since the
11732           allocation has not necessarily been computed yet.
11733           (Pointed out by Eugene Osintsev)
11734
11735 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
11736
11737         * gtk/gtkstyle.c (gtk_style_new): Dont' set
11738           style/base[GTK_STATE_INSENSITIVE] both to
11739           gtk_default_insensitive_bg!
11740           (Bug #2187, reported by Jonathan Blandford)
11741
11742         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
11743           Add Alt_L, Alt_R to list of invalid accelerators.
11744           (Bug #3736, reported by Vlad Harchev)
11745
11746 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
11747
11748         * gtk/gtkfilesel.c (open_ref_dir): Fix several
11749         bugs which occured after an attempt to open 
11750         invalid home directory left cmpl_state->reference_dir == NULL.
11751
11752          - completion on files in home directory didn't work
11753          - completion on an empty string caused  segfault
11754
11755          (Bug #3678, reported by Steve Ratcliffe)
11756
11757         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
11758         cut and paste error that was causing scales to
11759         be incorrectly positioned.
11760         (Bug #2956,
11761          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
11762
11763 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
11764
11765         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
11766         when checking for dcgettext, if we've found we needed
11767         it for dgettext.
11768 +
11769 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
11770
11771         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
11772         queue_clear on NO_WINDOW widgets during a reparent,
11773         since at that point the window and widget heirarchies
11774         are out of sync. This stops crashing in some cases
11775         (the scrolled window reparent test, for instance), and
11776         _probably_ won't cause drawing errors.
11777
11778         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
11779         test do what it was supposed to do and be robust against
11780         window closings, etc. (Bug #2443)
11781
11782 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
11783
11784         * gtk/gtkentry.c: Fix return values on mouse events.
11785         (Bug #2686, Sky <seb_sky@yahoo.com>)
11786
11787         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
11788         (pointed out by George Lebl)
11789
11790         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
11791         (From Ettore Perazzoli  <ettore@helixcode.com>)
11792  
11793 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
11794
11795         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
11796         clicks between rows or outside calender area correctly.
11797         (Patch from Damon Chaplin)
11798
11799         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
11800         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
11801           Call destroy function when overwriting existing data. 
11802           (Pointed out by Damon Chaplin)
11803
11804 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
11805
11806         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
11807           which was causing problems on various systems with Xmu.
11808           This hasn't been needed for a very long time.
11809           (Fixes #1185 3167)
11810
11811 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
11812
11813         * gdk/gdki18n.h: Include <ctype.h> when defining
11814           gdk_isw* in terms of is* as a fallback.
11815           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
11816
11817 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
11818
11819         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
11820           realize the widget when it is size allocated!
11821           (old, old bug)
11822
11823         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
11824           Removed unused call to gdk_window_get_size() that
11825           showed up when the above was fixed.
11826
11827 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
11828
11829         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
11830           fix up widget->window when the widget is a
11831           NO_WINDOW container widget.
11832
11833 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
11834
11835         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
11836           to account for the fact that feof() does _not_ 
11837           return TRUE on errors, and thus avoid infinite loops
11838           when trying to use gdk_pixmap_create_from_xpm()
11839           on unreadable values.
11840
11841 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
11842
11843         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
11844
11845 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
11846
11847         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
11848           gdk_gc_set_dashes to take gint8 instead of gchar to
11849           make it clearer that it is _not_ a NULL terminated string.
11850
11851         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
11852           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
11853           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
11854           arguments.
11855
11856 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
11857
11858         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
11859         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
11860         background size relative to our allocation, guard against small
11861         allocations, we may have not yet been size allocated.
11862
11863 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
11864
11865         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
11866         not just version == 3. We implement all 3 + most of 4 - 
11867         (we don't support matching text/plain;charset=iso-8859-1
11868         to a dest that expects text/plain). We'll still advertise
11869         3 to be safe, but any client implementing version >= 3
11870         must interoperate with 3.
11871         
11872 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
11873
11874         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
11875         background and gc members, add a warning in gtk_tooltips_set_color()
11876         indicating that this function is deprecated.
11877
11878 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
11879
11880         * docs/gtkfaq.sgml: FAQ Update:
11881           - Minor cleanups (Emmanuel, me)
11882           - New questions:
11883                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
11884                 How can I retrieve the text from a GtkMenuItem? (timj)
11885                 How do I validate/limit/filter the input to a GtkEntry? (me)
11886                 Memory does not seem to be released when I free the list
11887                         nodes I've allocated (timj)
11888
11889 2000-03-07  Tor Lillqvist  <tml@iki.fi>
11890
11891         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
11892         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
11893         for which it is no use to call GetLastError onWin9x.
11894         (gdk_other_api_failed) New function, for general error
11895         reporting without calling GetLastError.
11896         (gdk_win32_api_failed) OTOH, this function always calls
11897         GetLastError. (gdk_win32_last_error_string) Remove this function,
11898         GLib has the equivalent now.
11899
11900         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
11901         call them with function name, file name and line number in the
11902         arguments.
11903
11904         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
11905         functions.
11906         
11907         * gtk/gtk.def: Add some missing entry points.
11908
11909         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
11910         gtk_paned_set_gutter_size, which don't exist any longer, as void.
11911         
11912         Fixes by Hans Breuer:
11913
11914         * gdk/makefile.msc: Update for debugging.
11915
11916         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
11917         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
11918         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
11919         in the dash_list.
11920
11921         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
11922         the x11 backend.
11923
11924         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
11925
11926         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
11927
11928 2000-03-04  Tor Lillqvist  <tml@iki.fi>
11929
11930         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
11931         just pixel value of background colour.
11932
11933         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
11934         containing code snippet previously duplicated in a couple of
11935         places.
11936         
11937         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
11938         gdk_colormap_color.
11939
11940         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
11941         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
11942         events for autorepeated Shift, Control and Alt keys. Use
11943         gdk_colormap_color.
11944
11945         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
11946         pointer is inside the window the cursor of which we are setting,
11947         call SetCursor immediately.
11948
11949         * gdk/win32/makefile.cygwin
11950         * gtk/makefile.cygwin: If we don't have the build number stamp
11951         file, use zero.
11952
11953         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
11954         gtk_paned_set_gutter_size as empty.
11955
11956         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
11957         
11958 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
11959
11960         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
11961           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
11962           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
11963           docs/gtk_tut.sgml docs/gtk.texi TODO:
11964
11965           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
11966
11967 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
11968
11969         * gtk/gtkcalendar.c: Implement num_marked_dates,
11970           and don't emit mutiple day_selected signals on
11971           month_prev.
11972
11973 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
11974
11975         * docs/make-todo (lineno): let title and logo be configurable so
11976         that GNOME can use this script too.
11977
11978         * TODO.xml: added logourl and a title
11979
11980 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
11981
11982         * TODO.xml: Added some UI items, and an explanatory
11983         comment at the top of the file.
11984
11985 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
11986
11987         * TODO.xml: some updates, added abunch of new entries.
11988         a note for those fiddeling with this file, when done
11989         with it, invoke:
11990         $ ./docs/make-todo TODO.xml >/dev/null
11991         and correct output errors before comitting changes.
11992
11993 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
11994
11995         * TODO.xml: Added XML-structured TODO file.
11996         * docs/make-todo: python script to turn TODO.xml into
11997           pretty XML output. 
11998
11999 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
12000
12001         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
12002         the function to let it draw the seven dots, instead of the old,
12003         much maligned, method.
12004         (draw_dot): New function to draw a dot.
12005
12006         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
12007         to draw the handle inside the border width as opposed to outside.
12008         Use paint function instead of gdk_draw_point.
12009
12010         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
12011         to draw the handle inside the border width as opposed to outside.
12012         Use paint function instead of gdk_draw_point.
12013
12014         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
12015         Change indenting to be more GTK like.
12016
12017 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
12018
12019         * docs/gtk_tut.sgml: New section on GtkCalendar
12020         * examples/calendar: Update example code
12021
12022 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
12023
12024         * docs/gtkfaq.sgml: FAQ Update
12025
12026 2000-02-19  Anders Carlsson  <andersca@gnu.org>
12027
12028         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
12029         to prevent the scroll event to be propagated upwards.
12030
12031 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
12032
12033         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
12034         OwnerGrabButtonMask from button entries for
12035         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
12036
12037         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
12038         to the event mask (which will result in button/press release
12039         being added to the event mask on Unix) so scrolling works
12040         for layouts in scroll windows.
12041
12042         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
12043
12044         Patch from Anders Carlsson  <andersca@gnu.org> to add
12045         a scroll event.
12046
12047         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
12048         scrolling to the "Test Scrolling" part of testgtk.
12049  
12050         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
12051  
12052         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
12053         it against GDK_SCROLL.
12054  
12055         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
12056         way of mouse wheel scrolling.
12057  
12058         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
12059  
12060         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
12061  
12062         * gtk/gtkmain.c: Removed previous mouse wheel hack.
12063  
12064         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
12065         gdk_event_mask_table.
12066  
12067         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
12068         GdkEventScroll handler.
12069  
12070         * gdk/gdkevents.h: Added GdkEventScroll structure.
12071  
12072 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
12073
12074         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
12075         and Anders Carlsson to change the Paned widgets so that they
12076         can be dragged from anywhere along the length. Also change
12077         the way that this is drawn to make this apparent.
12078
12079         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
12080         from George Lebl to check that option_menu->menu is present
12081         before getting history.
12082
12083 2000-02-14  Tor Lillqvist  <tml@iki.fi>
12084
12085         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
12086         before the assertion for non-NULL segment list.
12087
12088         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
12089         Seems that pattern brushes *must* be 8x8 pixels! At least on my
12090         machine, but it might be display driver dependent. Sigh, so make
12091         sure the stipple is that size. Does Windows suck or what?
12092
12093         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
12094         places.
12095
12096 2000-02-13  Havoc Pennington  <hp@pobox.com>
12097
12098         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
12099         refcount to 1
12100         (gdk_cursor_new): init refcount to 1
12101
12102         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
12103
12104 2000-02-13  Tor Lillqvist  <tml@iki.fi>
12105
12106         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
12107         so that we don't have to do unnecessary settings to the HDC.
12108
12109         * gdk/win32/gdkdrawable-win32.c
12110         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
12111         gdk_gc_predraw.
12112
12113         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
12114         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
12115         GDI paths, call WidenPath to get the outline of the stroken path,
12116         and then fill the outline (with the brush that was built from the
12117         stipple).
12118
12119         * gdk/win32/gdkgc-win32.c: Factor out common code from
12120         _gdk_win32_gc_new and gdk_win32_gc_set_values into
12121         gdk_win32_gc_values_to_win32values. Use correct colour for
12122         SetBkColor() (Until now the code actually used a random colour in
12123         the call to SetBkColor()... but that didn't show up as not many
12124         GDI APIs use the background colour. Pattern (opaque stippled)
12125         brushes do.)
12126
12127         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
12128         gdk_win32_api_failed): New functions for error logging.
12129
12130         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
12131         WIN32_API_FAILED to call them, passing function or file name and
12132         line number.
12133
12134         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
12135
12136         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
12137         GdkColor for foreground and background in GdkGCWin32Data.
12138
12139         * gdk/makefile.cygwin: Link in the resource object separately.
12140
12141         * gdk/win32/rc/gdk.rc
12142         * gtk/gtk.rc (New file)
12143         * gdk/win32/makefile.cygwin
12144         * gtk/makefile.cygwin: Update build number in DLLs automatically,
12145         as in GLib.
12146
12147 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
12148
12149         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
12150         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
12151         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
12152         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
12153         parameters given and cursor->ref_count. coding style fixups.
12154
12155         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
12156         not GtkWidget.
12157         
12158         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
12159         fix up widget macros and add _GET_CLASS() variant.
12160         
12161         * gtk/*.c: some GtkType fixups.
12162
12163 2000-02-09  Tor Lillqvist  <tml@iki.fi>
12164
12165         * gdk/win32/gdkproperty-win32.c
12166         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
12167         were reversed.
12168
12169 2000-02-04  Tor Lillqvist  <tml@iki.fi>
12170
12171         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
12172         g_filename_to_utf8 to convert the font names Windows gives us from
12173         whatever is the default codepage to UTF-8.
12174         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
12175         in the other direction.
12176
12177         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
12178         error in debugging output.
12179
12180 2000-02-02  Tor Lillqvist  <tml@iki.fi>
12181
12182         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
12183         and height parameters to gdk_window_clear_area(). Not minus one.
12184
12185 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
12186
12187         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
12188         checks if the widget passed to gtk_drag_get_data() was not the
12189         dest widget.
12190
12191 2000-02-01  Tor Lillqvist  <tml@iki.fi>
12192
12193         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
12194         g_filename_from_utf8 functions (which were added a moment ago to
12195         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
12196         size buffers.
12197
12198         gtk_file_selection_get_filename returns the filename in the C
12199         runtime encoding. It calls g_filename_from_utf8, but copies the
12200         returned string to a static buffer, which is returned. I think
12201         this is better than returning the result from g_filename_from_utf8
12202         directly, which would mean all apps that use it would have to free
12203         the return value. Or should this function care about this issue at
12204         all? Maybe a new function with clearly defined semantics.
12205
12206         * gtk/gtkfilesel.h: Add comment about
12207         gtk_file_selection_get_filename returning the filename in the C
12208         runtime's encoding.
12209
12210         * README.win32
12211         * gdk/gdk.def
12212         * gdk/makefile.{cygwin,msc}
12213         * gtk/gtk.def: Updates.
12214
12215         * gdk/gdkcursor-win32.c: Initialise refcount.
12216
12217 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
12218
12219         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
12220
12221 2000-01-30  Havoc Pennington  <hp@pobox.com>
12222
12223         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
12224         destroy
12225
12226         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
12227
12228         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
12229         implemented in platform-specific code
12230
12231         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
12232
12233         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
12234         underscore in front
12235
12236         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
12237         put an underscore in front
12238
12239         * gdk/gdkcursor.c: new file, implements
12240         gdk_cursor_ref/gdk_cursor_unref
12241
12242         * gdk/gdkcursor.h: Refcount GdkCursor
12243
12244         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
12245
12246 2000-01-29  Tor Lillqvist  <tml@iki.fi>
12247
12248         * gdk/gdkwindow.h
12249         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
12250
12251 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
12252
12253         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
12254         structures to properly inherit from GtkWidget not GtkBin.
12255
12256 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
12257
12258         * gtk+.spec.in: Added lib/gtk+/include/* to %files
12259         (bug #5178 - Peter Wainright)
12260         
12261         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
12262         so that it will be installed.
12263         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
12264
12265 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
12266
12267         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
12268         for the GtkStyleClass vtable const.
12269
12270         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
12271         take a const string argument like GtkTranslateFunc. This will
12272         require changes in use code.
12273
12274 2000-01-19  Tor Lillqvist  <tml@iki.fi>
12275
12276         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
12277         semantics (to mimic the X11 backend, which just calls XClearArea)
12278         is to check for zero width (and height), and in that case use the
12279         window's width minus x (height minus y). This fixes for instance
12280         some redraw problems with gtkclist, which were easily noticeable
12281         in the gtk file selection widget.
12282
12283         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
12284         windows.
12285
12286 2000-01-13  Tor Lillqvist  <tml@iki.fi>
12287
12288         * configure.in
12289         * gdk/Makefile.am
12290         * gdk/x11/Makefile.am
12291         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
12292         (bug #5177).
12293         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
12294         out later.
12295
12296 2000-01-09  Tor Lillqvist  <tml@iki.fi>
12297
12298         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
12299         WM_MOVE for iconified or invisible windows. This fixes various
12300         problems when minimising windows. Thanks to Bernd Herd.
12301
12302 2000-01-05  Tor Lillqvist  <tml@iki.fi>
12303
12304         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
12305         backend's draw_lines method, not draw_points.
12306
12307 2000-01-02  Tor Lillqvist  <tml@iki.fi>
12308
12309         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
12310         before Owen's reorganisation: Don't have queued_events and
12311         queued_tail statics in this file, but use gdk_queued_events and
12312         gdk_queued_tail. This makes exposure event compression work again.
12313
12314         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
12315         seem to be needed?
12316
12317 1999-12-30  Tor Lillqvist  <tml@iki.fi>
12318
12319         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
12320         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
12321         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
12322         doesn't do anything.
12323
12324         * gdk/gdk.def: Add gdk_xid_table_insert.
12325
12326         * gdk/win32/gdkprivate-win32.h
12327         * gdk/win32/gdkevents-win32.c
12328         * gdk/win32/gdkinput-win32.c
12329         
12330         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
12331         extension_events field in the GdkWindowWin32Data struct. Use only
12332         the extension_events field in GdkWindowPrivate. Previously one was
12333         set, and the other one tested, which broke tablet
12334         functionality. Thanks to Keishi Suenaga for pointing this out.
12335
12336 1999-12-18  Tor Lillqvist  <tml@iki.fi>
12337
12338         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
12339         When handling a single character (text length == 1), don't handle
12340         it as if it was UTF-8.
12341
12342 1999-12-11  Tor Lillqvist  <tml@iki.fi>
12343
12344         * Makefile.am: Distribute README.win32.
12345         
12346         * gdk/Makefile.am
12347         * gdk/win32/Makefile.am: Distribute Win32 files.
12348
12349         * gdk/makefile.msc: New file.
12350
12351         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
12352         after label).
12353
12354         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
12355         gdk_error_code as GDKVAR, as they are referred outside GDK.
12356
12357         * gdk/win32/makefile.msc: Update.
12358
12359         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
12360         tweaks. Check only if at least one of those Unicode subrange bits
12361         we care for is set. If no code page bits are set, guess (wildly)
12362         based on the charset.
12363
12364         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
12365
12366         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
12367         non-NULL.
12368
12369         * gtk/gtkdnd.c
12370         * gtk/gtklayout.c
12371         * gtk/gtkplug.c
12372         * gtk/gtkselection.c
12373         * gtk/gtksocket.c
12374         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
12375         appropriate. There must be a cleaner way to handle this?
12376
12377         * gtk/gtkrc.c: Must include windows.h on Win32.
12378
12379         * gtk/testgtk.c: No need to include gdkx.h.
12380
12381         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
12382
12383 1999-12-07  Tor Lillqvist  <tml@iki.fi>
12384
12385         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
12386         the rbearing is set to the same as the width, but this should be
12387         fixed.
12388
12389 1999-12-06  Tor Lillqvist  <tml@iki.fi>
12390
12391         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
12392         function. If Windows doesn't tell us what Unicode subranges a font
12393         covers, guesstimate based on the codepages it covers. This will
12394         hopefully help those Windows versions or fonts that don't give us
12395         any useful Unicode subrange information with GetTextCharsetInfo.
12396         Call this function in gdk_font_load_internal.
12397
12398         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
12399         minor changes.
12400
12401 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
12402
12403         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
12404         New function, long needed.
12405
12406 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
12407
12408         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
12409         only_if_exists argument of gdk_atom_intern to
12410         bool.
12411
12412 1999-11-25  Tor Lillqvist  <tml@iki.fi>
12413
12414         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
12415         Fix two copy&paste errors.
12416
12417         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
12418         win32 has changed.
12419
12420         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
12421         GdkWin32SingleFont struct.
12422
12423         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
12424         subranges of loaded fonts. Clear font signature first, in case
12425         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
12426         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
12427
12428         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
12429         Unoffset clip region.
12430
12431 1999-11-23  Tor Lillqvist  <tml@iki.fi>
12432
12433         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
12434         event->any.window before calling filter functions.
12435
12436 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
12437
12438         * gtk/gtkgamma.h: Adapt cast macros to standard.
12439
12440 [ Merges from 1.2 ]
12441
12442 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
12443
12444         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
12445         If translation does not include a '/', use entire
12446         translation instead of crashing.
12447
12448 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
12449
12450         * docs/gtk_tut.sgml:
12451         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
12452
12453 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
12454
12455         * gtk/gtkselection.c (gtk_target_list_remove): Use
12456         g_list_remove_link, not g_list_remove.
12457
12458         [ From Geert Bevin <gbevin@thunderstorms.org> ]
12459         
12460 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
12461
12462         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
12463         statement upon unselection (how the heck did that slip in?).
12464
12465 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
12466
12467         * gtk/gtktext.c (gtk_text_freeze): 
12468         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
12469         in frozen state (and aparently crashes). patch provided by Anders
12470         Melchiorsen <and@kampsax.dtu.dk>.
12471
12472 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
12473
12474         * fix insensitive default/focus widget activation,
12475         reported by Matt Goodall <mgg@isotek.co.uk>.
12476
12477         * gtk/gtkwindow.c (gtk_window_key_press_event): 
12478         (gtk_window_activate_default):
12479         (gtk_window_activate_focus):
12480         return handled=FALSE for actiavtion of insensitive default
12481         widgets. return handled=TRUE for activation of insensitive
12482         focus widgets. don't activate in either case.
12483
12484 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
12485
12486         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
12487         and $glib_cflags to match library order and in the
12488         theory that an old version of GLib is more likely to
12489         be in the include directory for X then vice-versa.
12490         (Bug #2776)
12491
12492 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
12493
12494         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
12495         to determine the locale for fontsets, not LC_MESSAGES;
12496         the user may want English messages with a handling
12497         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
12498         will still be broken) (Bug #2891)
12499
12500 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
12501
12502         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
12503
12504 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
12505
12506         * gtk/gtkrc.ko: Changed the Korean default fontset.
12507
12508 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
12509
12510         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
12511         where when scrolling to the left or top double exposes
12512         were done, causing major slowdowns.
12513
12514 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
12515
12516         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
12517         names to lowercase and alphanumeric, before looking
12518         them up.
12519
12520         * gtk/Makefile.am: Install codeset variant gtkrc files
12521         with normalized names.
12522
12523 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
12524
12525         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
12526         popup menus when the menu is already visible, but its parent
12527         is still hidden, (happens after tornoff window got hidden).
12528
12529 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
12530
12531         * gtk/Makefile.am (install-data-local): Fix
12532         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
12533         deleted, causing error messages on install.
12534
12535 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
12536
12537         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
12538         the handle as well, since we now sometimes ignore
12539         exposes on the handle while resizing.
12540
12541 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
12542
12543         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
12544         extra g_free introduced in one of the last one or two 
12545         commits.
12546
12547 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
12548
12549         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
12550         consistent, put each style that a gtkrc.* file creates
12551         in a unique namespace, remove old files before installing.
12552
12553 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
12554
12555         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
12556         gtk_rc_init is called multiple times. (Yes, people who
12557         do that have bugs in their code.)
12558
12559 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
12560
12561         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
12562         Remove it since it's generated by the Makefile anyway
12563
12564 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
12565
12566         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
12567         device->info.axes for core pointer.
12568
12569 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
12570
12571         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
12572         idle_id, to deal with obsolete, broken C libraries.
12573
12574 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
12575
12576         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
12577         allocation->x/y twice!
12578
12579         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
12580         consistent with gtk_vscale_pos_trough().
12581
12582 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
12583
12584         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
12585         be queueing a resize on a toplevel container between
12586         the time we show it and when we map it. So, we need
12587         to test GTK_WIDGET_VISIBLE() for toplevels, and only
12588         use GTK_WIDGET_DRAWABLE() for child windows.
12589
12590 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
12591
12592         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
12593         (fixes bug #2144)
12594
12595 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
12596
12597         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
12598         container DRAWABLE (instead of VISIBLE), so we don't queue
12599         resizes on non-toplevel containers.
12600
12601 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
12602
12603         * gtk/gtkselection.[ch]: Make the data argument
12604         const guchar *.
12605
12606 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
12607
12608         * gtk/gtkwindow.c: Try to behave sensibly if 
12609         the focus widget is the window itself. (Should
12610         we allow this at all?)
12611
12612 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
12613
12614         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
12615         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
12616         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
12617         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
12618         in prototypes and implementations consistent (Tomas Ogren).
12619
12620         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
12621         before the widget is unparented (reported by damon).
12622
12623         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
12624         since we provide unsigned data anyways.
12625
12626 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
12627
12628         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
12629         the call to gtk_tooltips_layout_text() until later.
12630
12631         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
12632         Call gtk_widget_ensure_style() before using the style.
12633
12634 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
12635
12636         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
12637         for old widgets that don't propagate draws to all
12638         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
12639
12640 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
12641
12642         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
12643         for a redraw but just the widget that requested the resize.
12644
12645 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
12646
12647         * gtk/gtkcontainer.c: added new widget level method
12648         gtk_container_set_reallocate_redraws() and a GtkContainer flag
12649         reallocate_redraws : 1 to reflect the setting, exported this through
12650         the argument system as a boolean ::reallocate_redraws.
12651
12652         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
12653         on the widget because the allocation changes, do so as well for
12654         widget->parent if the parent has reallocate_redraws set to TRUE.
12655         with that containers requesting reallocation redraws get automatically
12656         redrawn if their children changed allocation (this unfortunately
12657         affects also other children that didn't change allocation, but we
12658         cannot work around that before 1.3).
12659
12660 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
12661
12662         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
12663         _and_ height are >0 (not _or_).
12664
12665         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
12666         instead of gtk_container_queue_resize(), which is a core gtk internal
12667         function (must have been on crack when i queued that).
12668
12669         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
12670         we can check more reliably if we want to discard expose events.
12671         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
12672         flag.
12673         
12674         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
12675         we simply trust these events. for deciding whether to discard exposes,
12676         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
12677         
12678 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
12679
12680         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
12681         queues of areas that are completely off screen.
12682
12683         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
12684         logic for handleboxes.
12685
12686         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
12687         check on width/height.
12688
12689 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
12690
12691         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
12692         we are fine with using $@ the way we do (if we actually encounter
12693         brokeness with $@ in VPATH builds because of additional path prefixes,
12694         we need to use $(@F) actually).
12695
12696 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
12697
12698         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
12699         short lived bugs, that would allow language bindings to do surgeries
12700         to our guts.
12701
12702 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
12703
12704         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
12705         where comparison was being done against an uninitialized
12706         value causing intermittant results depending on
12707         compiler flags. Also make it clearer that we aren't
12708         ever initializing the child as 0x0 (though this will
12709         be caught in gtk_widget_size_allocate())
12710
12711 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
12712
12713         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
12714         gtk_window_unset_transient_for() call after we do checks
12715         involving the old transient parent.
12716         [ From Lance Capser <lmc@cyberhighway.net> ]
12717
12718 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
12719
12720         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
12721         an empty file.
12722
12723 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
12724
12725         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
12726         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
12727
12728 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
12729
12730         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
12731         `$@' is valid only in the build dir, not after we've done 
12732         `cd $srcdir'.  Also use `test -f' instead of less portable
12733         `test -e'.
12734
12735 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
12736
12737         * gtk/gtktext.c (correct_cache_insert): Rewrite
12738          for simplicity, and hopefully correctness.
12739          (Fixes bug #1322, which was a segfault when
12740           on some insertions with the properties around
12741           the insertion set up just wrong.)
12742
12743         * gtk/gtktext.c (gtk_text_adjustment): When we receive
12744          a "changed" signal, clamp the new value to the adjustment
12745          bounds to avoid segfaulting if someone tries to change
12746          the adjustment to a bogus value. (Bug #1795)
12747
12748 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
12749
12750         * gtk/gtkmain.c: Ignore unexpected destroy notifies
12751         for children, for toplevel windows handle them
12752         like delete_event.
12753
12754         * gtk/gtkplug.c: Add an unrealize handler so that
12755         we unref plug->socket_window when we are done
12756         with it.
12757
12758 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
12759
12760         * gtk/gtktext.c (clear_area): Fix stupid signedness
12761          problem that was causing background to sometimes
12762          be misaligned.
12763
12764 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
12765
12766         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
12767         
12768         * gtk/gtkmenu.c (gtk_menu_position): Make
12769          sure we never position menus with negative x, y,
12770          since gtk_widget_set_uposition() can't handle that.
12771
12772         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
12773          Modify the positioning code a bit so that we always
12774          put the top-left corner onscreen. (This is for
12775          UI reasons, gtk_menu_position() now takes care of
12776          gtk_widet_set_uposition() brokeness.)
12777
12778 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
12779
12780         * gtk/Makefile.am: fixed up things for -jx, x > 1.
12781
12782 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
12783
12784         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
12785           RC style that is passed in. The lack of the ref
12786           before was a bug. If people worked around this
12787           bug, this will introduce a slight memory leak
12788           in their code. The code should typically look like:
12789
12790             rc_style = gtk_rc_style_new ();
12791             [...]
12792             gtk_widget_modify_style (widget, rc_style);
12793             gtk_rc_style_unref (rc_style);
12794
12795         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
12796           the style if it was already set.
12797
12798         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
12799           style if it was set before.
12800
12801 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12802
12803         * gtk/testgtk.c (main): Add a check to see if we
12804           are being run from the correct directory and
12805           to quit nicely if we are not.
12806
12807         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
12808           static.
12809
12810 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
12811
12812         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
12813
12814         * gtk/gtkwindow.c:
12815         queue resizes unconditionally (gtk_widget_queue_resize will figure
12816         what to do if the window is not realized).
12817         (gtk_window_move_resize): only recenter the window
12818         for GTK_WIN_POS_CENTER_ALWAYS.
12819         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
12820         the same way as GTK_WIN_POS_CENTER.
12821
12822 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
12823
12824         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
12825         with (!(info->last_flags & GDK_HINT_POS)) instead of
12826         (!info->last_flags & GDK_HINT_POS).
12827
12828         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
12829         new_height unconditionally, because we use these values even if
12830         !default_size_changed && !hints_changed.
12831         comented the (default_size_changed || hints_changed) case with
12832         respect to resize rejects from the window manager.
12833
12834         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
12835         in the zvt condition hack, since this includes the window hints, set
12836         the hints after the handling_resize case.
12837
12838         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
12839         window is initially shown with to the geometry.
12840
12841 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
12842
12843         * gtk/gtkwindow.c (gtk_window_move_resize):
12844         s/size_changed/default_size_changed/g so i know what's
12845         really going on (frying brain on smaller flame now).
12846
12847 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
12848
12849         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
12850         we have size_changed upon handling_resize. this is a gross
12851         workaround for the broken zvt widget and should be removed in
12852         1.3 again (search for FIXME).
12853         Owen provided an accurate comment for this:
12854
12855         /* We could be here for two reasons
12856          *  1) We coincidentally got a resize while handling
12857          *     another resize.
12858          *  2) Our computation of size_changed was completely
12859          *     screwed up, probably because one of our children
12860          *     is broken. It's probably a zvt widget.
12861          *
12862          * For 1), we could just go ahead and ask for the
12863          * new size right now, but doing that for 2)
12864          * might well be fighting the user (and can even
12865          * trigger a loop). Since we really don't want to
12866          * do that, we requeue a resize in hopes that
12867          * by the time it gets handled, the child has seen
12868          * the light and is willing to go along with the
12869          * new size. (this happens for the zvt widget, since
12870          * the size_allocate() above will have stored the
12871          * requisition corresponding to the new size in the
12872          * zvt widget)
12873          *
12874          * This doesn't buy us anything for 1), but it shouldn't
12875          * hurt us too badly, since it is what would have
12876          * happened if we had gotten the configure event before
12877          * the new size had been set.
12878          */
12879
12880 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
12881
12882         * gtk/gtkrc.c: deal properly with the fact that RC
12883           style lists may include rc styles more than once.
12884
12885         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
12886           unused static function.
12887
12888         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
12889           stack of directories of RC files currently being
12890           parsed and implicitely add them to pixmap path.
12891           
12892           This fixes a bug where the directory would get
12893           appended then overwritten by pixmap_path declarations.
12894
12895           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
12896
12897         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
12898           theme's exit function. (Patch from Peter Wainwright,
12899           bug #1454)
12900
12901         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
12902           Add a destroy() handler to take care of removing
12903           group for menu item. (Fixes bug #1197)
12904
12905         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
12906           in warning message.
12907
12908 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
12909
12910         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
12911         roundtrip to figure window's width and height, since we know that
12912         anyways from widget->allocation.
12913
12914 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
12915
12916         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
12917           the hints after we request the new size.
12918
12919 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
12920
12921         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
12922           GTK_WIDGET_REALIZED() assertion - we can compute the
12923           hints before we are realized.
12924
12925         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
12926           hint changing so that we have a value of hints_changed
12927           when we decide whether to constrain the window size.
12928
12929         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
12930
12931         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
12932         change back to G_MAXINT.
12933
12934 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
12935
12936         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
12937         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
12938         contain uncluttered values.
12939         (gtk_window_compute_hints): simply assert that window is realized
12940         and that geometry_info is valid, since we rely on this anyways.
12941         (gtk_window_constrain_size): major cleanups to the code.
12942         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
12943         for the base size, instead of the minimums. use 32767 as max width
12944         and height (like in gtkwindow.c) instead of G_MAXINT.
12945
12946 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
12947
12948         * cleaned up the GtkContainer.need_resize flag handling mess, we
12949         only need to force resize requests when we were prematurely
12950         realized, or our widget tree was modified when we were temporarily
12951         hidden. handling these cases directly upon showing the window (i.e.
12952         while the GdkWindow is still unmapped) avoids the need to wait for
12953         a configure event response and therefore makes the GUI more snappier
12954         and avoids blank windows during the roundtrip.
12955
12956         * gtk/gtkwidget.c:
12957         (gtk_widget_hide): 
12958         (gtk_widget_show): don't queue resizes on toplevels, they know how
12959         to deal with matters.
12960
12961         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
12962         flag directly for not visible resize containers and spare us unecessary
12963         signal emissions.
12964
12965         * gtk/gtkwindow.c:
12966         (gtk_window_realize): if we need to enforce premature size allocation,
12967         queue a container resize so we are correctly resized later on.
12968         (gtk_window_init):
12969         (gtk_window_size_request):
12970         don't freak around with the ->need_resize flag,
12971         gtk_container_queue_resize() will care about that.
12972         (gtk_window_show):
12973         handle initial resizing issues here, we can handle matters better in
12974         this place, especially since we know that our GdkWindow is still
12975         unmapped.
12976         (gtk_window_move_resize):
12977         don't care about ->need_resize at all.
12978         handle size changes properly that occoured while we waited for a
12979         configure event.
12980
12981 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
12982
12983         * gtk/gtkwidget.c (gtk_widget_set_uposition):
12984         * gtk/gtkwindow.[hc] (gtk_window_reposition):
12985         Move the hint setting code from gtk_widget_set_uposition
12986         to here; set the hints so that we respect any previously
12987         set geometry hints.
12988
12989         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
12990         change the window hints here or move the window here,
12991         let that happen in gtk_window_move_resize().
12992
12993 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
12994
12995         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
12996         to already queued resizes (and therefore redraws) on a widget, check
12997         its anchestry as well.
12998
12999         * gtk/gtkcontainer.c:
13000         (gtk_container_queue_resize): clear resize widgets for resize
13001         containers before aborting prematurely. this is especially important
13002         for toplevels which may need imemdiate processing or their resize
13003         handler to be queued.
13004         (gtk_container_dequeue_resize_handler): added new internal function for
13005         gtkwindow.c.
13006
13007         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
13008         configure event, take possible changes in window position into account
13009         as well.
13010         if we request a new window size, queue up a resize handler that will
13011         last until the configure event response arrives.
13012         combined the ->need_resize case (initial show) with the general size
13013         (hints) changed case and added even more comments.
13014         if !auto_shrink, only revert to the old allocation if the new size
13015         is smaller than the current allocation.
13016
13017 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
13018
13019         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
13020                            gtk_window_set_geometry_hints
13021                            gtk_window_set_default_size):
13022         When hints are set, queue a resize so that the hints will
13023         be eventually reset on the toplevel.
13024
13025         * gtk/gtkwindow.c (gtk_window_show): Use
13026         gtk_window_compute_default_size(). Clear the need_resize flag
13027         on the initail map so that we don't unnecessarily trigger the
13028         resize code.
13029
13030         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
13031         into separate functions. Compare the hints we are setting
13032         with what we set last time so that we can accurately
13033         tell when we need to reset the hints.
13034
13035         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
13036         function to figure out the size from requisition
13037         and default_size.
13038
13039         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
13040         from fvwm to constrain a size to the geometry hints.
13041
13042         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
13043         to compare two sets of geometry hints.
13044
13045         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
13046         from gtk_window_set_hints(), just compute the hints,
13047         don't set them.
13048
13049         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
13050         code from gtk_window_move_resize() to separate function,
13051         rationalize a bit.
13052
13053 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
13054
13055         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
13056         structure into a new private structure.
13057
13058         * gtkrc.c: Split GtkRcStyle into public/private.
13059         In the private part, add a list of pointers to the
13060         RcStyle lists this RcStyle participates in.
13061
13062         * gtkrc.c: When a RcStyle is free, remove all
13063         lists referencing it from the 
13064         realized_style_ht hash, and free those lists.
13065         
13066         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
13067         gtk_rc_init(), since that adds the default styles
13068         to the list of parsed RC files again.
13069
13070         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
13071         
13072 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
13073
13074         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
13075         checks that ensure that a widget's allocation is at least 1 in width
13076         and height. (GNOME note: this doesn't affect old panel code anymore,
13077         because GtkSocket will request width and height of at least 1 since
13078         Fri Jul 23).
13079
13080         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
13081         allocated yet (happens if the user realizes the window prematurely),
13082         size request and allocate it.
13083         (gtk_window_size_allocate): guard against guint underflows.
13084
13085 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
13086
13087         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
13088         in gtk_built_sources, so gtk.defs gets built prior to all other
13089         sources.
13090
13091 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
13092
13093         * gtk/Makefile.am:
13094         invoke indent on gtkmarshal.*. 
13095         rewrote source generation rules, use COPYING as oldest source tag for
13096         a piggyback rule to generate all sources from (don't touch it ;).
13097         major cleanups, strip spaces on build rules for GNU Make.
13098
13099         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
13100         source and target files from commandline arguments. don't invoke indent.
13101
13102 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
13103
13104         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
13105         notebook after switch to avoid drawing problems.
13106         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
13107         
13108         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
13109         show them instead. 
13110         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
13111
13112 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
13113
13114         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
13115         notebook after switch to avoid drawing problems.
13116         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
13117         
13118         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
13119         show them instead. 
13120         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
13121
13122 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
13123
13124         * gtk/gtkwindow.c:
13125         we use window->need_resize from configure_event now, to indicate that
13126         the gtkwindow should keep its allocation (e.g. because the user resized
13127         the window through window manager handles). resize_count is now reliably
13128         used to figure whether we got the allocation we requested from the
13129         window manager.
13130         configure events get queued as resizes now, the real stuff (size
13131         computation and allocation) now only goes on in gtk_window_move_resize().
13132         GtkWindow's requisition now contains its *real* requisition (like all
13133         other widgets), *not* taking usize into account.
13134         geometry_info->last_{width|height} is now updated from set_hints() only
13135         so it always contains the last hints we set for the window manager.
13136         made some event handlers return TRUE instead of FALSE.
13137         the overall code should be much more straight forward now, and the
13138         significant code portions are accompanied by comments now.
13139         (gtk_window_set_hints):
13140         removed requisition argument and made it
13141         fetch the requisition through gtk_widget_get_child_requisition.
13142         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
13143         does that now.
13144         (gtk_window_show):
13145         ensure that the widget is realized before calling 
13146         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
13147         ensure that we got properly size requested and allocated before
13148         realization.
13149         (gtk_window_configure_event):
13150         ignore plain window moves, or reallocate the widget tree through the
13151         resize queue otherwise.
13152         (gtk_window_move_resize):
13153         mostly rewrote this function to figure window manager hints more
13154         reliably, coalesce window moves and resizes to reduce configure events
13155         and do actuall size allocations.
13156
13157 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
13158
13159         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
13160         that have a resize pending, because a redraw is already queued for them.
13161
13162         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
13163         hack to clear resize_widgets.
13164
13165         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
13166         for resize containers prior to size allocation. (this is also a bit
13167         ugly, but avoids side effects for stopped emissions and is thus more
13168         reliable).
13169         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
13170
13171         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
13172         function from gtk_tooltips_expose, as we connect to ::expose_event
13173         *and* ::draw now.
13174
13175 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
13176
13177         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
13178         checks.
13179         (gtk_target_list_unref): Likewise.
13180
13181         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
13182
13183 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
13184
13185         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
13186         guard against division by zero. (Fixes bug #1339)
13187
13188 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
13189
13190         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
13191         Prevent the trivial leak of information of allowing
13192         word motion when the entry is not visible.
13193
13194 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
13195
13196         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
13197         modality to error dialog as well as confirmation dialogs.
13198         (Bug #1803, reported by Rosanna Wing Sze Yuen)
13199
13200 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
13201
13202         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
13203         tree->view_lines.
13204         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
13205
13206         * gtk/Makefile.am (install-data-local): Solaris apparently
13207         has various troubles with ln -f; use rm first instead.
13208         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
13209
13210 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
13211
13212         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
13213         use `cp' followed by `rm' (the `rm' was already there).
13214
13215 July 30, 1999 Elliot Lee <sopwith@redhat.com>
13216         
13217         * configure.in: Fix autoconf warnings about cross compilation by
13218         trying to provide sane defaults for AC_TRY_RUN.
13219         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
13220         put them into $(srcdir) when generated. Also add a dependency of
13221         gtksignal.h on gtkmarshal.h for -j builds. 
13222         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
13223
13224 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
13225
13226         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
13227         GDK_THREADS_{LEAVE,ENTER} pair.
13228         (From Paul Fisher <pnfisher@redhat.com>)
13229
13230 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
13231
13232         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
13233         width and height are always >0 (owen).
13234
13235 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
13236
13237         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
13238         change that assured that a widget's allocated with and height are
13239         always >1, since this breaks *buggy* panel code. unfortunately this
13240         back-breaks the gimp's color selector.
13241
13242         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
13243         allocation is always >0 in width and height, before sending the
13244         configure event; this is a *gross* hack to get the gimp back to work.
13245         
13246         * marked both cases with TODO-1.3
13247
13248 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
13249
13250         * gtk/gtktext.c: Don't display wrap indicators when
13251         text is not editable and word wrap is on.
13252
13253 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
13254
13255         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
13256         option menus here as they are not derived from menu shell, assure that
13257         the option menu has a menu we can add items to.
13258
13259 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
13260
13261         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
13262         width/height to (gint) before calculations and check against < 0 to
13263         avoid guint wraparounds.
13264
13265 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
13266
13267         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
13268         width and height is never zero. sanity check both dimensions against
13269         32767 and issue a warning if the allocation is greater than that.
13270
13271 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
13272
13273         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
13274         to g_main_pending() as well.
13275
13276 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
13277
13278         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
13279         call to g_main_iteration() - since that will regrab
13280         GTK+ lock to process events.
13281
13282 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
13283
13284         * gtk/gtkwindow.c
13285         - Regularize with the rest of GTK+ by making widget->requisition
13286           not reflect the set_usize()
13287         - Always recompute geometry hints, then check if they
13288           changed before sending them to the X server. The
13289           previous checks for changes would fail in a number
13290           of circumstances. 
13291
13292 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
13293
13294         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
13295
13296 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
13297
13298         * gtk/gtkdnd.c:
13299         - Code cleanups
13300         - Instantaneously update on modifier key presses
13301         - Allow cancellation of the drag with Escape.
13302
13303 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
13304
13305         * gtk/testgtk.c (create_handle_box): Set the policy
13306         to auto_shrink - otherwise the appearance is rather
13307         strange when flipping between horizontal and vertical.
13308
13309 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
13310
13311         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
13312         (gtk_window_set_default_size): don't change a value if it's < 0.
13313         queue a resize.
13314
13315 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
13316
13317         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
13318
13319 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
13320
13321         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
13322         add an extra "/" when concating "/" + filename.
13323         (From Matt Grossman <mattg@oz.net>)
13324
13325 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
13326
13327         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
13328         for fg_gc if we set it for drawing pixmap.
13329
13330 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
13331
13332         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
13333         
13334         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
13335         already set, call old engine's destroy function and
13336         unref the old engine.
13337
13338 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
13339
13340         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
13341
13342 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
13343
13344         * gtk/gtkaccelgroup.h: mark certain functions as internal.
13345
13346 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
13347
13348         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
13349         expand behaviour changed.
13350
13351         * gtk/gtklabel.c (gtk_label_set_pattern):
13352         (gtk_label_set_justify):
13353         (gtk_label_set_line_wrap):
13354         don't bother invoking queue_clear, the reallocation does
13355         that for us, always free_words so the upcoming resize will
13356         relayout the label's contents.
13357
13358 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
13359
13360         * applied argument implementation patches from Elena Devdariani
13361         <elena@cogent.ca>.
13362
13363         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
13364         ::space_style, ::relief
13365         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
13366         * gtk/gtkpreview.c: ::expand
13367         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
13368         * gtk/gtknotebook.c: ::homogeneous
13369         * gtk/gtklabel.c: ::wrap
13370         * gtk/gtklist.c: ::selection_mode
13371         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
13372         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
13373         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
13374         * gtk/gtkclist.c: ::sort_type
13375         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
13376         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
13377
13378 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
13379
13380         * gtk/gtkstyle.c: Removed ill-thought-out part of last
13381         comment.
13382
13383 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
13384
13385         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
13386         counting right when we have to attach a new style
13387         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
13388
13389         * gtk/gtkstyle.c: Documented the refcounting
13390         peculularities of gtk_style_attach.
13391
13392 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
13393
13394         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
13395         window types.
13396
13397         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
13398         of GTK_TOPLEVEL for creating the window.
13399
13400 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
13401
13402         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
13403         the last argument (reported by Per Winkvist).
13404         
13405 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
13406
13407         Fixes for invisible XOR lines (Frank Loemker
13408         <floemker@TechFak.Uni-Bielefeld.DE>)
13409         
13410         * gtk/gtkclist.c (gtk_clist_realize): Always use
13411         a non-zero pixel for GDK_XOR.
13412
13413         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
13414         Use GDK_INVERT instead of GDK_XOR.
13415
13416 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
13417
13418         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
13419         signals if h/voffsets differ from adjustment values.
13420         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
13421
13422 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
13423
13424         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
13425         ::selection-done emissions up to the topmost menu shell.
13426
13427 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
13428
13429         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
13430         the user data on the window before destroying it.
13431
13432         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
13433         unrealize handler to take care of destroying 
13434         notebook->panel properly. 
13435         (Bug #1198 - Morten Welinder <terra@diku.dk>)
13436
13437         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
13438         of g_new and g_realloc to stop memory leak. (Actually,
13439         we could just use g_realloc(), but I'm not 100% sure
13440         that is portable).
13441         (Bug #1196 - Morten Welinder <terra@diku.dk>)
13442
13443 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
13444
13445         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
13446
13447         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
13448         for fontsets.
13449
13450         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
13451         with bin/button confusion.
13452
13453 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
13454
13455         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
13456         and show how preselection of radio items is done.
13457
13458 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
13459
13460         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
13461         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
13462         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
13463         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
13464         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
13465         * gtk/gtktable.c (gtk_table_attach): 
13466         * gtk/gtklist.c (gtk_list_insert_items): 
13467         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
13468         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
13469         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
13470         * gtk/gtkbin.c (gtk_bin_add): 
13471         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
13472         * gtk/gtkfixed.c (gtk_fixed_put): 
13473         * gtk/gtklayout.c (gtk_layout_put):
13474         general fixups to container_add logic. always realize child if
13475         child->parent is realized, only map the child and queue a resize
13476         if child and child->parent are both visible.
13477
13478 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
13479
13480         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
13481         instead of gtk_container_foreach to walk and unrealize children, so
13482         composite children get also unrealized.
13483         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
13484         (gtk_widget_map): assert that the widget is visible (basic constrain).
13485         (gtk_widget_real_map): assert that the widget is realized (basic
13486         constrain).
13487
13488 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
13489
13490         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
13491
13492 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
13493
13494         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
13495         file for iso-8859-2 locales.
13496
13497         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
13498
13499 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
13500
13501         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
13502          (Pointed out by andy@rz.uni-karlsruhe.de and others).
13503          Remove some suspicious and useless lines. 
13504
13505 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
13506
13507         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
13508         width,height = 0, 0 to mean - here to edge of window,
13509         instead of -1, -1, since the former is all we support.
13510
13511 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
13512
13513         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
13514         when removing from quit_functions list.
13515
13516 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
13517
13518         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
13519
13520 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
13521
13522         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
13523          When redrawing characters on non-visible entry, use appropriate
13524          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
13525
13526 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
13527
13528         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
13529         from drag coordinates.
13530         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
13531         use drag_dest_cell.
13532
13533         * gtk/gtktree (drag_dest_cell)
13534         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
13535         (Bug #1129)
13536
13537 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
13538
13539         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
13540         translate_* fields.
13541         (gtk_item_factory_finalize): invoke translate_notify independant from
13542         translate_data.
13543         (gtk_item_factory_set_translate_func): likewise.
13544         (gtk_item_factory_destroy): only remove ifactory pointer from those
13545         widgets that belong to us (stupid me).
13546
13547 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
13548
13549         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
13550         rc_style list when lookup succeeeds.
13551
13552 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
13553
13554         * gtk/gtkctree.c (resync_selection): 
13555         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
13556         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
13557         bug.
13558
13559 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
13560
13561         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
13562         Add some missing GDK_THREADS_ENTER()/LEAVE around
13563         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
13564
13565 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
13566
13567         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
13568         rather than emit_by_name.
13569
13570         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
13571         on the widget across multiple signal emissions.
13572         (gtk_editable_delete_text): same here.
13573         (gtk_editable_class_init): set widget_class->activate_signal after
13574         editable_signals[ACTIVATE] has been created.
13575
13576 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
13577
13578         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
13579         position here prematurely -- we might not have the
13580         right ->min_position and ->max_position yet.
13581
13582 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
13583
13584         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
13585         Add error traps so if the other end of the connection
13586         dies, we survive.
13587
13588         * gtk/gtkselection.c (gtk_selection_notify): Clean
13589         up properly when selection property retrieval fails.
13590         
13591         * gtk/gtkselection.c (gtk_selection_request): Correctly
13592         reject SelectionRequest notifies where the handler
13593         returns no data.
13594
13595 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13596
13597         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
13598         when we've previously highlighted.
13599
13600         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
13601         emit two "drag_leave" signals for Motif drops.
13602
13603         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
13604         back the correct status messages when dropping from
13605         Motif onto a proxy window that is rejecting the
13606         drop.
13607
13608 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
13609
13610         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
13611         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
13612         to compare two argument values. added gtk_arg_to_valueloc() to set a
13613         variable from an arg through its location (pointer).
13614
13615         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
13616         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
13617         as gfloat*, uchars are collected as guchar*, ints are collected as
13618         gint*, etc...
13619
13620 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
13621
13622         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
13623         Include <string.h> instead of <strings.h>.
13624
13625         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
13626         (actually, a lot more duplicate includes occur if
13627          you trace through the sequence of #include's)
13628         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
13629         
13630 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
13631
13632         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
13633         gtk-a-higuti-990322-[0-3]
13634
13635         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
13636         that was causing -DX_LOCALE not to work.
13637
13638         * gtk/gtkrc.c (gtk_rc_init):
13639         X_LOCALE will never have LC_MESSAGES defined
13640
13641 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
13642
13643         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
13644         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
13645
13646         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
13647         left/right as well (gtk-michael-980726-0.patch.gz).
13648
13649         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
13650         for pointer values, use gchar instead of char. fixed uline allocation
13651         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
13652         chunks instead of G_ALLOC_ONLY.
13653         (gtk_label_size_request): always alter requisition as passed and leave
13654         widget->requisition alone.
13655         (gtk_label_set_text): allow NULL strings.
13656         (gtk_label_new): likewise.
13657
13658 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
13659
13660         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
13661
13662 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
13663
13664         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
13665         *and* mapped (i.e. drawable).
13666         (gtk_bin_expose): only send exposes to drawable children.
13667
13668         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
13669         (gtk_box_expose): only send exposes to drawable children.
13670
13671         * gtk/gtkhscale.c (gtk_hscale_draw): 
13672         * gtk/gtkvscale.c (gtk_vscale_draw):
13673         hm, this is an ugly one. we first compute the size of our trough area
13674         here (window relative) and then check intersection with the draw_area
13675         which is parent relative because we're a NO_WINDOW widget, so we need
13676         to offset the trough area by allocation.x and allocation.y before the
13677         check. (this must not be done for the background area though, since
13678         that's already computed parent relative).
13679
13680 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
13681
13682         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
13683         unrealize title buttons.
13684
13685 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
13686
13687         * gtk/gtkclist.c (gtk_clist_column_title_passive)
13688         (gtk_clist_column_title_active): 
13689         only connect/disconnect to GtkWidgetClass::event to block mouse events.
13690
13691         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
13692         zero initialize event, removed superfluous gdk_window_get_pointer call
13693
13694         * gtk/gtklist.c (gtk_list_vertical_timeout)
13695         (gtk_list_horizontal_timeout): removed superfluous
13696         gdk_window_get_pointer call
13697
13698 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
13699
13700         * plugging problems reported by "Bruce Mitchener, Jr."
13701         <bruce@puremagic.com> due to a purify session.
13702
13703         * gtk/gtkstyle.c:
13704         (gtk_style_ref): 
13705         (gtk_style_unref): assert ref_count to be > 0.
13706
13707         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
13708         the requisition.
13709         (gtk_clist_set_shift): likewise.
13710
13711         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
13712         adjustments.
13713
13714         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
13715         event before sending it and set send_event to TRUE (which needs to
13716         be done for *all* synthesized events).
13717         (gtk_list_vertical_timeout): likewise.
13718
13719         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
13720         leaks.
13721
13722         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
13723         to TRUE when synthesizing events.
13724
13725 [ *** end of merges from 1.2 *** ]      
13726         
13727 1999-11-21  Tor Lillqvist  <tml@iki.fi>
13728
13729         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
13730         (or copied from gdkconfig.h.win32 on Win32, sigh).
13731
13732         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
13733
13734         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
13735
13736         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
13737
13738         * gdk/gdkconfig.h.win32: New file.
13739
13740         * gdk/win32/makefile.cygwin: Build just a static archive here.
13741
13742         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
13743         for the DLL from the static archive built above.
13744
13745         * gdk/gdk.def: Moved here from the win32 subdirectory.
13746
13747         * gdk/win32/*: Adapt for the changed private struct organisation.
13748
13749         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
13750
13751 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
13752
13753         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
13754         for wheel mice (buttons 4 and 5).
13755
13756 1999-11-18  Tor Lillqvist  <tml@iki.fi>
13757
13758         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
13759         drawables use just the pixel field in the foreground and
13760         background GdkColor of the GdkGC.
13761
13762         gdk_gc_set_{fore,back}ground() are called in the GIMP with
13763         GdkColors containing uninitialized (red,green,blue) fields, and
13764         just the pixel field filled in, and furthermore in the
13765         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
13766         It thus turns out that we really don't need to have the full
13767         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
13768         it later to have just the pixel values.
13769
13770 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
13771
13772         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
13773
13774 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
13775
13776         * docs/gtkfaq.sgml: threads example from Erik Mouw.
13777         New question on GtkLabel background colors.
13778
13779         * docs/gtk_tut.sgml:
13780           - Correct the example code callback
13781             function definitions.
13782           - Update the gtkdial example code, from Frans van Schaik.
13783           - Update setselection.c to current API.
13784
13785         * examples/Makefile examples/*/*.c: Update to code
13786         listed in tutorial.
13787
13788 1999-11-10  Tor Lillqvist  <tml@iki.fi>
13789
13790         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
13791         subrange table (from the "Developing International Software for
13792         WIndows 95 and Windows NT" book) was missing the Hangul syllable
13793         block... Get the loaded font's charset correctly.
13794
13795         (Note that this, and the other *-win32.c files, still really are
13796         the old ones, the win32 subdirectory is not ready for compilation
13797         yet after the reorg.)
13798
13799 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
13800
13801         * gtk/gtkclist.c: Fix off-by-one bug in parameter
13802         check.
13803
13804 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
13805
13806         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
13807         on results of XQueryDeviceState().
13808
13809 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
13810
13811         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
13812         we need to accesss only ->children. We need an accessor
13813         for the children.
13814
13815         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
13816         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
13817         to get rid of gdkx.h include.
13818         
13819         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
13820         and random references to 'None'.
13821
13822         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
13823         Get rid of unused #include <gdk/gdkx.h>
13824
13825         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
13826         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
13827         gdkconfig.h.
13828
13829 1999-11-08  Tor Lillqvist  <tml@iki.fi>
13830
13831         * gdk/win32/gdkdraw.c
13832         * gdk/win32/gdkfont.c
13833         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
13834         following yesterday's changes. (Unrelated to Owen's reorg.)
13835
13836 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
13837
13838         * gdk/x11/gdkinput-gxi.c: Add missing include,
13839           fix GdkWindowPrivate => GdkDrawablePrivate.
13840
13841         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
13842
13843         * gdk/x11/Makefile.am (xinput_sources): Add missing
13844         backslash to fix building with --with-xinput=none
13845
13846 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
13847
13848         Move all X specific code into the x11/ directory.
13849         Aside from shuffling things around, did the following:
13850
13851        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
13852          gdk_arg_context_* - a simple argument parsing system
13853          in the style of popt.
13854
13855        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
13856          gdk/x11/gdkprivate-x11.h:
13857          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
13858          add ->klass and ->klass_data fields. The klass_data
13859          field points to an auxilliary structure that is
13860          windowing system dependent.
13861
13862        * gdk/gdkfont.c: Make most of the measurement functions
13863          simply wrappers around gdk_text_extents().
13864
13865        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
13866          _gdk_font_strlen() function that hides the weird
13867          behavior in gtk+-1.[02] where a string is interpreted
13868          differently for 8-bit and 16-bit fonts.
13869
13870        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
13871          to store common code for synthesizing double/triple
13872          press events.
13873         
13874        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
13875          Make all the function that modify an existing GC
13876          simply wrappers around gdk_gc_set_values().
13877          
13878        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
13879          for throwing out later.
13880
13881        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
13882          GdkImagePrivate and GdkColormapPrivate to have a
13883          windowing system dependent part (GdkFontPrivateX etc.)
13884          that "derives" from the system-independent part.
13885
13886        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
13887          Got rid of the included-source-files for XInput in
13888          favor of automake conditionals. (Which didn't exist
13889          when XInput support was originally added.)
13890
13891        * gdk/gdkrgb.c: Remove the visual id from the debugging
13892          statements since that is X11 specific; print out
13893          type/depth info instead.
13894          
13895
13896 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
13897
13898         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
13899         loading duplicates of hashed fonts.
13900
13901         * gdk/gdk.c (gdk_keysym_convert_case): rename
13902         gdk_XConvertCase to gdk_keysym_convert_case, allow
13903         results to be NULL in the GTK+ style.
13904
13905         * gdk/gdkcompat.h: Started compatibility header
13906         for renames.
13907
13908 1999-11-07  Tor Lillqvist  <tml@iki.fi>
13909
13910         * gdk/win32/gdkprivate.h: New font private structures, related to
13911         fontsets.
13912
13913         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
13914         gdk_font_list_free(). On X11, will just be wrappers to
13915         XListFonts() and XFreeFontNames(). On Win32, the code previously
13916         in gtkfontsel.c is now here.
13917
13918         New function gdk_font_xlfd_create(). On X11 will get the FONT
13919         property of the font (for GDK_FONT_FONTs), or call
13920         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
13921         builds a XLFD style name from the font information in the LOGFONT
13922         struct(s).
13923
13924         New function gdk_font_xlfd_free(), which correspondingly frees the
13925         string returned by gdk_font_xlfd_create().
13926
13927         Implement fontsets on Win32. Add a function that iterates over a
13928         wide char string and calls a callback function for each substring
13929         of wide chars from the same Unicode subrange (and thus probably
13930         available in the same real font).
13931
13932         Improve the XLFD emulation a bit.
13933
13934         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
13935
13936         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
13937         Beta3, WM_IME_CHAR messages don't seem to contain the composed
13938         multi-byte char as with the Active IMM on Win9x. Oh well, handle
13939         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
13940         ImmGetCompositionStringW() to get the composed Unicode chars.
13941
13942         * gdk/win32/gdkgc.c
13943         * gdk/win32/gdkdraw.c: Changes needed because of the font private
13944         struct changes.
13945
13946         * gdk/win32/gdk.def: Add the new functions.
13947
13948 1999-11-04  Tor Lillqvist  <tml@iki.fi>
13949
13950         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
13951         get the Platform SDK to get <dimm.h>.
13952
13953         * gdk/win32/gdkevents.c: More event handling fixes and
13954         simplification. Never generate motion events with is_hint true. We
13955         used to do that on bogus grounds earlier. Windows sends
13956         WM_MOUSEMOVE messages on button events even if the mouse hasn't
13957         moved, ignore these.
13958
13959         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
13960
13961         * gdk/win32/gdkglobals.c
13962         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
13963         the TrackMouseEvent function, and use it.
13964
13965         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
13966         char before calling WideCharToMultiByte in order to get a string
13967         for the window title.
13968
13969         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
13970
13971         * gdk/win32/gdk.def: Remove obsolete functions.
13972
13973         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
13974         /nodefaultlib and /defaultlib switches.
13975
13976         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
13977
13978 1999-10-31  Tor Lillqvist  <tml@iki.fi>
13979
13980         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
13981         EuroSign).
13982
13983         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
13984         same type as GdkWChar, especially on Win32.
13985
13986         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
13987
13988         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
13989         before passing to Windows GDI for drawing etc. Convert to the
13990         system default codepage before passing to Windows as window
13991         titles.
13992
13993         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
13994         support changing input locale on the fly.
13995
13996         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
13997         on-the-fly changes. Convert incoming characters from the current
13998         codepage to Unicode (and then to a UTF-8 multi-byte string) based
13999         on the current input language. Use keysym<->Unicode mapping tables
14000         and functions borrowed from xterm sources.
14001
14002         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
14003         editions of Win9x, use the ActiveX-based Active IMM (Input Method
14004         Manager) if available. IMEs and the Active IMM are available under
14005         the disguise of Chinese, Korean and Japanese support for IE and
14006         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
14007         support is present in all editions (as long as you install it).
14008
14009         Call DispatchMessage from gdk_events_queue() (and thus
14010         gdk_WindowProc()), instead of duplicating the code in
14011         gdk_WindowProc().
14012
14013         Reworked the grab handling and propagation code, factored out
14014         duplicated code snippets into separate functions. Other cleanups,
14015         too.
14016
14017         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
14018         the <dimm.h> header describing the Active IMM.
14019
14020         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
14021         just do the same as for "single" fonts.
14022
14023         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
14024         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
14025         the new keysyms from gdkkeysyms.h.
14026
14027         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
14028         fontset, so that gtkentry uses wide characters.
14029
14030         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
14031         GTk+'s system directory "gtk+", not "gtk".
14032
14033 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
14034
14035         * docs/gtkfaq.sgml: FAQ update
14036
14037 1999-10-21  Tor Lillqvist  <tml@iki.fi>
14038
14039         * gdk/win32/gdkprivate.h: Add more font private data.
14040
14041         * gdk/win32/gdkfont.c
14042         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
14043         fonts and strings. Now works much better. You still have to
14044         have a correct font selected, though. No fontset emulation yet.
14045
14046 1999-10-19  Tor Lillqvist  <tml@iki.fi>
14047
14048         * gtk/maketypes.awk: Use G_OS_WIN32.
14049
14050         * gtk/gtk.def: Add some missing entry points. Also some non-public
14051         ones, but PyGTK porter claims to need them.
14052
14053         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
14054         built-in type generation.
14055
14056 1999-10-14  Tor Lillqvist  <tml@iki.fi>
14057
14058         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
14059         GDK_FONT_FONT fonts (which is all we have for now, we don't
14060         emulate fontsets). The X11 version uses plain XDrawString in that
14061         case, too. The string passed to gdk_draw_text_wc seems to be in
14062         fact (at least, when used by gtkentry and gtktext) either in a
14063         single-byte charset, or a DBCS. Not Unicode.
14064
14065         This fixes the problem in gtkfontsel, where even if you had
14066         selected a font with a non-Latin1 charset (windows-greek, for
14067         instance), the preview still used Latin-1 glyphs.
14068
14069         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
14070         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
14071         (gdk_font_load): Recognize the demibold etc weights, even if we
14072         don't have the corresponding constants in the headers.
14073         (gdk_font_hash_insert): Use same hash mechanism as in the X11
14074         version. Should save font resources a bit, when we don't have
14075         multiple HFONTs for the same font.
14076
14077         * gdk/win32/gdkprivate.h: Add the names field as in the X11
14078         version.
14079
14080 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
14081
14082         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
14083         X values
14084
14085 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
14086
14087         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
14088         layout support (as mentioned on
14089         http://www.jcinteractive.com/gnome-ui/software/widgets/)
14090
14091 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
14092
14093         * gtk/fnmatch.c
14094         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
14095
14096 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
14097
14098         * configure.in (ALL_LINGUAS): Added Galician (gl)
14099
14100 1999-10-05  Tor Lillqvist  <tml@iki.fi>
14101
14102         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
14103
14104         * gdk/win32/gdkcompat.c: New file, actually provide an
14105         implementation for the deprecated functions. (Just temporarily.)
14106
14107         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
14108
14109         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
14110
14111         * gdk/win32/gdk.def gtk/gtk.def: Updates.
14112
14113 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
14114
14115         * configure.in: Added "uk" to ALL_LINGUAS.
14116         
14117 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
14118
14119         * configure.in: correct checking for BeOS check
14120
14121         * gdk/gdktypes.h
14122         * gtk/fnmatch.c
14123         * gtk/gtkfilesel.c
14124         * gtk/gtkitemfactory.c
14125         * gtk/gtkmain.[ch]
14126         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
14127
14128 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
14129
14130         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
14131         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
14132         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
14133         by Bulgarian). 
14134
14135 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
14136
14137         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
14138         Fix a reference to window_private->destroyed.   
14139
14140         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
14141         (ugly) setting of an internal GdkWindow member to use
14142         a _slightly_ cleaner macro.
14143
14144         * gdk/gdkprivate.h: Split GdkWindowPrivate into
14145         GdkDrawablePrivate and GdkWindowPrivate.
14146         Add extra macros for accessing GDK_DRAWABLE_ components.
14147
14148         * *.[ch]: Massive adjustments for the above, use the
14149         new macros in a lot of places.
14150
14151 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
14152
14153         * gdk/gdktypes.h: Make GdkDrawable the base type,
14154         not GdkWindow.
14155
14156 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
14157
14158         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
14159
14160 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
14161
14162         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
14163
14164 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
14165
14166         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
14167         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
14168
14169         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
14170
14171         * docs/gtk-config.1: Now autogenerated.
14172         * docs/Changes-1.4.txt: started
14173         
14174 1999-10-03  Tor Lillqvist  <tml@iki.fi>
14175
14176         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
14177         to #ifdef also here.
14178
14179         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
14180         Owen did to the X11 backend.
14181
14182         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
14183         ScrollWindowEx when blitting inside a window, it can't be correct
14184         in the general case.
14185
14186         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
14187         WM_GETMINMAXINFO is easier.
14188
14189         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
14190         depth equal to the bitspixel value, not the visual's depth.
14191
14192         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
14193         to 24 even if the bitspixel value is 32.
14194
14195         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
14196         need to check for depth==32 when bpp==32, depth will always be 24.
14197
14198 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
14199
14200         * docs/Changes-1.4.txt: Started
14201         
14202         * gtk/Makefile.am (gdk_headers): Include all the new headers.
14203
14204         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
14205         
14206         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
14207         into C file.
14208         
14209         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
14210         header to gdkinputprivate.h.
14211
14212         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
14213         unused since before 1.2.
14214
14215 1999-09-30  Tor Lillqvist  <tml@iki.fi>
14216
14217         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
14218         expand possible hex escapes in the font family (put there by
14219         logfont_to_xlfd if the font name isn't a legal XLFD font family,
14220         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
14221         On Win32, add hex escapes here, too.
14222
14223 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
14224
14225         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
14226         to #ifdef GDK_WINDOWING_X11.
14227
14228 [ Merges from gtk-1-2 ]
14229
14230 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
14231
14232         * configure.in: fixed "GNU Make" check to pass with new make version
14233         3.77.95.
14234
14235 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
14236
14237         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
14238         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
14239         AM_PATH_GTK() macros don't get confused by the -pre1.
14240
14241 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
14242
14243         * configure.in (REBUILD): Change check for perl5
14244           to check explicitely for v >= 5.002. (5.001
14245           does not work with our scripts.)
14246
14247 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
14248
14249         * configure.in: evaluate $PERL for the perl version check. added
14250         --disable-rebuilds to give the user an option to completely disable
14251         any source autogeneration rules.
14252
14253 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
14254
14255         * configure.in: evaluate $ac_make when checking for GNU Make.
14256
14257 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
14258
14259         * docs/Makefile.am: added generation.txt.
14260
14261         * Makefile.am: require automake 1.4, build README from README.in and
14262         INSTALL from INSTALL.in in dist-hook.
14263         
14264         * README.in:
14265         * INSTALL.in: new files to autogenerate README and INSTALL from.
14266
14267         * configure.in: figure whether we have GNU Make
14268
14269         * docs/generation.txt: minor additions/corrections.
14270
14271 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
14272
14273         * docs/gtkfaq.sgml: FAQ Update
14274
14275 July 30, 1999 Elliot Lee <sopwith@redhat.com>
14276         
14277         * configure.in: Fix autoconf warnings about cross compilation by
14278         trying to provide sane defaults for AC_TRY_RUN.
14279
14280 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
14281
14282         * ltconfig
14283         * ltmain.sh: upgrade to libtool 1.3.3
14284
14285 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
14286
14287         * INSTALL: Indicate that the --with-glib= configure
14288         time flag is unsupported.
14289
14290 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
14291
14292         * docs/generation.txt: Added a file that gives
14293         documenation about the autogeneration process for
14294         various autogenerated files.
14295         
14296 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
14297
14298         * configure.in (LIBS): Look for libgmodule in the
14299         right location.
14300
14301 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
14302
14303         * docs/gtk_tut.sgml: Removed references to
14304         code examples in my directory on gtk.org as
14305         they should all be in the tutorial now.
14306
14307         * docs/gtk_tut.sgml: Added sources for dial-test
14308         and scribble-xinput programs that were previously
14309         missing.
14310
14311 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
14312
14313         * TODO: Added entry about menu keyboard navigation, removed
14314         some finished items.
14315
14316 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
14317
14318         * acinclude.m4: Standardize on func_dgettext
14319         not func_gettext, so that the checks for dgettext
14320         actually are paid attention to.
14321
14322 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
14323
14324         * configure.in (LIBS): Add $INTLLIBS into $LIBS
14325         directly, rather than repeating the checks for
14326         gettext.
14327
14328         * INSTALL: Added information about gettext and
14329         NLS support.
14330
14331         * acinclude.m4 (LIBM): Check for dgettext, not
14332         just gettext. This should hopefully fix things wrt
14333         systems with old versions of GNU gettext installed.
14334
14335 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
14336
14337         * configure.in (LIBS): Look for libgmodule in the
14338         right location.
14339
14340 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
14341
14342         * autogen.sh: add --enable-maintainer-mode
14343
14344         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
14345
14346 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
14347
14348         * docs/gtk-config.1.in:
14349           docs/Makefile.am:
14350           configure.in: gtk-config is now generated.
14351
14352         * docs/gtk-config.1: Removed, now generated.
14353
14354 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
14355
14356         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
14357         handle CreateNotify itself, still put out a debuging message for
14358         --gdk-debug=events. made the ReparentNotify debugging message more
14359         verbose.
14360         wrap xcoords translation for ConfigureEvents into an error trap,
14361         a destroy event may already be pending, and in that case, the
14362         actuall coordinate values are not at all critical.
14363
14364 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
14365
14366         * gdk/gdkcc.c: Stop leaking the color_hash all over
14367         the place. Simplify and improve the logic.
14368
14369 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
14370
14371         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
14372         for prototypes and function implementations consistent (reported
14373         by Tomas Ogren).
14374
14375 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
14376
14377         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
14378         send_event set in debugging output.
14379         (gdk_compress_exposures): default initialize the event so we don't
14380         operate on bogus values (namely send_event).
14381
14382 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
14383
14384         * gdk/gdkwindow.c: When we receive an unexpected
14385         destroy notify on one of our windows, don't just
14386         warn about it, also mark our windows as destroyed.
14387
14388 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
14389
14390         * gdk/gdkfont.c (gdk_font_hash_insert): Add
14391           name => font and name => fontset hashes. The 
14392           name => fontset hash is a _big_ win since we
14393           weren't previously caching fontsets at all and loading
14394           fontsets is expensive. The name => font hash
14395           is less of a win, but it does save us from doing
14396           repeated XQueryFont calls on the same font.
14397
14398         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
14399           list so we can remove font/fontset from hash.
14400
14401 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
14402
14403         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
14404           and slightly confusing test. [ XInternAtom (,,TRUE)
14405           will never return None ].
14406
14407 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
14408
14409         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
14410           gdk/gdkwindow.c (gdk_window_set_hints):
14411
14412         Don't omit setting the properties if flags == 0 -
14413         there may be an existing set of properties there
14414         already. (Very old bug. Would it be better to
14415         delete the property instead?)
14416
14417         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
14418           spelling error in comment.
14419
14420 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
14421
14422         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
14423           to avoid stomping over gdk_error_warnings.
14424
14425         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
14426           as (bits_per_pixel + 7) / 8. This gives the same
14427           result as before for multiples of 8, but actually
14428           a "reasonable" value for 1bit or 4bit displays.
14429
14430 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
14431
14432         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
14433         GNU Make.
14434
14435 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
14436
14437         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
14438         discarding configure events.
14439
14440 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
14441
14442         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
14443         refcount is greater than zero.
14444
14445         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
14446
14447         * gdk/gdkfont.c (gdk_font_unref): Likewise.
14448
14449         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
14450
14451         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
14452
14453 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
14454
14455         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
14456         that format 32 => sizeof(item) == 4. It really is
14457         sizeof(long).
14458
14459 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
14460
14461         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
14462         core dump at all on X IO errors, only core dump
14463         if --enable-debug for X errors.
14464
14465 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
14466
14467         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
14468         unknown window:" message. disabled ConfigureNotify discarding code,
14469         because it led to events being processed out of order.
14470
14471 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
14472
14473         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
14474
14475         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
14476         we export this function, supress error warnings and don't reset the
14477         error code in the first half of this function.
14478
14479         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
14480         code (instead of just -1) so gdk_error_trap_pop() reveals something
14481         actually informative about the error that happened.
14482
14483         * gdk/*.c:
14484         don't rely on gdk_error_code being -1 if an error occoured, but just
14485         gdk_error_code != 0.
14486
14487 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
14488
14489         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
14490         pointer *before* invoking the filter function, so we at least don't
14491         crash if a filter is removed that is currently executed. window filters
14492         *really* need to be made truely reentrant at some point.
14493
14494 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
14495
14496         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
14497         PropertyNotify debug messages.
14498
14499 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
14500         
14501         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
14502         
14503         * gdk/gdkim.c: Fix cut-and-paste errors for 
14504         x/y and PreeditAttributes/StatusAttributes.
14505
14506 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
14507
14508         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
14509         G_MAXINT to 2^16 to alleviate overflow problems in
14510         various window managers.
14511
14512 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
14513
14514         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
14515         for fontsets.
14516
14517 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
14518
14519         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
14520         Initialize size_hints.x and size_hints.y because kwm
14521         brokenly pays attention to them.
14522         (Bug #1181 -  Lars Heete <hel@admin.de>)
14523
14524 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
14525
14526         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
14527         return value of gdk_list_visuals(). 
14528         (Bug #1193 - Morten Welinder <terra@diku.dk>)
14529
14530 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
14531
14532         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
14533         XSetIMValues to (void *) when comparing to NULL, to workaround
14534         the problem of some compilers barfing since older X headers don't
14535         have the prototype for it.
14536
14537 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
14538
14539         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
14540         for pseudocolor where colormap->colors was double
14541         allocated.
14542
14543         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
14544         color value in the hash table with the pixel filled
14545         in so when we do later hash table lookups, the color
14546         value is correct.
14547         
14548 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
14549
14550         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
14551         making the call
14552
14553 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
14554
14555         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
14556         pointed out by Morten Welinder <terra@diku.dk>.
14557
14558 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
14559
14560         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
14561           default filter from the list
14562
14563 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
14564
14565         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
14566           default filter from the list
14567
14568 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
14569
14570         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
14571
14572         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
14573         g_strdup_printf instead of calcing the length separately
14574
14575 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
14576
14577         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
14578         that we don't do in many other places. (Fixing duplicate 
14579         #include of config.h)
14580
14581         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
14582         Otherwise, #ifndef XINPUT_NONE check in the latter
14583         doesn't work. (Bug #546)
14584
14585 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
14586
14587         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
14588         "None" case insensitive.
14589
14590 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
14591
14592         * gdk/gdkselection.c: 
14593         Add error traps so if the other end of the connection
14594         dies, we survive.
14595
14596 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
14597
14598         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
14599         dest_xid field into two fields - one for the window
14600         to send in messages, one to indicate the last looked
14601         up window for caching purposes. This is needed, so
14602         that Leave messages get the correct window.
14603
14604 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
14605
14606         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
14607         Fix warning created by people mucking around
14608         with the gsource API.
14609
14610         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
14611         Change mapping between GIOCondition and GdkInputCondition
14612         to match the way the Linux kernel does it. This should
14613         fix problems where closed pipes were no longer signalling
14614         GDK_INPUT_READ on systems with a native poll().
14615
14616 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
14617
14618         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
14619         explicitly for the string "None" - it is in the XPM
14620         spec and some servers treat unknown colors in odd ways
14621         (like asking the user!)
14622
14623 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
14624
14625         * gdk/gdkevents.c: made "->" into a "." of previous change so
14626         it compiles
14627
14628 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
14629
14630         * gdk/gdkevents.c (gdk_compress_exposures): Set the
14631         window field of the event structure before calling
14632         user filters.
14633
14634 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
14635
14636         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
14637         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
14638
14639 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
14640
14641         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
14642         intermediate text property - prevents major memory
14643         leak when gdk_use_mb.
14644         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
14645
14646 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
14647
14648         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
14649         gtk-a-higuti-990322-[0-3]
14650
14651         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
14652         sizeof(wchar_t) != sizeof (GdkWChar)
14653
14654         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
14655         that was causing -DX_LOCALE not to work.
14656
14657         * gtk/gtkrc.c (gtk_rc_init):
14658         X_LOCALE will never have LC_MESSAGES defined
14659
14660         * gdk/gdk.c (gdk_init_check):
14661         Remove --xim-preedit and --xim-status from argv properly.
14662
14663         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
14664         that the client window is present on the X server
14665         before we pass it to the input method.
14666
14667 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
14668
14669         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
14670         if --display is specified on the command line, than
14671         the drag window will not be created on that display.
14672         
14673 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
14674
14675         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
14676         lookups with only_if_exists == TRUE were inserting
14677         bogus values into the atom cache.
14678
14679 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
14680
14681         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
14682         then reset it to NULL.
14683
14684         * gdk/gdkcolor.c:
14685         (gdk_colors_free): 
14686         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
14687         key for g_hash_table_remove() in both functions, this prevents us
14688         from accessing possibly uninitialized portions of a GdkColor structure
14689         where we are only interested in its pixel value.
14690
14691 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14692
14693         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14694         font hash table, if we have a GdkFontPrivate entry for this font
14695         already, simply increment its reference count, provided by Olaf Dietsche
14696         <olaf.dietsche+list.gtk@netcologne.de>.
14697
14698 1999-09-21  Tor Lillqvist  <tml@iki.fi>
14699
14700         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
14701         just to be sure.
14702
14703         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
14704         unused variables, leftovers from the X11 version.
14705
14706         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
14707
14708         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
14709         downcase fields on X11.
14710
14711 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
14712         
14713         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
14714         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
14715
14716 1999-09-17  Tor Lillqvist  <tml@iki.fi>
14717
14718         * gdk/win32/gdk.def: Add gdk_threads_mutex.
14719
14720         * gtk/makefile.msc: Correct path to libintl.
14721
14722         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
14723         use of gint vs. int, and gint vs. gboolean in headers and
14724         definitions. Use GtkType for the *_get_type functions. Note that
14725         these changes preserve binary compatibility.
14726
14727         * gdk/gdk.c
14728         * gdk/win32/gdk.c
14729         * gdk/gdk.h: Fix inconsistencies: gint vs int.
14730
14731         * gtk/gtkmain.c
14732         * gtk/gtkclist.c
14733         * gtk/gtkmenufactory.c
14734         * gtk/gtknotebook.c
14735         * gtk/gtkwidget.c: Fix inconsistencies, also gint
14736         vs. gboolean.
14737
14738         * gtk/gtkcolorsel.[ch]
14739         * gtk/gtkcombo.[ch]
14740         * gtk/gtkdrawingarea.[ch]
14741         * gtk/gtkgamma.[ch]
14742         * gtk/gtkhandlebox.[ch]
14743         * gtk/gtkhpaned.[ch]
14744         * gtk/gtkhruler.[ch]
14745         * gtk/gtkplug.[ch]
14746         * gtk/gtkpreview.[ch]
14747         * gtk/gtkruler.[ch]
14748         * gtk/gtksocket.[ch]
14749         * gtk/gtkstatusbar.[ch]
14750         * gtk/gtktoolbar.[ch]
14751         * gtk/gtkvbbox.[ch]
14752         * gtk/gtkvpaned.[ch]
14753         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
14754         functions.
14755
14756         * gtk/gtkgamma.h: Fix bug, missing () in call of
14757         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
14758
14759 1999-09-14  Tor Lillqvist  <tml@iki.fi>
14760
14761         * gdk/gdkcolor.c (gdk_colormap_new)
14762         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
14763         colormap->colors was allocated twice.
14764
14765         * gdk/win32/gdk.c: Remove some unused stuff.
14766
14767         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
14768         colormap.
14769
14770         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
14771         * gtk/gtklabel.h (gtk_label_get_type)
14772         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
14773         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
14774         in a couple of places, not guint.
14775
14776 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
14777
14778         * configure.in,po/et.po: added Estonian language file
14779
14780 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
14781
14782         * configure.in,po/da.po: added Danish file
14783
14784 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
14785
14786         * docs/gtkfaq.sgml: Minor FAQ Update
14787
14788 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
14789
14790         * docs/gtkfaq.sgml: FAQ update
14791
14792 1999-08-27  Tor Lillqvist  <tml@iki.fi>
14793
14794         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
14795         way to get window contents continually refreshed while resizing. I
14796         didn't like the effects myself, so it's not on by default.
14797
14798         * gdk/win32/gdkprivate.h: New flag variable
14799         gdk_event_func_from_window_proc, FALSE by default.
14800
14801         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
14802         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
14803         are passed --gdk-event-func-from-window-proc.
14804
14805         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
14806         and we have am event_func, call it instead of enqueing the event.
14807
14808 1999-08-23  Tor Lillqvist  <tml@iki.fi>
14809
14810         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
14811         Kelley: Set expose_count in GdkEventExposes correctly.
14812
14813         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
14814         MULTIPLE_WINDOW_CLASSES).
14815
14816         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
14817         for bug in NT, apparently NT *does* draw the end pixel, too, in
14818         LineTo with a one-pixel pen, so we don't have to do it ourselves.
14819
14820 1999-08-21  Tor Lillqvist  <tml@iki.fi>
14821
14822         Improvements by Hans Breuer: 
14823
14824         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
14825
14826         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
14827         CS_?REDRAW flags as they cause lots of (late) redraws when "show
14828         window contents while dragging" is turned on. Allocate at least
14829         one unique class for every GdkWindowType. If support for single
14830         window-specific icons is ever needed (eg. Dialog specific), every
14831         such window should get its own class.
14832
14833 1999-08-19  Tor Lillqvist  <tml@iki.fi>
14834
14835         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
14836         error that caused crashes.
14837
14838 1999-08-17  Tor Lillqvist  <tml@iki.fi>
14839
14840         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
14841         window, use ScrollWindowEx, and call UpdateWindow. This prevents
14842         bugs when for instance part of the window was outside the
14843         display. Thanks to Philippe Colantoni for finding and fixing this.
14844
14845 1999-08-16  Tor Lillqvist  <tml@iki.fi>
14846
14847         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
14848         endpoint calculations which were totally wrong. (A little RTFMing
14849         helps a lot ;-)
14850
14851         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
14852         from a separate directory, not from gettext, because of licensing
14853         issues (we want to use the LGPL version).
14854
14855         * README.win32: Mention the intl from glibc vs from gettext issue.
14856
14857 1999-08-13  Tor Lillqvist  <tml@iki.fi>
14858
14859         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
14860         in the key event handling: Now AltGr chars work again. Also,
14861         now Alt-digits are passed up as well as Control-digits.
14862         Pass keypad plus and minus as normal plus and minus.
14863
14864 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
14865
14866         * docs/gtkfaq.sgml: FAQ Update
14867
14868 1999-07-25  Tor Lillqvist  <tml@iki.fi>
14869
14870         * README.win32
14871         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
14872         the Wintab SDK.
14873
14874         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
14875         OK, but getting closer. Guard against bogus tilt data from Wacom
14876         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
14877         enable easier building without Wintab.
14878
14879         * gdk/win32/gdkinput.h
14880         * gdk/win32/gdkevents.c 
14881         * gdk/win32/gdkwindow.c: Minor changes related related to above.
14882         
14883         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
14884         code. As we have just one visual on Win32, no sense to have it in a
14885         table, and no need for the hash table.
14886
14887         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
14888         better on white background.
14889
14890 1999-07-21  Tor Lillqvist  <tml@iki.fi>
14891
14892         * README.win32: Update gcc build instructions. Mention gettext is
14893         GPL.
14894
14895         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
14896         supported cursor size with GetSystemMetrics.
14897
14898         * gdk/win32/gdkfont.c
14899         * gtk/gtkfontsel.c: Guard against some font weight and charset
14900         symbols being undefined (in mingw32 headers).
14901
14902         * gdk/win32/makefile.cygwin
14903         * gtk/makefile.cygwin
14904         * gtk/gtkthemes.c: No longer need to have differently named
14905         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
14906
14907 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
14908
14909         * docs/gtkfaq.sgml: Long awaited FAQ update.
14910
14911 1999-07-15  Tor Lillqvist  <tml@iki.fi>
14912
14913         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
14914         it. Obscure bit manipulation needed.
14915
14916         * gdk/win32/gdkevents.c: Logging.
14917         
14918         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
14919         style (file name include compiler name) for theme engines.
14920
14921 1999-07-13  Tor Lillqvist  <tml@iki.fi>
14922
14923         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
14924
14925         * gdk/win32/gdkevents.c: Fix long-standing bug in key
14926         events. The key.string wasn't zero-terminated, still we strdup'ed
14927         it in gdk_event_copy(). Synthesize crossing events for button
14928         events before possible propagation.
14929
14930         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
14931
14932         * gdk/win32/makefile.cygwin
14933         * gtk/makefile.cygwin: Use new DLL naming style for the
14934         GCC-compiled ones.
14935
14936         * gdk/win32/makefile.msc
14937         * gtk/makefile.msc: Cosmetics mostly.
14938
14939         * gtk/gtk.def: Add missing entry points.
14940
14941         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
14942
14943 1999-07-09  Tor Lillqvist  <tml@iki.fi>
14944
14945         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
14946         or height is zero. Don't print a warning if Pie or Arc fails, they
14947         always fail (?) for very narrow ellipses.
14948
14949         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
14950         the part or the destination window corresponding to source area
14951         outside of the source drawable's boundary.
14952
14953         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
14954         anything if less than two points.
14955
14956         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
14957         return NULL. Gtk cut-and-paste inside a single program works
14958         better this way. (It always gets the clipboard contents from
14959         Windows, not from its own copy, which is cleared anyway. I can't
14960         say I fully understand what happens... Emulating the X selection
14961         and property stuff is a bit of a mess.)
14962
14963         * gdk/win32/gdkevents.c
14964         * gdk/win32/gdkproperty.c: A bit more verbose logging.
14965
14966         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
14967         that never got deleted). Revamp gdk_region_shrink.
14968
14969         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
14970         after use.
14971
14972         * gtk/gtk.def: Add some missing entry points.
14973
14974         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
14975         component.
14976
14977 1999-07-04  Tor Lillqvist  <tml@iki.fi>
14978
14979         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
14980         Control-digits specially.
14981
14982 1999-07-03  Tor Lillqvist  <tml@iki.fi>
14983
14984         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
14985
14986 1999-06-28  Tor Lillqvist  <tml@iki.fi>
14987
14988         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
14989         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
14990         finding this.)
14991
14992 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
14993
14994         * gtk+.spec.in: Corrected some typos in files section.
14995         
14996 1999-06-15  Tor Lillqvist  <tml@iki.fi>
14997
14998         * README.win32: Mention using GNU gettext.
14999         * config.h.win32: Enable NLS stuff.
15000         * gtk/makefile.msc: Use GNU gettext.
15001         * gdk/win32/gdkdnd.c: Minor header reorg.
15002         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
15003         cosmetics.
15004         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
15005         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
15006
15007 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
15008
15009         * acinclude.m4
15010         * config.guess
15011         * config.status
15012         * ltconfig
15013         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
15014
15015 1999-05-30  Tor Lillqvist  <tml@iki.fi>
15016
15017         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
15018         SafeAdjustWindowRectEx. Don't override all calls to
15019         AdjustWindowRectEx by it, but use it only in two places: When
15020         creating a new top-level window and when moving a top-level
15021         window.
15022
15023         Use screen coordinate rectangle, not client rectangle, in
15024         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
15025         when we try to place a window so that the decoration (mainly,
15026         title bar) isn't visible.
15027
15028         These changes fix the bug that showed up for instance as the
15029         GIMP's saved top-level windows moving right and down (by an amount
15030         equal to the window decoration) for each session. This bug showed
15031         up also in testgtk's "Saved Position".
15032
15033         gdk_window_resize also redone a bit.
15034
15035 1999-05-25  Tor Lillqvist  <tml@iki.fi>
15036
15037         * gtk/testgtkrc: Add (commented out) Windows-style theme
15038         include line.
15039
15040         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
15041
15042 1999-05-18  Tor Lillqvist  <tml@iki.fi>
15043
15044         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
15045         gdkx.h to a gdk subdirectory, so that applications can include
15046         these with <gdk/*.h> without trouble.
15047
15048         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
15049         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
15050         have their bitmap destroyed.
15051
15052         * gdk/win32/gdk.def: Add gdk_root_parent.
15053
15054 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
15055
15056         * configure.in
15057           gtk-config.in
15058           ltconfig
15059           ltmain.sh     
15060           gtk/Makefile.am: changes to compile nicely (with xlib) 
15061           on BeOS
15062
15063 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
15064
15065         * acinclude.m4
15066         * config.guess
15067         * config.sub
15068         * ltconfig
15069         * ltmain.sh: upgrade to libtool 1.3
15070
15071 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
15072
15073         * gtk/gtkclist.c:
15074         * gtk/gtkctree.c: merges from gtk-1-2
15075
15076 1999-04-25  Tor Lillqvist  <tml@iki.fi>
15077
15078         Support added for building using a GNU toolchain on Win32,
15079         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
15080
15081         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
15082         * config.h.win32: Changes for gcc.
15083         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
15084         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
15085         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
15086         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
15087         Protect shl stuff unavaiilable with mingw32 headers.
15088         * gdk/win32/gdkevents.c: Fix typo.
15089         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
15090         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
15091         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
15092         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
15093         the mingw32 headers.
15094         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
15095         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
15096         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
15097         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
15098         Test for NATIVE_WIN32, not _MSC_VER.
15099         * gtk/gtkmain.c: No use warning about developer version on Win32,
15100         there aren't any non-developer versions anyhow.
15101         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
15102         * gtk/makefile.msc: Use pthread from another directory. Minor other
15103         changes. 
15104
15105 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
15106
15107         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
15108           default filter from the list
15109
15110 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
15111
15112         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
15113          when gtk_widget_grab_default() is called for a widget that
15114          is not within a GtkWindow.
15115
15116 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
15117
15118         * docs/gtk_tut.sgml, examples/clist.c: use a
15119           scrolled window in the clist example. Minor
15120           tutorial fixes.
15121
15122 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
15123
15124         * docs/gtk_tut.sgml: Style check from David King
15125           <dking@youvegotmail.net>
15126
15127 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
15128
15129         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
15130         compile with unknown value of GDK_WINDOWING
15131
15132 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
15133
15134         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
15135         after the rule is fired.
15136         (install-exec-local): Install gdkconfig.h only if the contents are
15137         different from the currently installed gdkconfig.h.
15138
15139 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
15140
15141         * gdk/Makefile.am (configexecincludedir): Rename from 
15142         configincludedir so that gdkconfig.h will be installed 
15143         as part of `make install-exec'. 
15144
15145 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
15146
15147         * acinclude.m4
15148         * config.guess
15149         * config.sub
15150         * ltconfig
15151         * ltmain.sh: upgrade to libtool 1.2f
15152
15153         * autogen.sh: libtool is not required to autogen gtk+
15154
15155         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
15156         needed)
15157
15158 1999-03-18  Tor Lillqvist  <tml@iki.fi>
15159
15160         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
15161         declaring gdk variables exported/imported from the DLL. New image
15162         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
15163         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
15164         GDK_DRAG_PROTO_OLE2.
15165
15166         * gdk/gdk.h: Merge in Win32 version: Two new functions,
15167         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
15168         declared only for the Win32 version, but could be in the X11
15169         version as well. (Needed for a Xlib-less gdk_imlib.)
15170         gdk_color_hash should have only one parameter. Declare
15171         gdk_threads_mutex with GDKVAR.
15172         
15173         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
15174         just one parameter.
15175
15176         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
15177         per pixel, not bits.
15178
15179         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
15180         Fetch bpp (which means bits-per-pixel here) from another place on
15181         Win32. Accept also depth==32 (which we might get on Win32) with
15182         bpp==32.
15183
15184         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
15185         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
15186         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
15187         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
15188         in the backend-dependent directory, not in the common gdk
15189         directory.
15190
15191         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
15192         headers.
15193
15194 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
15195
15196         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
15197         want to use the Gtk+ devel version (which is true, and yes - even i am
15198         currently working with the 1.2.x branch). so everyone reading this, you
15199         probably want to issue
15200         cvs checkout -r glib-1-2 glib
15201         and
15202         cvs checkout -r gtk-1-2 gtk+
15203         as your next two comands.
15204
15205 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
15206
15207         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
15208         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
15209
15210         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
15211         file. strongly deprecated the GTK_HAVE_* macros, we provide
15212         GTK_CHECK_VERSION() for people that need to check for certain
15213         Gtk+ versions.
15214
15215         * gtk/gtkcompat.h: removed this from CVS.
15216         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
15217         idea right from the start, it just didn't seem like that back then.
15218
15219 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
15220
15221         * merges from gtk-1-2:
15222
15223 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
15224
15225         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
15226         item factory class has been created.
15227         (gtk_item_factory_parse_rc): likewise.
15228
15229         * gtk/gtkmenu.c:
15230         keep proper references for old_active_menu_item.
15231         (gtk_menu_reparent): unset the usize of the new parent,
15232         so the menu can sanely be size requested and we don't get nasty screen
15233         artefacts upon next reparentation.
15234         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
15235         enter notify. only synthesize enter notifies if the pointer really is
15236         inside the event window.
15237         (gtk_menu_popdown): use gtk_menu_shell_deselect().
15238         (gtk_menu_popup): move the background setting stuff into
15239         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
15240
15241         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
15242         gtk_menu_shell_select_item() to select the new item.
15243         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
15244         do the right thing for deselection as well.
15245
15246 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
15247
15248         * gtk/gtkwidget.[hc]:
15249         (gtk_widget_accelerators_locked): return whether a widget's accelerators
15250         are locked.
15251
15252         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
15253         existing accelerators if the widget's accelerators are locked.
15254
15255 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
15256
15257         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
15258
15259         * gtk/gtkmenu.c: truely forward key press and key release events to
15260         the menu widget from the toplevel or tearoff window. we can't simply
15261         connect to that, we need to stop further processing of the events as
15262         well.
15263
15264 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
15265
15266         * gtk/gtkmenu.c:
15267         (gtk_menu_key_press): pass event->keyval, event->state to
15268         gtk_accelerator_valid, instead of event->keyval twice.
15269         refuse to install single letter accelerators for menus that use
15270         single letter shortcuts.
15271
15272         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
15273         gtk_menu_ensure_uline_accel_group().
15274
15275         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
15276         which will always return an uline accel group, made
15277         gtk_menu_get_uline_accel_group() return NULL if the group isn't
15278         yet created.
15279
15280 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
15281
15282         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
15283
15284         * gtk/gtkclist.c (gtk_clist_column_title_passive):
15285         Leave button sensitive, trap  button_press, button_release,
15286         motion_notify, enter_notify and leave_notify events instead.
15287         (gtk_clist_column_title_active): disconnect event handler.
15288         (gtk_clist_drag_data_get): fixed memory leak. Reported by
15289         Guillaume Laurent <glaurent@worldnet.fr>
15290
15291 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
15292
15293         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
15294         width/height mixups.
15295
15296         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
15297         if needed.
15298
15299 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
15300
15301         * gtk/testgtk.c (create_item_factory): unref the item factory after
15302         window's destruction.
15303
15304         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
15305         count on the menu shell around the menu item's activation, since the
15306         signal emission may cause menu shell destruction.
15307
15308         * gtk/gtkitemfactory.c:
15309         the previous code leaked one accel group per menu. we use
15310         gtk_menu_get_uline_accel_group() now to fix that, and with that
15311         also create the underline accelerator group of the menus only if
15312         required (i.e. an underline accelerator has been specified).
15313         (gtk_item_factory_construct):
15314         (gtk_item_factory_create_item): removed code that would create an
15315         extra accel group for the menu (and leak references).
15316         (gtk_item_factory_create_item): adapted the underline accelerator
15317         installation code to properly feature gtk_menu_get_uline_accel_group().
15318
15319         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
15320         menu->accel_group, this may return NULL if the accelerator group
15321         hasn't been set yet.
15322         added gtk_menu_get_uline_accel_group() to retrive the underline
15323         accelerator group of the menu, this will be created on demand
15324         and proper care is taken about its reference count.
15325
15326         * gtk/gtkitemfactory.h:
15327         * gtk/gtkitemfactory.c:
15328         dumped the approach of keeping a widgets by action list on the
15329         factory since the factory<->widget destroy negotiation didn't work
15330         and would be hard to get going at all. instead we keep a list of
15331         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
15332         persistant throughout a program's life time).
15333         also, i removed the static const gchar *key_* variables, and made
15334         them inline strings (they weren't actually used anyways).
15335         (gtk_item_factory_add_item): update ifactory->items.
15336         (gtk_item_factory_destroy): destroy ifactory->items (and remove
15337         the item factory pointer from the remaining ifactory widgets).
15338         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
15339         list to find the widget.
15340         (gtk_item_factory_get_item): new function that works around
15341         gtk_item_factory_get_widget() limitations, this function will only
15342         return menu items, even for <Branch> entries.
15343
15344 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
15345
15346         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
15347         font hash table, if we have a GdkFontPrivate entry for this font
15348         already, simply increment its reference count, provided by Olaf Dietsche
15349         <olaf.dietsche+list.gtk@netcologne.de>.
15350
15351         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
15352         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
15353
15354 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
15355
15356         * gtk/gtkcontainer.c:
15357         (gtk_container_add_with_args):
15358         (gtk_container_addv):
15359         (gtk_container_add): before adding a child to a conatiner, make sure
15360         it is (default) constructed, this is neccessary because under certain
15361         circumstances the child will get relized and mapped immediatedly, in
15362         which case it has to be constructed already.
15363
15364 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
15365
15366         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
15367         values > 1 as TRUE also.
15368
15369 1999-03-16  Tor Lillqvist  <tml@iki.fi>
15370
15371         * README.win32: New file.
15372                 
15373         * configure.in: Check for lstat.
15374
15375         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
15376         completeness.
15377
15378         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
15379
15380         * gtk/gtk.def: Removed CRs.
15381
15382         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
15383         ..\gdk\win32).
15384
15385         * gdk/win32/makefile.msc: Correct upwards relative paths.
15386         
15387 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
15388
15389         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
15390           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
15391           it was connecting a void function to expose_event and the int
15392           returning function to the draw signal
15393
15394 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
15395
15396         * configure.in:
15397         Use correct path to libgmodule.la when ref'ing uninstalled copy
15398         of glib.  (Already in stable branch, Bug #417)
15399
15400 1999-03-15  Tor Lillqvist  <tml@iki.fi>
15401
15402         Win32 merge and general portability stuff:
15403                 
15404         * acconfig.h,configure.in: Check for <sys/time.h>.
15405
15406         * gdk/win32: New directory (actually, been there for a while).
15407         
15408         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
15409         NATIVE_WIN32, and use these. Always case fold on Win32. No
15410         backslashed escapes on native Win32.
15411
15412         * gtk/{gtk.def,makefile.msc}: New files.
15413
15414         * gtk/Makefile.am: Add above new files.
15415         
15416         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
15417         instead of <strings.h>.
15418
15419         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
15420         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
15421         <unistd.h> appropriately.
15422
15423         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
15424         Use ABS() (from <glib.h>) instead of abs().
15425         
15426         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
15427         of gtk (and thus glib) headers, so that WIN32 will be
15428         defined. With MS C, include <direct.h> for mkdir prototype.
15429
15430         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
15431         some casts, needed by MS C.
15432
15433         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
15434         implemented).
15435
15436         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
15437         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
15438         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
15439
15440         * gtk/gtkmain.h: Mark variables for export/import on Win32.
15441                 
15442         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
15443         the event is not a hint, or its window is not the slider. Needed
15444         on Win32, at least.
15445
15446         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
15447         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
15448         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
15449         a subdirectory of the Windows directory as gtk system
15450         configuration directory.
15451
15452         * gtk/gtkselection.c: No chunks on Win32.
15453
15454         * gtk/gtksocket.c: Not implemented on Win32.
15455
15456         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
15457
15458         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
15459
15460         * gtk/maketypes.awk: Declare variables with a macro that expands to
15461         necessary export/import magic in the case of Win32.
15462                 
15463         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
15464
15465 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
15466
15467         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
15468         since those were meant only for gdki18n.h.  
15469         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
15470         for widechar tests.
15471         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
15472
15473 1999-03-13  Tor Lillqvist  <tml@iki.fi>
15474
15475         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
15476         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
15477
15478         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
15479         installed) to CFLAGS.
15480
15481         * gdk/Makefile.am: Add rules for gdkconfig.h.
15482
15483         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
15484         APIs.
15485
15486         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
15487         gdkx.h anyway when compiling for X11.
15488         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
15489         general): Merge in Win32 version.
15490         
15491         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
15492         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
15493         expansion (if we don't have HAVE_PWD_H), allow for drive
15494         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
15495         included code from Craig Setera's port to Win32 (the one that uses
15496         X11, and the cygwin dll), even if it probably will be abandoned.
15497
15498         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
15499         the user entered one herself.  This way one can complete *.h and
15500         don't get matches on any .help files, for instance.
15501         
15502 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
15503
15504         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
15505         font hash table, if we have a GdkFontPrivate entry for this font
15506         already, simply increment its reference count, provided by Olaf Dietsche
15507         <olaf.dietsche+list.gtk@netcologne.de>.
15508
15509         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
15510         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
15511
15512 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
15513
15514         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
15515         the number of calls to gdk_draw_point() (and thus to X) by
15516         clipping the points by hand.
15517
15518         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
15519         the clip parameter.
15520         (gtk_handle_box_paint): Only paint the handle if the expose area
15521         intersects it.
15522
15523 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
15524
15525         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
15526
15527 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
15528
15529         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
15530         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
15531
15532 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
15533
15534         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
15535          textmode (O_TEXT) for OS/2 version.
15536
15537 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
15538
15539         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
15540         GtkSpinButton, "input" and "output", to make the output more flexible.
15541         The user has to provide a mapping between adjustment->value and the
15542         output string (and vice versa, if the spin button is editable). 
15543         See testgtk for examples.
15544
15545 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
15546
15547         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
15548         new one.
15549         
15550         * configure.in: set gtk+ version to 1.3.0.