]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-0
removed invalid multibyte sequence. fixed invalid end-of-line.
[~andy/gtk] / ChangeLog.pre-2-0
1 Thu Apr 26 19:11:46 2001  Jonathan Blandford  <jrb@redhat.com>
2
3         * gtk/gtktreeview.c (gtk_tree_view_motion): clean up column
4         dragging code.  Revealed some (potential) GdkWindow bugs.
5
6         * gdk/x11/gdkwindow-x11.c (gdk_window_reparent): add
7         _gdk_window_init_position to the end of reparent to fix the case
8         of reparenting when new_x != old_x and new_y != old_y.
9
10 Thu Apr 26 10:54:50 2001  Owen Taylor  <otaylor@redhat.com>
11
12         * gtk/gtkentry.c (strstr_len): Fix optimization that
13         was correct for the use here, but completely incorrect
14         in general.
15
16 Thu Apr 26 10:40:41 2001  Owen Taylor  <otaylor@redhat.com>
17
18         * gtk/gtkwindow.h: Remove deprecation of gtk_window_set_default_size()
19         until patch adding gtk_window_set_size() is recommitted. 
20
21         * **Makefile.am configure.in gdk/x11/gdkim-11.c
22           gtk/gtkmain.c gtk/gtkimmulticontext.c gtk/gtkmain.c
23           gtk/gtkrc.c: Remove all traces of -DX_LOCALE support.
24           (#10784)
25
26 Wed Apr 25 12:16:36 2001  Owen Taylor  <otaylor@redhat.com>
27
28         * gdk/X11/gdkevents-x11.c (gdk_event_translate): Test for 
29         window == NULL in a number of cases.
30
31         * tests/testdnd.c: Set module path for gdk-pixbuf.
32
33 Thu Apr 19 16:11:07 2001  Owen Taylor  <otaylor@redhat.com>
34
35         * gtk/Makefile.am xembed.h: File containing #defines
36         for XEMBED protocol.
37
38         * gtk/gtkplug.[ch] gtk/gtksocket.[ch]: 
39
40         - Change protocol from old plug/socket specific protocol
41           to XEMBED draft
42         - Various fixes to work with GTK+-2.0
43
44         Still quite a bit of work to do here to handle initiation
45         from the socket side (as specified by XEMBED), to handle
46         the more advanced features of XEMBED, and to figure out
47         a good way to handle same-app embedding with less overhead
48         than using full XEMBED.
49
50 Wed Apr 18 16:04:28 2001  Owen Taylor  <otaylor@redhat.com>
51
52         * gtk/gtkwindow.[ch] (gtk_window_real_set_focus): Keep
53         track of whether the toplevel has the focus; only send
54         focus-in events to the focus widget when the window
55         actually has the focus.
56
57 2001-04-25  Havoc Pennington  <hp@pobox.com>
58
59         * gtk/gtkwindow.h: set_decorations_hint and set_functions_hint
60         were still in the header
61
62 2001-04-24  Alexander Larsson  <alexl@redhat.com>
63
64         * gtk/gtkclist.[ch]:
65         * gtk/gtkctree.c:
66         When there is a row highlighted for D'n'D it must alse
67         be painted hightlighted on exposes. Otherwise exposes from
68         the icon being dragged will mess up the hightlight.
69
70         * gtk/gtkfontsel.c:
71         Don't recenter selected font when exposing the font family
72         clist. This means you can now actually scroll the font family
73         list.
74
75         * gtk/gtknotebook.c:
76         Fix focus movement on scrolling tabs that are placed on the left
77         and right.
78
79 2001-04-21  Havoc Pennington  <hp@pobox.com>
80
81         * gtk/gtktextdisplay.c (gtk_text_layout_draw): handle 0-height
82         empty/invisible lines.
83
84         * gtk/gtktextiter.c (gtk_text_iter_set_visible_line_offset)
85         (gtk_text_iter_set_visible_line_index): new functions to set
86         indexes excluding invisible text
87
88         * gtk/gtktextlayout.c (line_display_iter_to_index): get visible 
89         index
90
91         * gtk/gtktextiter.c (gtk_text_iter_get_visible_line_index)
92         (gtk_text_iter_get_visible_line_offset): new functions to 
93         get indexes excluding invisible text
94
95         * gtk/gtkmessagedialog.c (gtk_message_dialog_init): strip out a
96         bunch of extra padding that served no purpose
97
98         * gtk/gtkdialog.c: Make all the spacings configurable via style
99         properties, for chubbiness configuration in themes
100
101         * tests/testtext.c: fix path to the immodules.
102         
103 Mon Apr 23 18:57:03 2001  Jonathan Blandford  <jrb@redhat.com>
104
105         * gtk/gtksocket.c (gtk_socket_filter_func): add missing '}' that
106         got munched by #endif.
107
108         * gtk/Makefile.am (gtk_plug_c_sources): add missing '\'
109
110         * gtk/gtktreeview.c: Refactored code to clean up a number of
111         events.
112
113         * gtk/gtktreemodel.c (gtk_tree_path_compare): Switched return
114         values to make consistent with other functions.  Spotted by Jeff
115         Franks <jcf@tpg.com.au>.
116
117         * gtk/gtktreeview.h (struct _GtkTreeViewClass): Fixes to signal
118         declaration spotted by Jeff Franks <jcf@tpg.com.au>.
119
120 2001-04-23  Sven Neumann  <sven@gimp.org>
121
122         * gtk/Makefile.am
123         * gtk/gtkplug.c
124         * gtk/gtksocket.c: on request of Owen, reverted my last change 
125         and exclude gtkplug.c/gtksocket.c from the build for non-X11 targets
126
127 2001-04-23  Sven Neumann  <sven@gimp.org>
128
129         * gtk/gtkplug.c: put into #ifdef GDK_WINDOWING_X11 to make GTK+
130         compile for non-X11 targets again
131
132 2001-04-20  Alexander Larsson  <alexl@redhat.com>
133
134         * gtk/gtkcolorsel.[ch]:
135         API Change. Take GdkColor arguments instead of gdouble *.
136         Leave the old gtk_color_selection_set_color for compatibility,
137         but marked deprecated.
138         Do correct rounding when converting RGB <-> HSV.
139         
140         * gtk/gtkcolorseldialog.c:
141         * tests/testgtk.c:
142         Use new GtkColorSelection API.
143
144         * gtk/gtkhsv.c:
145         Fix problem selecting colors in triangle when Hue is 330.
146         Fix some black dots around the HSB triangle.
147         
148         * gtk/gtkfilesel.c:
149         return FALSE from the focus_in_event handler to fix focus problems.
150
151 2001-04-18  Havoc Pennington  <hp@redhat.com>
152
153         * gtk/gtkwindow.c (gtk_window_class_init): add signals and binding
154         set, so keybindings are configurable    
155         (gtk_window_activate_default): Change to activate the focus widget
156         instead if there's a focus widget, to be consistent with the
157         behavior that previously existed in key_press_event
158
159 2001-04-18  Havoc Pennington  <hp@redhat.com>
160
161         * gdk/gdkkeyuni.c: Handle numeric keypad keysyms; bug #50201
162
163 2001-04-18  Havoc Pennington  <hp@redhat.com>
164
165         Close bug #50615:
166         
167         * gtk/gtkstyle.c (gtk_default_draw_layout): Use text_gc to draw
168         the layout
169
170         * gtk/gtktext.c: Use base/text instead of bg/fg throughout
171
172         * gtk/gtkentry.c: Use base/text instead of bg/fg throughout
173
174         * gtk/gtktextdisplay.c: Use base/text instead of bg/fg throughout
175         
176         * gtk/gtkstyle.c (gtk_style_init): make GTK_STATE_SELECTED default
177         to blue for base, in addition to bg
178         
179 2001-04-18  Havoc Pennington  <hp@redhat.com>
180
181         * tests/testgtk.c (create_image): allow shrinking the image window
182         to test that we clip to allocation.
183
184         * gtk/gtkimage.c (gtk_image_expose): clip to allocation,
185         #9845
186
187         * gtk/gtkenums.h: move GtkWrapMode in here, #50472
188
189 Wed Apr 18 14:23:14 2001  Owen Taylor  <otaylor@redhat.com>
190
191         * gdk/x11/gdkimage-x11.c (gdk_image_new): Try changing
192         mode on shm segments to 0600. We'll see who complains.
193
194         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Call
195         _gdk_windowing_window_destroy() AFTER recursing through
196         children.
197
198         * tests/Makefile.am (noinst_PROGRAMS): Build testsocket,
199         testsocket_child on X.
200
201         * tests/testsocket[_child].c: Fix uses of
202         gtk_window_get_default_accel_group().
203
204         [ Merge patch from Ramiro Estrugo  <ramiro@eazel.com> from gtk-1-2 ]
205
206         * gdk/gdkimage.c: (gdk_image_get):
207         Deal with the possibility that XGetImage() might return NULL.
208         Allocate the GdkImagePrivate structure only after XGetImage()
209         succeeds in order not to dereference a NULL ximage pointer.  This
210         prevents a core dump when XGetImage() fails - which is unlikely,
211         but can happen due to race conditions accessing the geometries of
212         drawables.  An x error will still be triggered, but the gdk image
213         wrapper at least wont seg fault.
214         
215 2001-04-18  Havoc Pennington  <hp@redhat.com>
216
217         * gtk/gtkimage.c: fix to properly queue resizes when the image is
218         set
219
220         * gtk/gtktextview.c (gtk_text_view_do_popup): desensitize Paste
221         if the insertion point isn't editable
222
223         * demos/gtk-demo/images.c: Added a GtkImage demo
224
225         * demos/gtk-demo/drawingarea.c: drawing area demo
226         
227         * demos/gtk-demo/menus.c (create_menu): cleanups
228
229 Wed Apr 18 12:15:52 2001  Owen Taylor  <otaylor@redhat.com>
230
231         * gdk/x11/gdkwindow-x11.c gdk/x11/gdkwindow-x11.h 
232           gdk/x11/gdkevents-x11.c: Introduce an extra child
233         of toplevel windows that serves to hold the focus to
234         avoid events being delivered to embedded windows.
235
236         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Introduce
237         some extra variables to clean up code and reduce the
238         number of casts.
239
240         * gdk/x11/gdkwindow-x11.h (struct _GdkXPositionInfo): Use
241         guint for 1 bit bit fields, not gboolean.
242
243 Wed Apr 18 10:04:23 2001  Owen Taylor  <otaylor@redhat.com>
244
245         * gtk/gtktooltips.c (gtk_tooltips_paint_window): Return FALSE,
246         not TRUE. (Fixes #52925)
247
248 Tue Apr 17 18:05:34 2001  Owen Taylor  <otaylor@redhat.com>
249
250         * Released 1.3.4
251
252         * NEWS: Updated
253
254         * gtk/gtktextview.c (gtk_text_view_class_init): Fix to not
255         use GTK_TYPE_ENUM.
256
257 Tue Apr 17 13:47:12 2001  Owen Taylor  <otaylor@redhat.com>
258
259         * configure.in: Don't put -lgthread in GLIB_LIBS, GLIB_DEPLIBS
260
261         * gtk/gtktypeutils.h gtk/gtksignals.h: Restore proper parameter
262         names to compatibility #defines so docs work.
263
264         * gtk/gtkenums.h: Remove GtkMenuFactoryType
265
266         * gtk/gtkwindow.c gtk/gtkdnd.c: Docs cleanups.
267
268         * configure.in: Don't include -lgthread in GLIB_LIBS, GLIB_DEPLIBS
269
270         * tests/testgtkrc: No magenta cursors, please.
271
272         * README.in INSTALL.in HACKING README.cvs-commits: Updated.
273
274         * gtk/gtkenums.h (enum): Remove left over GtkMenuFactoryType.
275         
276 Mon Apr 16 14:38:41 2001  Owen Taylor  <otaylor@redhat.com>
277
278         * gtk/gtklist.c gtk/gtklistitem.c: Remove explicit pointer
279         grabs, since they are no longer necessary.
280
281         * gtk/gtkcombo.c (gtk_combo_popup_button_press): Fix #52926
282         by signal_connect() and call gtk_button_pressed() rather
283         than signal_connect_after().
284
285         * tests/testgtk.c: Restore radio menu items to combos 
286         since they'll look OK with Raleigh, and it is easier
287         than finishing the process of removing them that was
288         started earlier.
289
290 2001-04-16  Hans Breuer  <hans@breuer.org>
291
292         * gdk/gdk.def :
293         * gtk/gtk.def : added all exports required to link PyGtk 0.7.1
294
295         * gdk/gdkfont.h : #define GDK_TYPE gdk_font_get_type ()
296         we are interested in the functions return value not the function address
297         * gdk/gdkvisual.h : same for GDK_TYPE_VISUAL
298
299         * gtk/makefile.msc.in : reflect movement of GDK_TYPEs from gtk to gdk
300
301 2001-04-14  Hans Breuer  <hans@breuer.org>
302
303         * gdk/gdk.def :
304         * gdk/makefile.msc : updated
305
306         * gdk/win32/gdkdrawable.win32 (gdk_win32_draw_rectangle) : if modus is 
307         "fill with tile" do so with new helper function gdk_win32_draw_tiles 
308         (the testgtk::text backgound pixmap is drawn again)
309         Changed SetTextAlign before pango_win32_render to TA_BASELINE to reflect 
310         Win32 Pango change
311         * gdk/win32/gdkprivate-win32.h : prototype for gdk_win32_draw_tiles
312
313         * gdk/win32/gdkproperty-win32.c : first implementation of gdk_setting_get
314         Not sure if the returned settings have the right unit, because I couldn't
315         find any docs for the X version ...
316
317         * gtk/gtk.def :
318         * gtk/makefile.msc.in : updated
319
320 Thu Apr 12 17:41:17 2001  Owen Taylor  <otaylor@redhat.com>
321
322         * gtk-2.0.m4: Fix up to refer to GTK+, not to GLib; fix some
323         wording problems. (Compared to version from Johannes Stezenbach to
324         check correctness.)
325
326 Thu Apr 12 21:04:26 2001  Tim Janik  <timj@gtk.org>
327
328         * gtk/gtktreeview.c (_gtk_tree_view_column_start_drag): get
329         this to compile.
330
331 2001-04-12  Anders Carlsson  <andersca@codefactory.se>
332
333         * gtk/gtkcellrenderertextpixbuf.c (gtk_cell_renderer_text_pixbuf_class_init): It's pixbuf_pos,
334         not pixbufpos.
335
336         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): Fix small typo.
337
338         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property): xpad and ypad
339         are unsigned insts, therefore use g_value_set_uint.
340         (gtk_cell_renderer_set_property): Likewise, use g_value_get_uint.
341
342 Sun Apr  8 05:36:06 2001  Jonathan Blandford  <jrb@webwynk.net>
343
344         * gtk/gtktextview.c (gtk_text_view_class_init): fix a fixme.
345
346         * gtk/gtkcellrendertoggle.c: change GTK_TYPE_POINTER to
347         GTK_TYPE_STRING.
348
349         * gtk/gtktreeview.c: New functions to allow initial column
350         dragging work.
351
352         * gtk/gtktreeviewcolumn.c: Initial column dragging support.
353
354         * tests/testtreefocus.c: give dave some love.
355
356         * tests/testtreesort.c: Modify test to check really long samples.
357
358 2001-04-11  Alexander Larsson  <alexl@redhat.com>
359
360         * gtk-2.0.m4: Pass pkg-config options
361         before the other args so it works even if
362         POSIXLY_CORRECT is set.
363
364 Mon Apr  9 19:02:07 2001  Tim Janik  <timj@gtk.org>
365
366         * configure.in (GTK_MICRO_VERSION): increment version to 1.3.4 (binary
367         0, interface 0).
368
369 2001-04-04  Denis Oliver Kropp  <dok@convergence.de>
370
371         * gtk/gtkcalendar.c (gtk_calendar_button_press):
372         check for action_func != NULL
373
374 2001-04-04  Sven Neumann  <sven@gimp.org>
375
376         * tests/testgtk.c (test_init): corrected path to gtk.immodules
377
378 Wed Apr  4 09:18:18 2001  Tim Janik  <timj@gtk.org>
379
380         * Released Gtk+-1.3.3.
381
382 Wed Apr  4 07:42:23 2001  Tim Janik  <timj@gtk.org>
383
384         * gdk/Makefile.am (EXTRA_DIST): add makeenums.pl to EXTRA_DIST.
385
386 Wed Apr  4 04:13:18 2001  Tim Janik  <timj@gtk.org>
387
388         * gtk/stock-icons/Makefile.am: stay in builddir and read/write
389         files to/from source dir. (if we don't stay in builddir, we
390         can't reach make-inline-pixbuf.
391
392         * gdk/Makefile.am (gdkenumtypes.c): add $(srcdir) to mekeenums.pl
393         deps.
394
395         * configure.in (GTK_MICRO_VERSION): up and away (1.3.3 bin/interface
396         ages 0).
397
398 Tue Apr  3 15:04:45 2001  Jonathan Blandford  <jrb@redhat.com>
399
400         * gtk/gtktreemodelsort.h:  removed set_sort_column, as it was
401         moved to the GtkTreeSortable interface.
402
403         * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
404         Make more efficient (fixes #50262).
405
406 Tue Apr  3 13:55:37 2001  Owen Taylor  <otaylor@redhat.com>
407
408         * NEWS: Updated.
409
410         * configure.in: Remove support for uninstalled glib.
411
412         * gtk/gtkdnd.c (gtk_drag_highlight_expose): Return FALSE as
413         so as not to stop emission.
414
415         * gtk-config-2.0.in: Exit with an error message that gtk-config-2.0
416         is no longer supported.
417
418         * Makefile.am gtk/Makefile.am tests/*: Moved all tests
419         into tests, change build order to build modules before
420         gtk/.
421
422         * modules/input/Makefile.am: Move gtk-query-immodules-2.0 invocation
423         to here.
424
425 Tue Apr  3 13:52:57 2001  Tim Janik  <timj@gtk.org>
426
427         * gtk/gtkitemfactory.[hc]: changed gtk_item_factory_dump_items()
428         and gtk_item_factory_dump_rc() GtkPatternSpec argument to
429         GPatternSpec. this is actually unlikely to cause breakage in
430         third-party apps since except for gle, pretty much ever caller
431         passes NULL here.
432
433         * gtk/gtkbindings.[hc]: removed gtk_pattern_*() API.
434
435         * *.c: use g_pattern_*() API.
436
437         * docs/Changes-2.0.txt: GtkPatternSpec->GPatternSpec updates.
438
439         * gtk/gtkstyle.c (gtk_default_draw_resize_grip): assert unhandled
440         directions aren't passed in.
441
442         * gtk/gtksettings.[hc] (_gtk_settings_parse_convert): export conversion
443         functionality to be usable from gtkstyle.c as well, give precedence
444         for conversion to user-supplied parsers.
445         s/_gtk_rc_property_parser_for_type/_gtk_rc_property_parser_from_type/;
446
447         * gtk/gtkstyle.c (_gtk_style_peek_property_value): use
448         _gtk_settings_parse_convert() for rcporperty value conversion.
449
450 2001-04-03  Alexander Larsson  <alexl@redhat.com>
451
452         * gdk/linux-fb/gdkevents-fb.c:
453         Add empty gdk_setting_get().
454
455 Tue Apr  3 05:09:07 2001  Tim Janik  <timj@gtk.org>
456
457         * gtk/gtkmain.c (_gtk_boolean_handled_accumulator): use more elaborate
458         variable names.
459         
460         * gtk/makeenums.pl: touch this so enum files get remade.
461
462 Mon Apr  2 19:36:57 2001  Jonathan Blandford  <jrb@redhat.com>
463
464         * gtk/gtktreestore.c (gtk_tree_store_init):  Bug fix to make trees
465         work again when not sorted.
466
467         * gtk/gtktreeview.c (gtk_tree_view_class_init): Add "collapse_row"
468         and "expand_row" signal, closing bug 52578.
469
470         * gtk/gtktreeview.c (gtk_tree_view_expand_row): Add signal
471         support.
472
473         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): Add signal
474         support.
475
476 Mon Apr  2 18:18:07 2001  Owen Taylor  <otaylor@redhat.com>
477
478         * gdk/gdkevents.h: Add GdkEventSetting event for notification
479         of changes to system settings, gdk_setting_get() to retrieve
480         a single system setting.
481
482         * gdk/x11/gdkevents-x11.c: Bridge gdk_setting_get() and GdkEventSetting
483         to the draft XSETTINGS mechanism.
484
485         * gdk/x11/xsettings-{common,client}.[ch]: Sample-implementation of
486         XSETTINGS.
487
488         * gtk/gtkmain.c gtk/gtksettings.[ch]: Propagate notification
489         of GDK settings changes to the GtkSettings object.
490
491         * gdk/gdkevents.[ch] gdk/gtk/gtksettings.c: Hook up the
492         double-click-timeout property to GDK.
493
494         * gdk/gdkcolor.[ch] gdk/gdkvisual.h gdk/gdkevent.[ch] gdk/gdkfont.[ch]:
495         Define GDK boxed types here.
496
497         * gdk/Makefile.am gdk/makeenums.pl: Generate source files
498         gdk/gdkenumtypes.[ch] for enum definitions.
499
500         * gtk/gtkcompat.h: Add defines for GTK_TYPE_GDK_*
501         * gtk/gtk-boxed.defs: Comment out GDK types
502         * gtk/gtktypeutils.h: Remove GDK types
503         * gtk/Makefile.am: No longer scan GDK headers for enumerataions
504
505 Mon Apr  2 16:41:08 2001  Owen Taylor  <otaylor@redhat.com>
506
507         * Applied patch from Ron Steinke to add signal accumulators
508         so that signals with the convention 'TRUE return means
509         handled' stop emission on a TRUE return.
510
511         * gtk/gtkmain.[ch]: Add private accumulator 
512         _gtk_boolean_handled_accumulator, used throughout GTK+.
513         
514         * gtk/gtkspinbutton.c: Add accumulator for ::output.
515
516         * gtk/gtktipsquery.c: Add accumulator for ::widget_selected
517         
518         * gtk/gtkwidget.c: Add accumulators for event signals,
519         ::drag_motion, ::drag_drop. Use _gtk_boolean_handled_accumator
520         for ::mnemonic-activate.
521
522         * gtk/gtkwindow.c: Add accumulator for ::frame_event
523
524 Mon Apr  2 16:24:21 2001  Owen Taylor  <otaylor@redhat.com>
525
526         * gtk/gtkwidget.c: Add missing include.
527
528 Mon Apr  2 16:56:15 2001  Jonathan Blandford  <jrb@redhat.com>
529
530         * gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new
531         marshaller.
532
533         * gtk/gtktreemodel.c (gtk_tree_model_range_changed): change
534         "changed" signal to "range_changed".
535
536         * gtk/gtktreeview.c (gtk_tree_view_set_model): fix small bug where
537         removing a tree from one model would remove all trees from that
538         model.
539         * gtk/gtktreeview.c (gtk_tree_view_range_changed): use range
540         changed signal instead.
541
542 Mon Apr  2 16:13:58 2001  Owen Taylor  <otaylor@redhat.com>
543
544         * gtk/gtkinvisible.c (gtk_invisible_style_set): Avoid
545         chaining up to parent impl, since we have a INPUT_ONLY
546         window.
547
548         * gtk/gtkentry.[ch]: Add a cursor_color property to set the
549         foreground color for the cursor.
550
551 Mon Apr  2 15:06:13 2001  Owen Taylor  <otaylor@redhat.com>
552
553         * gtk/gtkstyle.c (_gtk_style_peek_property_value): Reference 
554         param spec when caching property values, since we unref it
555         later when we free the style.
556
557         * gtk/gtkoptionmenu.c (gtk_option_menu_get_props): Dont' free
558         values since they are retrieved with G_VALUE_NO_COPY_CONTENTS.
559
560 Mon Apr  2 10:47:57 2001  Owen Taylor  <otaylor@redhat.com>
561
562         * gtk/gtkwidget.c (gtk_widget_class_init): Fix 
563         G_VALUE_NO_COPY_CONTENTS instead of G_SIGNAL_TYPE_STATIC_SCOPE
564         stupidity.
565
566 Mon Apr  2 00:51:11 2001  Owen Taylor  <otaylor@redhat.com>
567
568         [ First pass at adding style properties. Still needs some definite
569         fine-tuning. ]
570
571         * gtk/gtkbutton.c: Add ::default_spacing style property.
572          
573         * gtk/gtkcheckbutton.[ch] gtkradiobutton.c: Add ::indicator_size,
574         ::indicator_spacing style properties.
575
576         * gtk/gtkoptionmenu.c: Add ::indicator_size, ::indicator_spacing
577         style properties.
578
579         * gtk/gtk{,h,v}paned.[ch]: Make handle_size a style property
580         rather than a normal property.
581
582         * gtk/gtkwidget.c: Add an ::interior_focus style property to
583         draw focus inside buttons, in the Windows/Java Metal/etc. style.
584
585         * gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtktogglenbutton.c:
586         Honor ::interior_focus.
587         
588         * gtk/gtkentry.c: Don't draw focus at all when ::interior_focus is 
589         TRUE.
590
591         * gtk/gtkrange.[ch] gtk/gtk{h,v}scrollbar.c gtk/gtk{h,v}scale.c:
592         Add ::slider_width, ::trough_border, ::stepper_size,
593         ::stepper_spacing style properties.
594
595         * gtk/gtkscale.[ch] Add ::slider-length style property.
596
597 2001-04-02 Alexander Larsson   <alexl@redhat.com>
598
599         * gdk/linux-fb/gdkwindow-fb.c:
600         Add gdk_window_begin_resize_drag and gdk_window_begin_move_drag. Remove some
601         warnings that were spewed on startup.
602
603         * gtk/gtkwindow-decorate.c:
604         gtk_window_reposition -> _gtk_window_reposition
605
606 Sun Apr  1 21:37:22 2001  Owen Taylor  <otaylor@redhat.com>
607
608         * gtk/gtkwidget.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
609         Add boxed type for GtkRequistion. Use it for ::size-request.
610
611         * gtk/gtkstyle.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
612         Add a new GtkBorder structure useful for geometry properties
613         for widgets. Add corresponding GTK_TYPE_BORDER.
614         
615         * gtk/gtkwidget.c (gtk_widget_class_install_style_property):
616         Support automatic parser selection like
617         gtk_settings_install_property_parser().
618
619         * gtk/gtksettings.c (_gtk_rc_property_select_parser): Export
620         functionality for use by gtk_widget_class_install_style_property.
621         Support GTK_TYPE_BORDER, GTK_TYPE_REQUISITION.
622
623 Sun Apr  1 20:48:59 2001  Owen Taylor  <otaylor@redhat.com>
624
625         * gtk/gtkentry.c (gtk_entry_class_init): Make invisible-char
626         g_param_spec_unichar(). 
627
628 Sun Apr  1 23:41:37 2001  Tim Janik  <timj@gtk.org>
629
630         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): raise window for non
631         _NET window managers.
632
633         * gtk/gtkmenufactory.[hc]: cvs removed those files now.
634
635 Sun Apr  1 08:00:13 2001  Tim Janik  <timj@gtk.org>
636
637         * gtk/gtkwidget.[hc]: got rid of gtk_widget_popup(), a function that
638         bad needs to be nuked, not just deprecated.
639
640         * gtk/gtktooltips.c (gtk_tooltips_draw_tips): don't use 
641         gtk_widget_popup().
642
643         * gtk/*.[hc]: s/activate_mnemonic/mnemonic_activate/g;
644         
645         * gtk/gtkmenufactory.[hc]: removed this long-standingly deprecated
646         widget.
647         
648         * docs/Changes-2.0.txt: updates.
649         
650 Sun Apr  1 01:02:54 2001  Jonathan Blandford  <jrb@redhat.com>
651
652         * gtk/gtktreestore.c (gtk_tree_store_sort_iter_changed):
653         for (i = 0; i < 100; i ++)
654           g_print ("I will confirm it compile before committing\n");
655
656 Sun Apr  1 00:52:06 2001  Jonathan Blandford  <jrb@redhat.com>
657
658         * gtk/gtktreestore.c: Initial work on implementing the
659         GtkTreeSortable interface.  Basicaly a big cut'n'paste job.
660
661 Sun Apr  1 03:28:14 2001  Tim Janik  <timj@gtk.org>
662
663         * gtk/gtkwidget.c: fixed a bunch of notifications, added
664         reference counts around emissions where the widget is used afterwards.
665         added freeze/thaws around multiple properties being notified.
666         (_gtk_widget_get_aux_info): cleanups.
667         
668         * gtk/gtksettings.c (gtk_settings_install_property): provide
669         default parsing functions for gdkcolor, enums and flags.
670
671         * gtk/gtkwindow.[hc]: partially reverted patch from havoc,
672         applied by owen.
673         backed out gtk_window_get_location(), gtk_window_set_location(),
674         gtk_window_get_size() and gtk_window_set_size(), these
675         have to be sorted out wrg x/y/width/height/default_with/default_height
676         properties.
677         kept a flag in GtkWindowGeometryInfo to handle user
678         resetting default sizes.
679         cleaned up ZVT comments.
680         bunch of assorted bug fixes, notification fixes.
681         (_gtk_window_reposition): make this a really internal function.
682         
683         * gtk/testgtk.c: fixups.
684         
685 2001-03-31  Hans Breuer  <hans@breuer.org>
686
687         * config.h.win32.in : disable USE_MMX for msvc build cause
688         the assembler doesn't fit and is out of my scope. Disable
689         USE_GMODULE for msvc build as wel. The right way to share
690         binaries on win32 would be to use libtiff.dll etc. To reduce
691         installation hassles IMO it's better to include all fileformats
692         builtin to gdk-pixbuf
693
694         * gdk-pixbuf/makefile.msc : new file
695
696         * gdk/gdk.def : updated
697
698         * gdk/win32/gdkevents-win32.c : don't erase the background if
699         .no_bg is set. It improves the scrolling (e.g. of testgtk main
700         buttons
701         * gdk/win32/gdkgeometry-win32.c : added comment about the above
702
703         * gdk/win32/gdkwindow-win32.c : added three new functions like
704         the X version. Only one is implemented, because the other two
705         "gdk_window_begin_(resize|move)_drag" got no docs and appear to
706         be default behaviour on win32 anyway ...
707
708         * gtk/gtk.def : updated
709
710         * gtk/makefile.msc.in : update for new files, use glib-genmarshal
711         from where it was built and add an additional rule to automagically
712         build gtkmarshal.[hc]
713
714         * gtk/gtkfilesel.c (open_new_dir) : don't increase n_entries
715         before array access for the current entry isn't finished
716
717         * gtk/gtktreeitem.c (gtk_tree_item_subtree_button_click) :
718         use g_return_val_if_fail
719
720         * gtk/testgtk.c (window_controls) : don't use the *wrong* size
721         for the static array, but let the compiler calculate it. It
722         makes me wonder if gcc isn't capable to catch bugs like this ...
723
724 2001-03-31  James Henstridge  <james@daa.com.au>
725
726         * gtk/gtkwidget.c (gtk_widget_size_adjust): fix use of magic
727         constant "-1" in the aux info structure.
728
729 2001-03-30  Alexander Larsson  <alexl@redhat.com>
730
731         * gtk/gtkbutton.c (gtk_button_get_property):
732         * gtk/gtklabel.c:
733         Remove leaks.
734         
735         * gtk/gtkcontainer.c:
736         * gtk/gtkhscale.c:
737         * gtk/gtkhscrollbar.c:
738         * gtk/gtklayout.c:
739         * gtk/gtkmisc.c:
740         * gtk/gtkprogress.c:
741         * gtk/gtkprogressbar.c:
742         * gtk/gtkrange.c:
743         * gtk/gtktable.c:
744         * gtk/gtkviewport.c:
745         * gtk/gtkvscale.c:
746         * gtk/gtkvscrollbar.c:
747         * gtk/gtkwidget.c:
748         Property patches, based on patches from John Margaglione and Lee Mallabone.
749
750 Thu Mar 29 21:20:38 2001  Mike Kestner  <mkestner@ameritech.net>
751
752         * gtk/gtkspinbutton.c : added value_changed signal which proxies for the
753         adjustment. Cleaned redundant preconditions (spin != NULL). Added
754         inline API function docs.
755         (gtk_spin_button_new_with_range): New convenience constructor.
756         (gtk_spin_button_set_increments): New adjustment helper.
757         (gtk_spin_button_set_range): New adjustment helper.
758
759         * gtk/testgtk.c : added test of the new convenince constructor and
760         value_changed signals.
761
762 Thu Mar 29 20:20:38 2001  Jonathan Blandford  <jrb@redhat.com>
763
764         * gtk/gtktreemodel.c (gtk_tree_row_ref_reordered_callback): Now we
765         listen to the reorder signal.
766
767 Wed Mar 28 20:30:26 2001  Owen Taylor  <otaylor@redhat.com>
768
769         * gtk/gtkwidget.[ch] (_gtk_widget_get_aux_info): Add private function
770         to get the aux info structure fo the widget.
771
772         * gtk/gtklabel.c gtk/gtkscrolledwindow.c gtk/gtkwindow.c: Use
773         above function.
774
775         [ Patch from  Havoc Pennington  <hp@redhat.com> ]
776
777         * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): function
778         to get the size of the window manager frame, basically the same
779         code that gdk_window_get_root_origin() had
780         (gdk_window_get_root_origin): use gdk_window_get_frame_extents()
781
782         * gtk/gtkwindow.c (gtk_window_set_default_size): use
783         gdk_window_resize() if the window is realized and resizeable
784
785         * gdk/x11/gdkwindow-x11.c (gdk_window_set_geometry_hints): fix
786         typo so that setting gravity works
787
788         * gtk/gtkwindow.c (gtk_window_move_resize): don't ever use
789         allocation if auto_shrink is on, even if the default size
790         has not changed.
791
792         * gtk/gtkwidget.c (gtk_widget_render_icon): remove bogus
793         g_return_if_fail
794
795 Thu Mar 29 16:29:12 2001  Jonathan Blandford  <jrb@redhat.com>
796
797         * gtk/gtkliststore.c (gtk_list_store_iter_changed): Massive
798         reordering/sorting work.  Now pretty much works.
799
800         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): Lots of work to make
801         reorder mostly work.  Still need to get the parity correct.
802
803         * gtk/gtktreeviewcolumn.c: Listen for "model" property changed
804         signal, so I can listen for the sort_column_changed signal so I
805         can change my "sort_indicator" property.  Cool.
806
807 Wed Mar 28 00:03:10 2001  Owen Taylor  <otaylor@redhat.com>
808
809         [ Patch from Havoc Pennington, hp@redhat.com ]
810
811         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c:
812         Add functions gdk_window_begin_resize_drag/begin_move_drag
813         to start resizing or moving a toplevel window. This
814         is done either using the _NET_WM_MOVERESIZE protocol,
815         or, if that isn't present, by emulation.
816
817         * gtk/gtkwindow.[ch]: Add functions gtk_begin_move/resize_drag
818         to export the above to GTK+-land.
819
820         * gtk/gtkstyle.[ch]: Add ->draw_resize_grip() paint func.
821         
822         * gtk/gtkwindow.c gdk/gdkwindow.[ch] (gdk_window_constrain_size):
823         Move this function into gdkwindow, since we need it
824         when implementing fallback resizing.
825
826         * gdk/x11/gdkwindow-x11.c: gdk_window_set_geometry_hints.
827         Fix typo when setting gravity.
828
829         * gtk/gtkstatusbar.[ch] (gtk_statusbar_set_has_resize_grip):
830         Add an optional (but on by default) resize grip for resizing 
831         the parent window.
832
833 01-03-29  Alexander Larsson  <alexl@redhat.com>
834
835         * gtk/gtktooltips.c (gtk_tooltips_event_handler):
836         Don't return TRUE from the event handler, that blocks all
837         event signals on the tooltip widget. Now you can press buttons
838         in toolbars again.
839
840 Wed Mar 28 19:20:43 2001  Owen Taylor  <otaylor@redhat.com>
841
842         * gtk/testtext.c (create_buffer): Add missing NULL on
843         valist.
844
845         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Fix
846         c-n-p problem with INCONSISTENT property.
847
848         [ Patch from Havoc Pennington  <hp@redhat.com> ]
849
850         * gtk/gtkentry.h (struct _GtkEntryClass): add same populate_popup
851         hook.
852
853         * gtk/gtktextview.h (struct _GtkTextViewClass): add populate_popup
854         signal as a hook for extending the default popup menu
855
856         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
857         use radio menu items for the input method menuitems
858
859         * gtk/gtkimcontextsimple.c (check_hex): do better validation of 
860         inserted unicode from Ctrl-Shift-hex input method
861
862         * gtk/gtktextbtree.c (_gtk_text_btree_insert): remove utf8
863         validatation here, already done at GtkTextBuffer level.
864
865         * gtk/gtkwidget.c (gtk_widget_class_init): add binding set, add
866         popup_menu run action signal and Shift+F10 and Menu keybindings.
867
868         * gtk/gtkentry.c: implement a default handler for popup_menu
869
870         * gtk/gtktextview.c: implement a default handler for popup_menu
871
872         * gtk/gtkmenu.c (gtk_menu_popup): select first item if popup is
873         from a key event
874         
875         * gtk/gtklabel.c: remove "trailer" cruft
876
877 Wed Mar 28 17:27:12 2001  Jonathan Blandford  <jrb@redhat.com>
878
879         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): new function to
880         handle reordering of trees.  Seems to mostly work w/ the exception
881         of the parity flag.
882
883         * gtk/gtktreeview.c (gtk_tree_view_reordered): handle "reordered"
884         signal.
885
886 Wed Mar 28 21:12:37 2001  Tim Janik  <timj@gtk.org>
887
888         * gtk/gtkwidget.h: c++ fixes.
889
890 Sun Mar 25 15:51:28 2001  Owen Taylor  <otaylor@redhat.com>
891
892         * gtk/gtksettings.c (gtk_settings_init): Fix use of uninitialized
893         memory.
894
895 Tue Mar 27 22:36:07 2001  Owen Taylor  <otaylor@redhat.com>
896
897         * gtk/gtkwidget.h gtk/gtkrange.h: Apply patch from 
898         Nils Barth fixing event return values. (#51041)
899
900         * gtk/gtkwidget.c: Fix some return values for default
901         functions.
902
903         * gtk/gtk[vh]scrollbar.c gtk/gtk[vh]range.c: Fix
904         return values for trough_keys functions.
905
906         * gtk/gtkwidget.h (struct _GtkWidgetClass): Fix return
907         value for add_accelerator (shoudl have been a void
908         return.)
909
910         * gtk/gtkcellrenderer.[ch]: gtkcellrenderertoggle.h:
911         Fix return type of EVENT.
912
913         * gtk/gtkmarshal.list gtk/gtktexttag.c: Make EVENT
914         signal return a boolean.
915
916 Tue Mar 27 22:07:44 2001  Jonathan Blandford  <jrb@redhat.com>
917
918         * gtk/gtkliststore.c (gtk_list_store_sort): Fix arguments to
919         reordered signal.
920
921         * tests/testtreesort.c (main): fix spelling.
922
923 Tue Mar 27 20:55:29 2001  Jonathan Blandford  <jrb@redhat.com>
924
925         * gtk/gtkliststore.c: More work on implementing sortable
926         interface.
927
928 Mon Mar 26 15:48:45 2001  Owen Taylor  <otaylor@redhat.com>
929
930         * gtk/gtkwindow.c (gtk_window_list_toplevels): Don't
931         reference the widgets in the resulting list. (#11821)
932         This makes this consistent with gtk_container_children.
933
934         * gtk/gtkwindow.c gtk/gtkwidget.c: Fix up the two
935         uses of gtk_window_list_toplevels.
936
937 Mon Mar 26 15:26:17 2001  Owen Taylor  <otaylor@redhat.com>
938
939         * gtk/gtkimcontext.c (gtk_im_context_set_use_preedit): Add
940         a virtual function to set whether the IM context should use 
941         the preedit string. (#51922)
942         
943 Mon Mar 26 14:42:59 2001  Owen Taylor  <otaylor@redhat.com>
944
945         * gdk/gdkpango.h: Remove stale FIXME comment.
946
947 2001-03-26  Alexander Larsson  <alla@lysator.liu.se>
948
949         * gtk/gtkfilesel.c (gtk_file_selection_get_filename):
950         Fixed bug that returned NULL if a filename was selected.
951
952 2001-03-24  Havoc Pennington  <hp@pobox.com>
953
954         * gtk/gtkthemes.c (gtk_theme_engine_load): improve error message
955         to contain the word "theme"
956
957 2001-03-24  Havoc Pennington  <hp@pobox.com>
958
959         * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much
960         slower but finer-grained
961         (gtk_hsv_focus): get initial focus on the ring or triangle 
962         according to tab direction
963
964         * gtk/testgtk.c (main): get rid of weird sleep(1) on exit
965
966 2001-03-23  Havoc Pennington  <hp@pobox.com>
967
968         * gtk/gtkhsv.c: make this somewhat key-navigable
969
970         * gtk/gtkfontsel.c: mnemonics
971
972         * gtk/gtkgamma.c: mnemonics
973
974         * gtk/gtkcolorsel.c: add mnemonics to labels
975
976 2001-03-22  Havoc Pennington  <hp@pobox.com>
977
978         Applied big patch from Seth Lytle to fix event handler return
979         values, slightly modified.
980
981         * gtk/gtkcalendar.c (gtk_calendar_button_press): return TRUE if
982         handled.
983         (gtk_calendar_key_press): return TRUE for GDK_space triggers
984         select_day
985
986         * gtk/gtkclist.c (gtk_clist_button_press): return TRUE if handled
987         (gtk_clist_button_release): return TRUE if handled
988
989         * gtk/gtkcolorsel.c (mouse_release):
990         (palette_activate): 
991         (palette_press): 
992         (palette_new): 
993         (mouse_press): 
994         (get_screen_color): 
995         fixed return type (void to gboolean), return TRUE,
996         added GTK_SIGNAL_FUNC cast
997
998         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fixed return type
999         (void to gboolean), and return TRUE
1000         (gtk_combo_button_release): changed return value to TRUE after
1001         gtk_grab_add on combo->popwin
1002
1003         * gtk/gtkctree.c (gtk_ctree_button_press): return TRUE if triggers a
1004         collapse or expand
1005
1006         * gtk/gtkcurve.c (gtk_curve_graph_events): return TRUE for
1007         button/motion
1008
1009         * gtk/gtkdnd.c (gtk_drag_source_event_cb): return TRUE for button
1010         press/release and motion that trigger act
1011
1012         * gtk/gtkentry.c (gtk_entry_button_release): return TRUE
1013
1014         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): return TRUE
1015         for GDK_Return
1016         
1017         * gtk/gtklist.c (gtk_list_button_press): return TRUE mostly
1018         (gtk_list_button_release): return TRUE if selection
1019
1020         * gtk/gtklistitem.c (gtk_list_item_button_press): return TRUE on
1021         press
1022
1023         * gtk/gtkmenushell.c (gtk_menu_shell_button_press):
1024         (gtk_menu_shell_button_release): chain parent_menu_shell retval
1025
1026         * gtk/gtknotebook.c (gtk_notebook_button_press): return FALSE if
1027         nothing triggered
1028         (gtk_notebook_button_release): return TRUE if we do anything
1029
1030         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): 
1031         (gtk_spin_button_button_release): return TRUE or chained retval
1032
1033         * gtk/gtktext.c (gtk_text_button_press): 
1034         (gtk_text_button_release): return TRUE
1035         (gtk_text_key_press): remove redundant retval code
1036         
1037         * gtk/gtktreeitem.c (gtk_tree_item_button_press): return TRUE if button
1038         and sensitive
1039         (gtk_tree_item_subtree_button_click): changed type to gint, and return
1040         TRUE if sensitive
1041
1042         * gtk/gtktooltips.c (gtk_tooltips_event_handler): deactivate implies 
1043         return TRUE
1044
1045 2001-03-23  Havoc Pennington  <hp@redhat.com>
1046
1047         * gtk/testgtk.c: fix warnings
1048
1049         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): fix return value
1050
1051         * gtk/gtktextview.c: fix warnings
1052
1053         * gtk/gtktext.c (find_cursor_at_line): fix warning
1054
1055         * gtk/gtkselection.c (gtk_selection_notify): fix warning 
1056
1057         * gtk/gtkitemfactory.c (gtk_item_factory_menu_pos): fix signature
1058         of this function
1059
1060         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
1061         fix warning
1062
1063         * gtk/gtkhandlebox.c (gtk_handle_box_style_set): fix warning
1064
1065         * gtk/gtkfontsel.c: fix warning
1066
1067         * gtk/gtkcolorsel.c: fix warnings
1068
1069 2001-03-23  Havoc Pennington  <hp@redhat.com>
1070
1071         * gtk/gtkhandlebox.c: Apply property patch from Lee Mallabone
1072
1073         * gtk/gtkbox.c: Apply property patch from Lee Mallabone
1074
1075         * gtk/gtkcheckmenuitem.c: Apply property patch from Lee Mallabone,
1076         and deprecated gtk_check_menu_item_set_show_toggle().
1077         
1078         * gtk/gtkbutton.c: Apply property patch from Lee Mallabone
1079
1080         * gtk/gtkfilesel.c: Apply property patch from Lee Mallabone
1081
1082         * gtk/gtkframe.c: Apply property patch from Lee Mallabone
1083
1084 2001-03-23  Havoc Pennington  <hp@redhat.com>
1085
1086         * gtk/gtktoolbar.c, gtk/gtkimcontext.c, gtk/gtklabel.c: fix up
1087         some docs
1088
1089 Fri Mar 23 16:13:43 2001  Jonathan Blandford  <jrb@redhat.com>
1090
1091         * gtk/gtktreeviewcolumn.h (GtkCellDataFunc): Forgot to namespace
1092         this.
1093
1094         * gtk/gtktreestore.c (gtk_tree_store_set_value): change from
1095         set_cell to set_value
1096
1097         * gtk/gtkliststore.c (gtk_list_store_set_value): change from
1098         set_cell to set_value
1099
1100 Thu Mar 22 19:27:34 2001  Jonathan Blandford  <jrb@redhat.com>
1101
1102         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
1103         fix braino.
1104         * gtk/gtktreesortable.[ch]: New interface to add cleanup sortable
1105         support.
1106
1107         * gtk/gtktreeview.c: Addition of initial sortable support.
1108
1109         * gtk/gtktreestore.c: Addition of initial sortable support.
1110
1111         * gtk/gtkliststore.c: Addition of initial sortable support.
1112
1113         * gtk/gtkmarshal.list: yet another marshaller.
1114
1115         * gtk/gtktreedatallist.[ch]: shared code between the store models
1116         for handling sorting headers.
1117
1118 2001-03-22  Havoc Pennington  <hp@redhat.com>
1119
1120         * gtk/gtkcontainer.c (gtk_container_set_focus_chain): 
1121         (gtk_container_unset_focus_chain): Add ability to override the 
1122         focus chain for a container explicitly
1123
1124 Thu Mar 22 13:01:44 2001  Tim Janik  <timj@gtk.org>
1125
1126         * gtk/gtklabel.[hc]: some cleanups, fixed mnemonic_widget handling,
1127         added PROP_MNEMONIC_WIDGET.
1128
1129         * gtk/gtkwindow.c (gtk_window_activate_mnemonic): 
1130         (gtk_window_remove_mnemonic): 
1131         (gtk_window_add_mnemonic): fixed assertions.
1132         (gtk_window_activate_mnemonic): constrain modifier checks to those
1133         permitted by gtk_accelerator_get_default_mod_mask().
1134         got rid of gtk_window_get_default_accel_group().
1135
1136         * gtk/gtkwidget.c (gtk_widget_real_activate_mnemonic): handle non
1137         activatable widgets either by focussing or a warning.
1138         added a signal accumulator to ::activate_mnemonic which stops the
1139         emission once a handler returned TRUE.
1140
1141 2001-03-22  Havoc Pennington  <hp@pobox.com>
1142
1143         * gtk/gtktoolbar.c (gtk_toolbar_insert_stock): handle mnemonics in
1144         the stock item label
1145
1146         * gtk/gtklabel.c: s/@gtk_func/gtk_func()/ in docs
1147
1148         * gtk/gtkstock.c (builtin_items): add mnemonics where missing
1149
1150         * demos/gtk-demo/*.c: Add mnemonics all over the place
1151
1152         * gtk/gtklabel.h: mark parse_uline deprecated
1153
1154 2001-03-21  Alexander Larsson  <alexl@redhat.com>
1155
1156         * gtk/gtkitemfactory.[ch]:
1157         Add support for stock and normal imagemenuitems.
1158         
1159         * gtk/testgtk.c:
1160         Add some tests for mnemonics, stock toolbars, stock
1161         and image menuitems in itemfactory and gdk_window_scroll.
1162
1163 2001-03-21  Alexander Larsson  <alexl@redhat.com>
1164
1165         * gtk/gtkbutton.[ch]:
1166         * gtk/gtkdialog.c:
1167         Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and
1168         removed accel_group argument. Renamed gtk_button_new_accel() to
1169         gtk_button_new_with_mnemonic() and removed accel_group argument.
1170
1171         * gtk/gtkcheckbutton.[ch]:
1172         New function gtk_check_button_new_with_mnemonic().
1173
1174         * gtk/gtkentry.c:
1175         Override activate_mnemonic and just grab focus.
1176
1177         * gtk/gtkitemfactory.c:
1178         Don't add menu uline accel group, instead use mnemonics support.
1179
1180         * gtk/gtklabel.[ch]:
1181         New support for mnemonics.
1182
1183         * gtk/gtkmarshal.list:
1184         Needed BOOLEAN:BOOLEAN for activate_mnemonic.
1185
1186         * gtk/gtkmenu.[c]:
1187         * gtkmenushell.c:
1188         Use mnemonics instead of accel groups for uline
1189         support in menu items.
1190         Removed gtk_menu_get_uline_accel_group() and
1191         gtk_menu_ensure_uline_accel_group().
1192
1193         * gtk/gtkmenuitem.c:
1194         Override activate_mnemonic to handle switching between
1195         menu items if there are collisions.
1196         
1197         * gtk/gtknotebook.c:
1198         Connect to activate_mnemonic on the tab_label, so that
1199         activating it switches to that notebook page.
1200
1201         * gtk/gtkwidget.[ch]:
1202         Add activate_mnemonic signal. New function
1203         gtk_widget_activate_mnemonic() to emit it.
1204         Default implementation does activate/grab_focus.
1205
1206         * gtk/gtkwindow.[ch]:
1207         Add support for mnemonics in windows.
1208         New functions:
1209         gtk_window_add_mnemonic, gtk_window_remove_mnemonic,
1210         gtk_window_activate_mnemonic, gtk_window_set_mnemonic_modifier
1211
1212         * gtk/testgtk.c:
1213         Update to function name changes.
1214         
1215 2001-03-21  Alexander Larsson  <alexl@redhat.com>
1216
1217         * gtk/gtkimagemenuitem.[c]:
1218         Add gtk_image_menu_item_new_from_stock()
1219
1220 Tue Mar 20 15:00:43 2001  Jonathan Blandford  <jrb@redhat.com>
1221
1222         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
1223         Fix buglet in meeting.
1224
1225 2001-03-19  Havoc Pennington  <hp@redhat.com>
1226
1227         * gtk/gtkiconfactory.c: Make GtkIconSource an opaque datatype, and
1228         add a bunch of accessor functions. This is because we have
1229         reasonable expectations of extending what fields it contains in
1230         the future.
1231
1232         * gtk/gtkstyle.c (gtk_default_render_icon): adapt to icon source
1233         changes
1234
1235         * gtk/gtkrc.c (gtk_rc_parse_icon_source): fix to use new
1236         GtkIconSource   
1237
1238 Mon Mar 19 15:53:36 2001  Owen Taylor  <otaylor@redhat.com>
1239
1240         * gtk/gtkitemfactory.c gtk/testgtk.c: Handle quoting of / with \; properly
1241         handle __ in paths, quote " and \n in gtk_item_factory_dump_items().
1242
1243         * gtk/gtkadjustment.[ch] gtk/gtkclist.c gtk/gtkhruler.c gtk/gtklayout.c 
1244           gtk/gtklist.c gtk/gtkprogress.[ch] gtk/gtkprogressbar.[ch] gtk/gtkrange.[ch]
1245           gtk/gtkruler.[ch] gtk/gtkscale.c gtk/gtkscrolledwindow.c gtk/gtkspinbutton.[ch]
1246           gtk/gtktext.c gtk/gtktextview.c gtk/gtkvruler.c gtk/testgtk.c:
1247         Change float to double everywhere with the exception of 0<->1.0 alignment
1248         and GtkCurve.
1249
1250 2001-03-19  Tor Lillqvist  <tml@iki.fi>
1251
1252         * gdk/win32/gdkdrawable-win32.c
1253         * gdk/win32/gdkimage-win32.c: Use correct casts in debugging
1254         output.
1255
1256         * demos/testpixbuf-drawable.c: If GDK_WINDOWING_WIN32, include
1257         gdkwin32.h.
1258
1259 2001-03-18  Tor Lillqvist  <tml@iki.fi>
1260
1261         * gdk/win32/gdkevents-win32.c (print_window_state): New function.
1262         print_event_state, print_event): Use preprocessor macro to make
1263         code more compact. Print also GDK_WINDOW_STATE events.
1264         (synthesize_crossing_events): Remove the old #ifdeffed-out code.
1265         
1266         * gtk/gtk.def
1267         * gtk/makefile.mingw.in: Update.
1268
1269         * gtk/gtkmain.h: Check for G_PLATFORM_WIN32, not only G_OS_WIN32,
1270         to catch also Cygwin.
1271
1272 Sun Mar 18 01:15:30 2001  Tim Janik  <timj@gtk.org>
1273
1274         * gtk/gtkspinbutton.[hc]: added rc-style argument
1275         GtkSpinButton::shadow_type.
1276         removed spin_button->shadow_type, gtk_spin_button_set_shadow_type()
1277         and ARG_SHADOW_TYPE as it doesn' make much sense to try to override
1278         rc-style settings.
1279
1280         * gtk/gtkfixed.c: removed gtk_fixed_paint() (was unused).
1281
1282         * gtk/gtkwidget.c: quark cleanups.
1283
1284         * gtk/gtkrc.[hc]: added gtk_rc_scanner_new() to create an rc-file
1285         scanner with appropriate configuration, renamed GtkRcStyleClass.clone
1286         to create_rc_style() (we don't do cloning in standard OO sense).
1287         added per rc style properties.
1288         
1289         * gtk/gtkstyle.[hc]: added code to retrive pspec conformant rc-style
1290         property values and for caching those. some cleanups.
1291         
1292         * gtk/Makefile.am: -DG_DISABLE_CONST_RETURNS.
1293         
1294         * gtk/gtksettings.[hc]: new file for global rc-file properties
1295         (at least currently, should get extended to support X properties
1296         and other communication mechanisms).
1297         
1298         * gtk/gtkwidget.[hc]: added style property support:
1299         (gtk_widget_class_install_style_property_parser): install style
1300         property pspec with parser function for rc-file values other
1301         than LONG, DOUBLE or STRING.
1302         (gtk_widget_class_install_style_property): same as above without
1303         parser (parsers are going to be needed quite infrequently).
1304         (gtk_widget_style_get_property): retrive style property value.
1305         (gtk_widget_style_get_valist): same as above with varargs support,
1306         has NOCOPY semantics.
1307         (gtk_widget_style_get): wrapper around gtk_widget_style_get_valist().
1308
1309 Fri Mar 16 18:24:53 2001  Jonathan Blandford  <jrb@redhat.com>
1310
1311         * demos/gtk-demo/main.c (row_activated_cb): modified to use
1312         "row_activated" signal.
1313
1314         * gtk/gtktreeview.c (gtk_tree_view_row_activated): oh, the
1315         stupidity.  Lets actually pass in the row with this signal...
1316
1317 Fri Mar 16 18:01:17 2001  Jonathan Blandford  <jrb@redhat.com>
1318
1319         * gtk/gtktreeviewcolumn.[ch]: s/GTK_TREE_COLUMN/GTK_TREE_VIEW_COLUMN
1320
1321         * gtk/gtktreeview.c (gtk_tree_view_row_activated): New signal.
1322
1323         * gtk/gtktreeview.c (gtk_tree_view_destroy): moved pretty much
1324         everything into the ::destroy function, and freed a lot more.
1325
1326 2001-03-16  Havoc Pennington  <hp@redhat.com>
1327
1328         * gtk/gtkwidget.h (struct _GtkWidgetAuxInfo): change to use gint
1329         instead of gint16, to avoid overflow issues, since sizes > 16-bit
1330         are now allowed.
1331
1332 2001-03-16  Havoc Pennington  <hp@redhat.com>
1333
1334         * Applied patch from Nils Barth (bug # 51041) to 
1335         replace "gint" with "gboolean" and 0/1 with TRUE/FALSE
1336         in various places.
1337
1338 2001-03-15  Havoc Pennington  <hp@redhat.com>
1339         
1340         * gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): add varargs 
1341         for properties to set on the tag.
1342
1343         * gtk/testtext.c: fixups to reflect create_tag change
1344         
1345         * gtk/gtktexttag.c (gtk_text_tag_set_property):
1346         background/foreground stipple are objects, not boxed.
1347
1348         * demos/gtk-demo/textview.c: intellihancing
1349
1350 Fri Mar 16 11:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
1351
1352         * gtk/gtktreeview.c (gtk_tree_view_set_model): Fixed some
1353         braindeadness spotted by Jamie Strachan <frostfreek@yahoo.com>.
1354
1355 2001-03-16  Alexander Larsson  <alexl@redhat.com>
1356
1357         * gdk/x11/gdkgeometry-x11.c (_gdk_window_process_expose):
1358         Fix sign error with queued region translations.
1359
1360 2001-03-15  HideToshi Tajima  <tajima@happy>
1361
1362         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_set_cursor_location): 
1363         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_location):
1364         * gtk/gtkentry.c (update_im_cursor_location): 
1365         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_location):
1366         * gtk/gtkimcontext.h (struct _GtkIMContextClass): rename
1367         set_cursor_pos to set_cursor_location in GtkInputContext class
1368
1369 Thu Mar 15 18:22:44 2001  Jonathan Blandford  <jrb@redhat.com>
1370
1371         * gtk/gtkcellrenderer.h: Changed prototype to allow for getting
1372         the location of the cell relative to its area.
1373         * gtk/gtkcell*: modified for above change
1374         * gtk/gtktreeview.c: modified for above change.
1375
1376 Wed Mar 14 13:58:32 2001  Jonathan Blandford  <jrb@redhat.com>
1377
1378         * gtk/gtktreeview.c (gtk_tree_view_set_model): Ref the model.
1379          (gtk_tree_view_finalize): actually unref the model.  Thanks to
1380         Jamie Strachan <frostfreek@yahoo.com> for noticing this error.
1381
1382 2001-03-14  Havoc Pennington  <hp@redhat.com>
1383
1384         * gtk/gtkdata.h, gtk/gtkdata.c: Delete.
1385         
1386         * gtk/gtk.h: remove gtkdata.h
1387
1388         * gtk/Makefile.am: remove gtkdata
1389         
1390         * gtk/gtktext.c (gtk_text_set_adjustments): connect to "destroy"
1391         not "disconnect" on the adjustments.
1392         
1393         * gtk/gtktooltips.h, gtk/gtktooltips.c: derive from GtkObject not
1394         GtkData
1395
1396         * gtk/gtkadjustment.h, gtk/gtkadjustment.c: derive from GtkObject
1397         not GtkData
1398
1399         * configure.in: handle case where X render exists, but Pango lacks
1400         Xft support.
1401
1402 2001-03-15 Alexander Larsson  <alexl@redhat.com>
1403
1404         * gtk/gtktoolbar.[ch]:
1405         New functions gtk_toolbar_set_icon_size and gtk_toolbar_insert_stock
1406         to add stock items to toolbars.
1407
1408         * gtk/Makefile.am:
1409         Remove ../gdk/gdkim.h from gdk_headers.
1410
1411 2001-03-15  Sven Neumann  <sven@gimp.org>
1412
1413         * gdk/gdkim.h: removed
1414         
1415         * gdk/gdkprivate.h
1416         * gdk/x11/gdkim-x11.c: do not include gdkim.h 
1417
1418 2001-03-14  HideToshi Tajima  <tajima@happy.sunsoft.eng.sun.com>
1419
1420         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos):
1421         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos):
1422         * gtk/gtkimcontext.h (struct _GtkIMContextClass): add
1423         set_cursor_pos() virtual method
1424
1425         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init):
1426         (gtk_im_context_xim_set_cursor_pos): add implementation for
1427         set_cursor_pos() method
1428
1429         * gtk/gtkentry.c (recompute_idle_func): set current cursor
1430         position to input methods
1431
1432 Mon Mar 12 21:02:08 2001  Jonathan Blandford  <jrb@redhat.com>
1433
1434         * gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus
1435         code a lot.
1436
1437         * gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use
1438         g_mem_chunk.
1439         (_gtk_tree_data_list_alloc): use g_mem_chunk.
1440         (_gtk_tree_data_list_node_to_value): Fix to switch on
1441         G_TYPE_FUNDAMENTAL.
1442         (_gtk_tree_data_list_value_to_node): Fix to switch on
1443         G_TYPE_FUNDAMENTAL.
1444         (_gtk_tree_data_list_node_copy): Fix to switch on
1445         G_TYPE_FUNDAMENTAL.
1446
1447 2001-03-12  Havoc Pennington  <hp@redhat.com>
1448
1449         * gtk/gtkwindow.c (gtk_window_class_init): Patch from John Margaglione 
1450         to convert to new property API. Also, change default_width and
1451         default_height get_property to return 0 as the flag value for
1452         "unset"; -1 is not a valid value for these fields.
1453
1454 2001-03-12  Havoc Pennington  <hp@redhat.com>
1455
1456         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an
1457         enum with registration for icon sizes, instead of strings.
1458
1459         * gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, 
1460         gtkwidget.c: Fix to reflect GtkIconSize
1461         
1462 2001-03-12  Alexander Larsson  <alexl@redhat.com>
1463
1464         Make GtkFB compile and link.
1465         
1466         * gdk/linux-fb/gdkdrawable-fb2.c:
1467         window->mapped to GDK_WINDOW_IS_MAPPED(). 
1468         
1469         * gdk/linux-fb/gdkwindow-fb.c:
1470         window->mapped to GDK_WINDOW_IS_MAPPED(). 
1471         Added gdk_window_shape_combine_region.
1472         Added assorted placeholders for unimplemented new GdkWindow API calls.
1473
1474 2001-03-12  Alexander Larsson  <alexl@redhat.com>
1475
1476         * gtk/gtkfilesel.c:
1477         Add more test when converting filenames from/to utf-8.
1478         Don't allow entering text in the filename entry which isn't allowed in
1479         a filename. Just beep instead.
1480
1481 2001-03-12  Alexander Larsson  <alexl@redhat.com>
1482
1483         * gtk/gtkclist.c:
1484         Scroll using gdk_window_scroll(). Don't wait for exposes.
1485         Move the column headers in an order that makes them flash less.
1486
1487 2001-03-10  Hans Breuer  <hans@breuer.org>
1488
1489         * gdk/gdk.def : updated
1490
1491         * gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
1492         to offseting the clip_mask at the right place
1493
1494         * gdk/win32/gdkwindow-win32.c : don't create background brushes
1495         for all the gdkClasses, especially not for the input_only case.
1496         Otherwise flickering wont be avoidable, because we don't get
1497         WM_ERASEBKGND message for these windows.
1498
1499         * gdk/win32/gdkevents-win32.c : initialize event->expose.region
1500         and fixed massive redraw problems apparently triggered by Alexanders 
1501         recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
1502         but it seems to work quite well :-)
1503
1504         * gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose
1505         prototype
1506
1507 Sat Mar 10 12:15:31 2001  Jonathan Blandford  <jrb@redhat.com>
1508
1509         * gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
1510         (gtk_list_store_set_cell): Fix a stupid typo.
1511
1512 Fri Mar  9 20:36:21 2001  Jonathan Blandford  <jrb@redhat.com>
1513
1514         * gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
1515         select_all not work if you're in SINGLE mode (it doesn't make that
1516         much sense, anyway.)
1517
1518         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
1519         handle types more sanely.
1520         (_gtk_tree_data_list_value_to_node): handle types more sanely.
1521         (_gtk_tree_data_list_node_copy): handle types more sanely.
1522
1523         * gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
1524         GValue better. Converts the type as well.
1525
1526         * gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
1527         GValue better. Converts the type as well.
1528
1529 Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
1530
1531         * gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
1532         gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c 
1533         gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
1534         gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
1535
1536         * gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
1537         gdk_im/gdk_ic.
1538
1539 2001-03-09  Hans Breuer  <hans@breuer.org>
1540
1541         * gdk/gdk.def : updated
1542
1543         * gdk/win32/gdkevents-win32.c : don't ask input_only windows
1544         for their palette
1545
1546         * gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
1547         removing
1548
1549         * gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
1550         removing and implemented Havoc's GdkWindow state functions; 
1551         stick/unstick only as no-op, cause I don't know how to emulate 
1552         on win32 ...
1553
1554         * gtk/gtk.def : updated
1555
1556         * gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
1557
1558         * gtk/gtktypeutils.c : #include <string.h>
1559
1560         * gtk/gtkwindow.h : declare gtk_window_set_decorated ()
1561
1562 Fri Mar  9 09:31:55 2001  Tim Janik  <timj@gtk.org>
1563
1564         * gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with
1565         GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object,
1566         not a boxed.
1567
1568 2001-03-09  Alexander Larsson  <alexl@redhat.com>
1569
1570         * docs/Changes-2.0.txt:
1571         Document expose event->region change and that gtk_widget_event
1572         doesn't allow passing expose events.
1573
1574         * gdk/gdkevents.h:
1575         Add region to expose event.
1576         
1577         * gdk/gdkevents.c:
1578         Handle event->region in gdk_event_copy() and gdk_event_free().
1579
1580         * gdk/gdkwindow.c (gdk_window_process_updates_internal):
1581         Generate expose_event->region when creating expose events.
1582
1583         * gdk/x11/gdkevents-x11.c:
1584         Generate expose events with regions when translating X events.
1585
1586         * gtk/gtkcontainer.[ch]:
1587         Default expose handler that propagates expose events to NO_WINDOW
1588         children. New function gtk_container_propagate_expose()
1589
1590         * gtk/gtkwidget.[ch]:
1591         Moved gtk_widget_event implementation to gtk_widget_event_internal.
1592         gtk_widget_event calls gtk_widget_event_internal but doesn't allow
1593         expose events. New function gtk_widget_send_expose() to send expose
1594         events. New function gtk_widget_region_intersect() to calculate
1595         window/region intersections.
1596         
1597         * gtk/gtkmain.c (gtk_main_do_event):
1598         Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
1599         Use gtk_widget_send_expose() to send expose events.
1600         
1601         * gtk/gtkbin.c:
1602         * gtk/gtkbox.c:
1603         * gtk/gtkfixed.c:
1604         * gtk/gtkimagemenuitem.c:
1605         * gtk/gtklist.c:
1606         * gtk/gtkpacker.c:
1607         * gtk/gtktable.c:
1608         * gtk/gtktree.c:
1609         Remove expose handler, using the default container implementation
1610         instead.
1611         
1612         * gtk/gtkbutton.c:
1613         * gtk/gtkcheckbutton.c:
1614         * gtk/gtkeventbox.c:
1615         * gtk/gtkfixed.c:
1616         * gtk/gtkhandlebox.c:
1617         * gtk/gtklayout.c:
1618         * gtk/gtklistitem.c:
1619         * gtk/gtkmenu.c:
1620         * gtk/gtkmenubar.c:
1621         * gtk/gtkmenuitem.c:
1622         * gtk/gtknotebook.c:
1623         * gtk/gtkoptionmenu.c:
1624         * gtk/gtkpaned.c:
1625         * gtk/gtkscrolledwindow.c:
1626         * gtk/gtktogglebutton.c:
1627         * gtk/gtktoolbar.c:
1628         * gtk/gtktreeitem.c:
1629         * gtk/gtkviewport.c:
1630         Chain expose handler to parent class handler. Use
1631         gtk_container_propagate_expose() to propagate exposes.
1632
1633         * gtk/gtkclist.c (check_exposures):
1634         * gtk/gtktext.c (process_exposes):
1635         Use gtk_widget_send_expose instead of gtk_widget_event.
1636
1637 Thu Mar  8 19:40:28 2001  Jonathan Blandford  <jrb@redhat.com>
1638
1639         * gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function.
1640
1641 Thu Mar  8 19:18:27 2001  Jonathan Blandford  <jrb@redhat.com>
1642
1643         * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually
1644         unref the nodes.   Fixes bug #50058.
1645
1646         * gtk/gtktreemodel.c (gtk_tree_model_ref_node): change
1647         "::ref_iter" to "::ref_node".
1648         (gtk_tree_model_unref_node): change "::unref_iter" to
1649         "::unref_node". Fixes bug #50064.
1650
1651 Thu Mar  8 17:40:09 2001  Jonathan Blandford  <jrb@redhat.com>
1652
1653         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add
1654         support for invisible cells.
1655          (gtk_tree_view_bin_expose): ditto
1656
1657 Thu Mar  8 16:36:00 2001  Jonathan Blandford  <jrb@redhat.com>
1658
1659         * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
1660         on gobjects.
1661
1662         * tests/testtreefocus.c (main): New test file.
1663
1664         * tests/testtreeview.c: update to latest glib changes.
1665
1666         * tests/testtreecolumns.c: update to latest glib changes.
1667
1668 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
1669
1670         * gtk/testgtk.c: re-enabled event watcher emission hooks.
1671
1672 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
1673
1674         * *.c: added accumulator data argument to g_signal_newc()
1675         functions.
1676
1677         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
1678         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
1679         * gtk/treestoretest.c (make_window):
1680         s/g_signal_connect/g_signal_connectc/.
1681
1682         * gtk/gtktextbuffer.c: completed signal arg fixups,
1683         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
1684
1685 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
1686
1687         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
1688         G_CONST_RETURN.
1689
1690         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
1691         ::hierarchy-changed signal when a widget changes
1692         from anchored to unanchored or vice versa.
1693         (anchored means 
1694          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
1695         Use a private flag to keep track of this efficiently.
1696
1697 2001-03-07  Havoc Pennington  <hp@redhat.com>
1698
1699         * gtk/testgtk.c (create_spins): uglify so that size request gets
1700         tested.
1701
1702         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
1703         request on values for upper/lower, completes #6152
1704
1705 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
1706
1707         * Makefile.am: Remove gtk-config-2.0 again.
1708         (Grrrr, pkg-config. And stops make loops.)
1709
1710 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
1711
1712         * gtk/gtksignal.[hc]: removed old emission hook API.
1713         
1714         * docs/Changes-2.0.txt: fixed sections.
1715         
1716         * gtk/gtktextbuffer.c: signal arg fixups.
1717
1718 2001-03-07  Havoc Pennington  <hp@redhat.com>
1719
1720         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
1721
1722         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
1723         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
1724         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
1725         validation and the redraw which is higher priority than the
1726         validation.
1727
1728 2001-03-07  Havoc Pennington  <hp@redhat.com>
1729
1730         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
1731         (gtk_entry_set_property): remove trailer
1732
1733         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
1734         (gtk_entry_get_width_chars): new functions, to set size request to 
1735         a given number of characters
1736
1737         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
1738
1739         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
1740         (gtk_dialog_get_has_separator): new function
1741         (run_delete_handler): fix to not emit "response" signal
1742         because we already did in the delete event handler installed
1743         at dialog creation time.
1744         
1745         * gtk/gtkdialog.h: add a has_separator property,
1746         add GTK_DIALOG_NO_SEPARATOR flag
1747
1748 2001-03-07  Havoc Pennington  <hp@redhat.com>
1749
1750         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
1751         off decorations for a window.
1752
1753         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
1754         changes
1755
1756         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
1757         to get location of PangoLayout inside the label, closes #51198
1758
1759         * gtk/testgtk.c (create_bbox): fix up button box usage
1760
1761         * gtk/testcalendar.c (create_calendar): fix up button box usage
1762
1763         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
1764
1765         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
1766
1767         * gtk/gtkhbbox.h: deprecations
1768
1769         * gtk/gtkvbbox.h: deprecations
1770
1771         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
1772         emulate deprecated gtk_button_box_get_spacing
1773
1774         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
1775         the "set global default" functions
1776         (struct _GtkButtonBox): remove "spacing" field, use the one from 
1777         GtkBox base class
1778
1779         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
1780
1781         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
1782         render the icon, return the missing image icon.
1783
1784         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
1785         image icon if the load fails.   
1786
1787         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
1788         when no image is found; should be the Netscape "missing image"
1789         icon eventually but for now is a random image
1790
1791         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
1792         role for the session manager
1793
1794         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
1795
1796         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
1797         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
1798
1799         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
1800
1801 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
1802
1803         * gtk/*.c: marshaller fixes.
1804         
1805         * gtk/gtkmarshal.list: extreme cleanup.
1806
1807         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
1808         param spec for now.
1809
1810         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
1811         where appliable.
1812
1813         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
1814         special cased autogenerated boxed types from gtktypebuiltins_ids.c
1815         which are not reference counted:
1816         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
1817         PangoFontDescription, GtkTreeIter and GtkTreePath.
1818
1819 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
1820
1821         * gtk/gtktreeselection.h: 
1822         * gtk/gtktreemodel.c:
1823         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
1824         file should be included directly, and gobject/gmarshal.h
1825         as well as gtk/gtkmarshal.h even can't be included directly.
1826
1827         * Makefile.am: grr, install gtk-config-2.0.
1828
1829         * gtk/testgtk.c:
1830         * gtk/simple.c:
1831         * gtk/gtkmenu.c:
1832         * gtk/gtkitemfactory.c: use g_object_connect() instead of
1833         passing "*signal*::*" args to gtk_widget_set().
1834         
1835         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
1836         
1837         * gtk/*.c: removed trailer arg from property setters and getters.
1838         macro fixups.
1839
1840 2001-03-07  Alexander Larsson  <alexl@redhat.com>
1841
1842         * gtk/gtklabel.c (set_markup): Removed warning
1843
1844 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
1845
1846         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
1847         field to allow you to hide cell renderers.
1848
1849         * gtk/gtkcellrenderer.c: Add support for invisible cells.
1850
1851         * gtk/gtktreeview.c: Add support for invisible cells.
1852
1853 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
1854
1855         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
1856         Add "clicked" signal back to columns.
1857
1858         * ChangeLog: remove conflict markers.
1859
1860 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
1861
1862         * gtk/gtkbutton.c: Add animation of activation by, on 
1863         activate, pressing the button, and adding a timeout that 
1864         releases the button after 250ms or on key release and
1865         emits ::clicked. (#51501)
1866
1867         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
1868         action area, we connect to ::clicked instead of ::activate
1869         so the dialog stays up through the animation.
1870
1871 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
1872
1873         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
1874         check the ignore_enter flag for the menu shell that
1875         the item is actually a child of, not for attached
1876         submenus. (#51536)
1877
1878 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
1879
1880         * gtk/gtkmain.c (gtk_propagate_event): Only do special
1881         special key-press grab handling for widgets within
1882         GtkWindows. Otherwise, fall through to normal case.
1883
1884         This prevents key events being sent twice to GtkInvisible
1885         widgets, which can cause all sorts of mischief.
1886
1887 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
1888
1889         * gtk/gtkmain.c (gtk_propagate_event): When a grab
1890         widget is in effect, give the grab widget a first
1891         crack at KEY_PRESS/RELEASE events. (#424)
1892
1893 2001-03-06  James Henstridge  <james@daa.com.au>
1894
1895         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
1896         offset for the window_state_event to point at window_state_event
1897         rather than no_expose_event.
1898
1899 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
1900
1901         * gtk/gtkimmodule.h: fix busted /* comment */
1902
1903 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
1904
1905         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
1906         object properties.
1907
1908 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
1909
1910         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
1911         add object properties.
1912
1913         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
1914         to add object properties.
1915
1916         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
1917         object properties.
1918
1919         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
1920         add object properties.
1921
1922         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
1923         object properties.
1924
1925 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
1926
1927         * gtk/gtktreemodel.c: renamed "child_toggled" to
1928         "has_child_toggled".
1929
1930         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
1931         handle new signal name.
1932
1933         * gtk/gtktreestore.c: Updated to handle new signal name.
1934         * gtk/gtklisttore.c: Updated to handle new signal name.
1935         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
1936
1937 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1938
1939         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
1940         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
1941
1942 2001-03-05  Michael Natterer  <mitch@gimp.org>
1943
1944         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
1945         pixbuf-engine coincidentially also failed to make one of it's
1946         parent_class pointers static, causing overwriting of GtkLabel's
1947         parent_class pointer in pixbuf_style_class_init().
1948         (Will commit the fix to the pixbuf-engine too).
1949
1950 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1951
1952         * gdk/gdkwindow.h:
1953         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
1954         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
1955         gdk_window_set_icon_list for net wmspec functionality.
1956
1957         * gdk/x11/gdkwindow-x11.c:
1958         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
1959         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
1960         gdk_window_set_icon_list.
1961         Added gdk_wmspec_change_state helper function and used it in the code.
1962         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
1963
1964         * gtk/gtkdialog.c (gtk_dialog_init):
1965         Set GDK_WINDOW_TYPE_HINT_DIALOG.
1966
1967         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
1968         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
1969
1970         * gtk/gtkwindow.c:
1971         new function gtk_window_set_type_hint.
1972         On realize, set type hint and modal hint.
1973
1974         * gtk/gtkwindow.h:
1975         Added type_hint field and gtk_window_set_type_hint.
1976
1977 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1978
1979         * gtk/gtklabel.[ch]:
1980         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
1981         New function gtk_label_get_accel_keyval () to get the underline accelerator
1982         of the label. Setting the label pattern overrides other attributes.
1983
1984 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
1985
1986         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
1987         Added missing initializers to gtk_rc_style_init().
1988
1989 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
1990
1991         * gtk/gtktextview.c: fixed bug #51097 about setting 
1992         gtk_text_view_set_border_window_size() if the widget is 
1993         already realized.
1994
1995 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
1996
1997         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
1998
1999         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
2000         comment. Won't do to have duplicated doc comments between
2001         the platform subdirs.
2002
2003 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
2004
2005         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
2006           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
2007
2008         Detectable auto-repeat - make a repeating key generate
2009         press/press/press/release instead of press/release pairs.
2010
2011         If we have Xkb and XkbSetDectableAutoRepeat supports
2012         that, we do it that way. Otherwise, when we get
2013         a release event, we check ahead with XPending to see
2014         if the next key is a KeyPress with the same keycode
2015         and timestamp. (Not 100% reliable, but pretty close.)
2016           
2017 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
2018         
2019         * gtk/gtkmain.c (gtk_propagate_event): Only do special
2020         special key-press grab handling for widgets within
2021         GtkWindows. Otherwise, fall through to normal case.
2022  
2023         This prevents key events being sent twice to GtkInvisible
2024         widgets, which can cause all sorts of mischief.
2025  
2026 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
2027  
2028         * gtk/gtkmain.c (gtk_propagate_event): When a grab
2029         widget is in effect, give the grab widget a first
2030         crack at KEY_PRESS/RELEASE events. (#424)
2031  
2032 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
2033
2034         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
2035         to extend the selection. (Roughly based on patch
2036         from Jay Cox, #50939)
2037
2038         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
2039         to properly handle previous GDK_BUTTON_PRESS. 
2040         (Patch from Jay Cox, #50938)
2041
2042         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
2043         '\0' back along with the deleted text. (#51148)
2044
2045 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
2046
2047         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
2048         the group when extracting it from the X keyboard event.
2049
2050         * modules/input/Makefile.am modules/input/imipa.c: 
2051         Simple module for entering IPA. (Do we need a 
2052         gtk-stupid-input-tricks CVS module?)
2053
2054 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
2055
2056         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
2057         const.
2058
2059         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
2060
2061         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
2062         is no focus widget for the dialog currently, grab the focus as well
2063         as the default.
2064
2065         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
2066         the action area's children to iterate through, not the
2067         dialog's children.
2068
2069 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
2070
2071         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
2072         Add plug-socket tests. (Won't work worth a darn until I commit
2073         the rest of the plug-socket changes, but no reason these
2074         can't go into CVS now.)
2075
2076 2001-03-02  Havoc Pennington  <hp@redhat.com>
2077
2078         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
2079         _gdk_region_get_xrectangles()
2080
2081         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
2082
2083         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
2084
2085         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
2086         function, contributed by Ron Steinke    
2087
2088         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
2089         gdk_net_wm_supports
2090
2091         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
2092         New function, contributed by Ron Steinke
2093
2094         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
2095         used to line up the text in the entry when using the entry for
2096         editable sheet cell hacks
2097
2098         * gtk/testgtk.c (create_entry): test the activate_default setting
2099         on GtkEntry
2100
2101         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
2102         cause the entry to activate the default button for a dialog when 
2103         activated
2104         (gtk_entry_get_activates_default): new function
2105
2106 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
2107
2108         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
2109         Hwang to move call to sync_selection() up a few lines
2110         to before the row list is modified, to fix crash when
2111         removing rows in the undo_selection list.
2112
2113         (Test case provided by Daniel Elstner:
2114
2115         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
2116
2117 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
2118
2119         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
2120         of tree->root_tree in parent_set rather than _map(), 
2121         fixing #50892 in a bit better manner.
2122
2123 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
2124
2125         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
2126
2127 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
2128
2129         * gtk/gtkstyle.c : Remove duplicate fwd decl for
2130         gtk_default_draw_shadow.
2131
2132 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
2133
2134         * gdk/gdkimage.c (gdk_image_new): Remove excess 
2135         warning, make warnings more verbose, treat a error
2136         in shmat as permanent, and don't try again.
2137         (#51163, Ed Randall.)
2138
2139 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
2140
2141         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
2142         delay for the first click before starting to scroll.
2143         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
2144
2145         * gtk/gtktext.c: GtkText should have I-beam cursor. 
2146         (based on gtk-enf-990513-1.patch, Eric Fisher.)
2147
2148 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
2149
2150         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
2151         cleanup to remove some references to unused
2152         ->xoffset, ->yoffset.
2153
2154 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
2155
2156         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
2157         mask. (#51039, fix from Martin Maierhofer)
2158
2159 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
2160
2161         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
2162         for unshifted + and shifted = for non-us keyboards.
2163         Make <Control>+ and <Control>- work as well as 
2164         <Control>KP_Plus, <Control>KP_Minus for recursive
2165         open/close.  (#2682, René Seindal)
2166
2167 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
2168
2169         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
2170         the active menu item before deactivating the menu,
2171         so gtk_menu_popdown doesn't change the history. (#50964)
2172         
2173 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
2174
2175         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
2176         draw lines with text_gc rather than black_gc.
2177         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
2178
2179 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
2180
2181         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
2182         Move handling of buttons fully in gtktreeviewcolumn.  This code is
2183         less interrelated then it was, but it still requires the
2184         GtkTreeView to map it.
2185
2186         * test/testtreecolumn.c: Now I can add a column to one view,
2187         remove it, add it to the another view, remove it, then re-add it
2188         to the first.  Nifty.
2189
2190 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
2191
2192         * docs/tutorial/gtk-tut.sgml: Minor corrections
2193
2194 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
2195
2196         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
2197         GtkRowReference.
2198
2199 2001-02-28  Havoc Pennington  <hp@redhat.com>
2200
2201         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
2202         draw_default
2203         (gtk_widget_draw_focus): remove this function; we could instead
2204         make it just gtk_widget_draw(), but in most cases I think the
2205         result would be broken user code, so think it's better to have
2206         that code not compile and get fixed
2207         (gtk_widget_draw_default): ditto
2208
2209         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
2210         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
2211         
2212         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
2213         widgets lose/get the default, instead of calling draw_default
2214         
2215         * docs/Changes-2.0.txt: note about all this
2216
2217         Then fixed every widget in GTK, I won't list all the filenames.
2218
2219 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
2220
2221         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
2222         _gtk_tree_row_reference_deleted.
2223         (inserted_callback): Proxy out to
2224         _gtk_tree_row_reference_inserted.
2225         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
2226         get around signal emission ordering problem.
2227
2228         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
2229         fix to work with SINGLE 
2230         (_gtk_tree_selection_internal_select_node): Major sanitization on
2231         selections.  SINGLE now seems to work.
2232
2233         * tests/Makefile.am: add testtreecolumn.c:
2234
2235         * tests/testtreecolumn.c: New test.  Mostly points out selection
2236         bugs currently, but will test columns later.
2237
2238         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
2239         selection bug.  I hate touching this code -- it's scary.
2240
2241 2001-02-26  Havoc Pennington  <hp@redhat.com>
2242
2243         * gtk/testgtk.c: test the window state stuff
2244
2245         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
2246         window come to the user's attention as if it were just created
2247         (gtk_window_iconify): new function
2248         (gtk_window_deiconify): new function
2249         (gtk_window_stick): new function
2250         (gtk_window_unstick): new function
2251         (gtk_window_maximize): new function
2252         (gtk_window_unmaximize): new function
2253
2254         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
2255
2256         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
2257
2258         * gdk/x11/gdkevents-x11.c: create window state events when
2259         appropriate
2260         (gdk_wmspec_supported): new function
2261
2262         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
2263         iconification before showing the window
2264         (gdk_window_deiconify): new function
2265         (gdk_window_stick): new function
2266         (gdk_window_unstick): new function
2267         (gdk_window_maximize): new function
2268         (gdk_window_unmaximize): new function
2269
2270         * gdk/gdkwindow.c: store the window state in the window; 
2271         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
2272         window->mapped.
2273         (gdk_window_get_state): return the current window state
2274
2275         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
2276         (gdk_event_get_state): handle GDK_WINDOW_STATE
2277         (gdk_synthesize_window_state): function to create the window state
2278         events
2279
2280         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
2281         event, for changes to "window state" such as maximized, sticky, 
2282         etc.
2283         
2284         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
2285         focuses a window
2286
2287         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
2288         finds out if we support a given WM spec hint
2289
2290 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
2291
2292         * docs/faq/gtk-faq.sgml: New question re memory leaks.
2293
2294 2001-02-25  Hans Breuer  <hans@breuer.org>
2295
2296         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
2297         cause we want to loose those prototypes only in the latter case
2298
2299         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
2300         GdkPixmapImplWin32 because it itsn't derived from it. Use the
2301         impl member variable instead
2302
2303         * gtk/gtk.def : updated
2304
2305         * gtk/gtklist.c : 
2306         * gtk/gtkmenus.c : include <string.h> for memset ()
2307
2308         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
2309         for everthing built here, but for gtk-x.x.dll only. This solves
2310         problem of indifferent gtk type definitions
2311
2312 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@redhat.com>
2313
2314         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
2315
2316 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
2317
2318         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
2319         column that is exposed.
2320
2321         (_gtk_tree_view_update_size): Changed name from set_size, and
2322         changed function to do more work, and not force people calling it
2323         to figure out the size.  Simplifies a lot of code elsewhere.
2324
2325 2001-02-23  Alexander Larsson  <alexl@redhat.com>
2326
2327         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
2328         return solid masks for xpms that have no transparent color.
2329         This makes the ..._create_from_xpm... API backwards
2330         compatible.
2331
2332 2001-02-23  Tor Lillqvist  <tml@iki.fi>
2333
2334         * README.win32: Update. Mention the gtk-1-3-win32-production
2335         branch.
2336
2337         * gdk/win32/bdfcursor.c: New file. A program that generates
2338         xcursors.h. Thanks to Stefan Ondrejicka.
2339
2340         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
2341         compact format.
2342
2343         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
2344
2345         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
2346         function, uses xcursors.h.
2347         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
2348         cursor from inline data instead of using LoadCursor() to generate
2349         it from a resource.
2350
2351         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
2352         event, must check the Windows message for mouse button state, as
2353         the GDK event state might not have been built if it is
2354         undelivered. Remove one goto.
2355
2356         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
2357         SetCursor() if the current cursor as returned by GetCursor() is
2358         the window's previous cursor. The ChildWindowFromPoint() test
2359         apparently didn't work correctly.
2360
2361         * gdk/win32/rc/*.cur: Remove.
2362
2363         * gdk/win32/rc/gdk.rc.in: Remove cursors.
2364
2365         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
2366
2367         * gtk/makefile.{mingw,msc}.in: Updates.
2368
2369 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
2370
2371         * gtk/gtktreemodel.h: add functions for signal emission.
2372
2373         * gtk/gtktreestore.c: move to use above functions instead of
2374         g_signal_emit.
2375
2376         * gtk/gtkliststore.c: ditto
2377
2378 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
2379
2380         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
2381         GObject instead of GtkObject.
2382
2383         * gtk/gtkliststore.c: ditto.
2384
2385         * gtk/gtktreemodelsort.c: ditto.
2386
2387         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
2388         GtkTreeModelIface, instead of in each model.
2389
2390 2001-02-21  Havoc Pennington  <hp@redhat.com>
2391
2392         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
2393         unbreak this function
2394
2395         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
2396         properties
2397
2398         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
2399         properties
2400
2401         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
2402         properties
2403
2404         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
2405         mean unset the max length
2406
2407 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
2408
2409         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
2410         Changed name to be set_cell_data_func to make it clear what
2411         the functino does.  Close bug #51069.
2412
2413 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
2414
2415         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
2416         have memory actually freed.  Keeps box running longer.
2417
2418 2001-02-21  Alexander Larsson  <alexl@redhat.com>
2419         
2420         * gtk/gtkseparatormenuitem.[ch]:
2421         Added new menu separator item. The drawing and size handling
2422         is still done in GtkMenuItem, but the API is a bit more sane.
2423         
2424         * gtk/Makefile.am:
2425         Add gtkseparatormenuitem.[ch].
2426
2427         * gtk/gtk.h:
2428         Add gtkseparatormenuitem.h.
2429         
2430         * gtk/gtkentry.c:
2431         * gtk/gtkmenufactory.c:
2432         * gtk/gtktextview.c:
2433         Use the new API for menu separators.
2434         
2435         * demos/gtk-demo/menus.c (create_menu):
2436         Add some GtkSeparatorMenuItem demo code.
2437
2438 2001-02-20  Havoc Pennington  <hp@redhat.com>
2439
2440         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
2441         Lee Mallabone
2442
2443         * gtk/gtkarrow.c: Convert to new property API, patch from 
2444         Lee Mallabone
2445
2446 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
2447
2448         * tests/testtreeview.c (toggled_callback): fix to reflect change
2449         in GtkTreeModelStore.
2450
2451 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
2452
2453         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
2454         function to create an icon set from a pixbuf.
2455
2456 2001-02-20  Alexander Larsson  <alexl@redhat.com>
2457
2458         * gtk/gtkcellrenderertext.[ch]:
2459         Add a "markup" property.
2460
2461         * gtk/treestoretest.c:
2462         Use the markup property, remove some leftover stuff from
2463         GtkTreeModelMapping.
2464
2465 2001-02-20  Alexander Larsson  <alexl@redhat.com>
2466
2467         * gtk/gtklabel.c (gtk_label_set_selectable):
2468         Queue a redraw if the selectable setting was changed.
2469
2470 2001-02-20  Alexander Larsson  <alexl@redhat.com>
2471
2472         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
2473         Actually copy the whole gc, not just the public parts.
2474         
2475         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
2476         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
2477         labels.
2478
2479 2001-02-19  Havoc Pennington  <hp@pobox.com>
2480
2481         * gdk/gdkwindow.c: docs
2482
2483         * gdk/gdkrgb.c: docs
2484
2485         * gdk/gdkregion-generic.c: docs
2486
2487         * gdk/gdkgc.c (gdk_gc_set_values): docs
2488
2489         * gdk/gdkdraw.c: docs
2490
2491         * gdk/gdkdrawable.h: deprecate drawable get/set data
2492
2493 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
2494
2495         * demos/gtk-demo/dialog.c: Add simple new demo.
2496
2497 2001-02-19  Havoc Pennington  <hp@redhat.com>
2498
2499         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
2500         insert_child_anchor signal, bug #50245
2501
2502         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
2503         from create_child_anchor, so the anchor is passed in
2504
2505         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
2506         (_gtk_widget_segment_new): have the child anchor object passed in, 
2507         instead of creating it.
2508
2509         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
2510         to gtk_text_buffer_get_modified
2511
2512 2001-02-19  Havoc Pennington  <hp@redhat.com>
2513
2514         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
2515         changed GLib without fixing GTK
2516
2517         * gtk/gtkrange.h: Rename all the stupid implementation detail 
2518         functions to have an underscore in front. Most of them should 
2519         probably just go away, but for starters don't export them.
2520         Bug #50482
2521
2522 2001-02-19  Havoc Pennington  <hp@redhat.com>
2523
2524         * gdk/gdkcolor.h: test was backward, so deprecated functions were
2525         excluded by default
2526
2527         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
2528         clean up the old code a bit
2529
2530         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
2531         inconsistent state
2532
2533         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
2534         draw inconsistent state
2535
2536         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
2537         (create_menu): add inconsistent test
2538
2539         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
2540         new function
2541         (gtk_check_menu_item_get_inconsistent): new function
2542         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
2543         state (using etched in for now)
2544
2545         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
2546         draw inconsistent state
2547
2548         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
2549         function, used when the user has selected a range of stuff in
2550         different states
2551         (gtk_toggle_button_get_inconsistent): accessor for that
2552         (gtk_toggle_button_paint): draw inconsistent state (etched in?
2553         don't know what else to do)
2554
2555 2001-02-19  Hans Breuer <hans@breuer.org>
2556
2557         * gtk/gtk.def : updated exported symbols
2558
2559         * gtk/makefile.msc.in : updated
2560
2561         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
2562         a colormap, when invoked from testgtk::entry. I'm not sure where
2563         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
2564         avoids immediate crashing ...
2565
2566         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
2567         any objections ?
2568
2569         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
2570         0 parameter. At least msvc doesn't like macros with var args. 
2571         I simply removed the extra 0, was it a feature or a typo ?
2572
2573         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
2574         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
2575         because the value assignment to the internal struct wasn't working.
2576         I'm not absolutely sure. The problem could have been resolved by
2577         changing the "func" declartion in the struct, but was the pointer
2578         to the function pointer intended ?
2579
2580         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
2581
2582         * gdk/gdk.def : updated exported symbols
2583
2584         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
2585         only use SetDIBitsToDevice if there is a palette at the drawable
2586         and the image is GDK_VISUAL_PSEUDO_COLOR
2587
2588         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
2589
2590         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
2591
2592         * gdk/*/makefile.msc : updated
2593
2594 2001-02-19  Havoc Pennington  <hp@redhat.com>
2595
2596         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
2597         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
2598
2599         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
2600         (gdk_key_repeat_restore): nuke
2601
2602         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
2603         (gdk_init_check): no atexit func
2604
2605         * gdk/gdkrgb.h: mark some stuff deprecated
2606
2607         * gdk/gdkcolor.h: mark some stuff deprecated
2608         
2609         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
2610
2611         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
2612
2613 2001-02-16  Havoc Pennington  <hp@redhat.com>
2614
2615         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
2616         scroll steps.
2617
2618         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
2619         steps, and add Ctrl-arrow shortcuts for paging visually as with
2620         HScale, since Page Up and Page Down move logically.
2621
2622         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
2623         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
2624         
2625         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
2626         steps
2627         (gtk_range_scroll): handle the visual steps
2628
2629         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
2630         scroll steps
2631
2632         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
2633         steps, not the logical ones.
2634
2635         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
2636         (scroll_vertical): handle up/down steps
2637
2638 2001-02-19 Alexander Larsson  <alexl@redhat.com>
2639
2640         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
2641         Copy data and free data with free().
2642
2643         * gdk-pixbuf/gdk-pixbuf.c:
2644         * gdk-pixbuf/io-jpeg.c:
2645         * gdk-pixbuf/io-png.c:
2646         Use g_try_malloc/g_free instead malloc/free.
2647         
2648         * gdk-pixbuf/test-gdk-pixbuf.c:
2649         Must... initialize... gobject...
2650         
2651         * gdk-pixbuf/pixops/timescale.c:
2652         * gtk/gtkcalendar.c:
2653         Use g_malloc instead of malloc.
2654         
2655 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
2656
2657         * gtk/testgtkrc:
2658         Comment out property assignments, these don't work yet.
2659
2660 2001-02-17  Havoc Pennington  <hp@pobox.com>
2661
2662         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
2663         bit.
2664
2665 2001-02-17  Havoc Pennington  <hp@pobox.com>
2666
2667         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
2668         shadowed variables that had broken size request in some cases,
2669         leading to bogus tooltips (#50996)
2670
2671 2001-02-06  Jon K Hellan  <hellan@acm.org>
2672
2673         Implement fast browsing of tooltips, bug #50619
2674         
2675         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
2676         and last_popdown
2677         
2678         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
2679         use_sticky_delay and last_popdown.
2680         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
2681         time of popdown.
2682         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
2683         is NULL.
2684         (gtk_tooltips_recently_shown): New static function.  Return true
2685         if < sticky_delay has elapsed since last popdown.
2686         (gtk_tooltips_event_handler): Display window after sticky_delay
2687         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
2688         since last popdown.
2689         
2690 2001-02-17  Havoc Pennington  <hp@pobox.com>
2691
2692         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
2693         instead of (). #6394
2694
2695         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
2696         G_CONST_RETURN, make it return by reference, #50473
2697         
2698 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
2699
2700         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
2701         generated ENTER_NOTIFY event with 0, otherwise not explicitely
2702         setup fields contain garbage (e.g. subwindow, breaking
2703         gdk_drawable_ref() upon event copy).
2704         (gtk_menu_stop_navigating_submenu_cb): same here.
2705
2706         * gtk/gtklist.c (gtk_list_vertical_timeout): 
2707         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
2708         * gtk/gtkclist.c (vertical_timeout): 
2709         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
2710         default-zero-intialization for unions to memset(,0,), as unions are
2711         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
2712         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
2713
2714         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
2715         g_closure_sink() warning.
2716
2717         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
2718         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
2719         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
2720         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
2721         
2722 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
2723
2724         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
2725         gtk_*_store_get, and moved to GtkTreeModel.
2726
2727         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
2728
2729         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
2730
2731         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
2732
2733         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
2734         set the func.
2735
2736         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
2737         freeze/thaw notify between setting all the properties for a cell.
2738
2739         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
2740
2741 2001-02-15  Havoc Pennington  <hp@redhat.com>
2742
2743         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
2744         the X coordinates so they're with respect to the line, rather than 
2745         with respect to the layout.
2746
2747         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
2748         Mallabone
2749
2750         * gtk/testgtk.c (create_range_controls): add vscale tests, 
2751         and inverted test
2752
2753         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
2754         #50806
2755
2756         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
2757
2758         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
2759         gtk_text_iter_is_end
2760
2761         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
2762         rename gtk_text_buffer_get_end_iter
2763
2764         * gtk/testgtk.c (create_labels): Add test for selectable
2765
2766         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
2767         the selection stuff. This code is kind of broken since it doesn't 
2768         use the theme engine.
2769
2770         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
2771         fix infinite loop and y offset problem
2772         (gdk_draw_layout_line_with_colors): fix foreground color handling
2773
2774         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
2775         that makes the label selectable.
2776         
2777         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
2778         layout when the style is set, since fonts etc. could have changed.      
2779
2780 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
2781
2782         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
2783
2784         * gtk/gtktreemodelsimple.[ch]: removed.
2785
2786 2001-02-16  Alexander Larsson  <alexl@redhat.com>
2787
2788         * gtk/gtktreemodelmapping.[ch]:
2789         New files. Implement GtkTreeModelMapping.
2790         
2791         * gtk/Makefile.am:
2792         Add gtktreemodelmapping.[ch].
2793         
2794         * gtk/gtk.h:
2795         Add gtktreemodelmapping.h
2796
2797         * gtk/treestoretest.c:
2798         Test the GtkTreeModelMapping
2799
2800 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
2801
2802         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
2803         have a demo, we might as well pass in real values.  Thanks to
2804         clahey for pointing this out.
2805
2806 2001-02-14  Havoc Pennington  <hp@pobox.com>
2807
2808         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
2809         "static" to a private function
2810         (gtk_image_menu_item_class_init): remove destroy handler,
2811         add "image" object property
2812
2813 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
2814
2815         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
2816         Add a shortcut if the window and the current clip_region doesn't
2817         overlap. This is needed when there are a lot of windows in a
2818         window. The layout test in testgtk is a good test.
2819
2820         * gdk/linux-fb/gdkwindow-fb.c:
2821         Whitespace fix.
2822
2823 2001-02-13  Sven Neumann  <sven@convergence.de>
2824
2825         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
2826
2827 2001-02-13  Alexander Larsson  <alexl@redhat.com>
2828
2829         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
2830         Don't reference last_cursor if it is null. Fixes crash when rotating
2831         the screen before having moved the mouse.
2832
2833         * gdk/linux-fb/gdkcc-fb.c: Zapp!
2834
2835         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
2836
2837         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
2838         when using 90 or 270 degrees rotation.
2839
2840 2001-02-12  Havoc Pennington  <hp@pobox.com>
2841
2842         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
2843         it always set the foreground, even if we were only using
2844         a stipple.
2845         (gdk_draw_layout_line_with_colors): new function, allow
2846         override colors
2847         (gdk_draw_layout_with_colors): new function, allow override
2848         colors
2849         (gdk_pango_layout_line_get_clip_region): function to get the clip
2850         region for a logical text range
2851         (gdk_pango_layout_get_clip_region): get the clip region for a
2852         logical text range
2853
2854         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
2855         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
2856         the right number of arguments.
2857
2858         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
2859         enhance the function to check that node data corresponds to a 
2860         view still belonging to the tree.
2861
2862         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
2863         GtkTreePath
2864         (gtk_tree_view_inserted): ditto
2865         (gtk_tree_view_child_toggled): ditto
2866
2867         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
2868         simplify this code.
2869
2870         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
2871         a PangoAttrList
2872
2873         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
2874
2875         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
2876
2877         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
2878         size in the size request 
2879         (gtk_menu_bar_size_allocate): consider toggle size here
2880
2881         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
2882         that displays a widget in the toggle slot
2883
2884         * gtk/testgtk.c: test GtkImageMenuItem
2885
2886         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
2887         
2888         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
2889         request and allocation
2890
2891         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
2892
2893         * gtk/gtkcheckmenuitem.c
2894         (gtk_check_menu_item_toggle_size_request): ditto
2895         
2896 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
2897
2898         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
2899         reference.
2900
2901         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
2902         and refuse to initialize GTK+ if they fail.
2903
2904 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
2905
2906         * configure.in: Add check for gtk-doc version.
2907
2908 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
2909
2910         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
2911         where the xpad/ypad was only being used on one side!
2912
2913 2001-02-11  Tor Lillqvist  <tml@iki.fi>
2914
2915         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
2916         function, copied from X11 version.
2917
2918         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
2919         DestroyCursor failures. The reason for the problem (despite the
2920         inconsistent messages from GetLastError()) was that
2921         DestroyCursor() cannot be called while a cursor is set in a
2922         window. Set the new cursor first and then destroy the old one.
2923         Thanks to jpe@archaeopteryx.com.
2924
2925         * gdk/win32/gdkcc-win32.c: Remove.
2926
2927         * gdk/win32/Makefile.am: Remove from here, too.
2928         
2929         * gdk/gdk.def
2930         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
2931
2932         * gtk/gtk.def
2933         * gtk/makefile.mingw.in: Updates.
2934
2935 2001-02-08  Havoc Pennington  <hp@redhat.com>
2936
2937         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
2938         add a widget to a bin that already has a child.
2939
2940         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
2941
2942         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
2943         
2944         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
2945
2946         * gdk/gdk.h: remove gdkcc.h
2947
2948         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
2949
2950         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
2951         GdkPixbuf, since the previous implementation was GdkColorContext
2952         dependent.
2953
2954         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
2955         
2956 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
2957
2958         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
2959         a sane value!
2960
2961 2001-02-08  Havoc Pennington  <hp@redhat.com>
2962
2963         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
2964         lighten them.
2965
2966 2001-02-08  Havoc Pennington  <hp@redhat.com>
2967
2968         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
2969         validation idle
2970
2971         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
2972         cell renderer
2973
2974         * demos/pixbuf-demo.c (timeout): remove deprecated
2975         gtk_widget_draw
2976
2977         * demos/testpixbuf-save.c (main): remove deprecated
2978         gtk_drawing_area_size
2979
2980         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
2981         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
2982         at the start of the allocation.
2983         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
2984         unsetup or NULL model.
2985
2986         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
2987         even/odd/sorted cells in the tree view.
2988
2989         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
2990         bugfixes
2991
2992         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
2993         backgrounds with draw_flat_box using different detail for even/odd
2994         rows.
2995
2996         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
2997         row, so we can draw the alternating colors thing
2998
2999         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
3000         property from a synonym property, notify for the synonym.
3001         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
3002         (gtk_text_tag_get_property): Always return the font, even if
3003         all its fields aren't set
3004
3005         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
3006         store the attr list; it leaves us with no way to change attributes
3007         in _render according to the render flags, and no way to implement
3008         get_property. Instead store all the specific text attributes. 
3009         Separate whether an attribute is enabled from its value. Sync all
3010         properties with GtkTextTag, make them all consistent, etc.
3011
3012         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
3013         renderers can highlight the sort row/column     
3014
3015         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
3016         accessor functions to get values; this has the side effect of
3017         showing up which accessor functions were missing. Added those.
3018
3019         * gtk/gtktreeviewcolumn.h: Replace set_justification with
3020         set_alignment, to be consistent with GtkLabel, GtkMisc
3021
3022         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
3023         arrow.
3024
3025         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
3026
3027         * gtk/gtktreesortable.h: updates in here
3028
3029 2001-02-07  Sven Neumann  <sven@convergence.de>
3030
3031         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
3032         pango dimensions after painting the background. We used to draw
3033         gigantic flat boxes here.
3034
3035 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
3036
3037         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
3038         error introduced with earlier commit) (pointed out by
3039         Ollie Lho)
3040
3041 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
3042
3043         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
3044         which are no longer necessary.
3045
3046 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
3047
3048         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
3049
3050 2001-02-04  Tor Lillqvist  <tml@iki.fi>
3051
3052         * gdk/gdk.def
3053         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
3054         Provide dummy implementations.
3055
3056 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
3057
3058         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
3059
3060         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
3061         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
3062         deprecated this function.
3063
3064         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
3065         argument.
3066
3067 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
3068
3069         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
3070
3071 2001-02-03  Havoc Pennington  <hp@pobox.com>
3072
3073         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
3074         Mikael Hermansson with patch from Mikael (if there was a toggle
3075         start one after the first character in the range, this function
3076         was broken). Bug #50380
3077
3078 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
3079
3080         * configure.in: Remove confusing comment about X11.
3081
3082 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
3083
3084         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
3085         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
3086         
3087 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
3088
3089         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
3090         it breaks things on BSD. If you want to compile GTK+ with
3091         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
3092         when configuring, since GTK+ simply can't be "pure ANSI" 
3093         in the header files it uses. (#8170, Greg Hudson)
3094
3095 2001-02-02  Havoc Pennington  <hp@redhat.com>
3096
3097         * gtk/gtkwindow.c: docs
3098
3099         * gtk/gtkwidget.c: docs
3100         (gtk_widget_set_colormap): add a reference to the colormap
3101         (gtk_widget_get_default_colormap): add a reference to the colormap
3102
3103         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
3104
3105         * gtk/gtktextiter.c: docs
3106
3107         * gtk/gtkmain.c (gtk_propagate_event): docs
3108
3109         * gtk/gtkpaned.c (gtk_paned_get_position): docs
3110         (gtk_paned_set_position): docs
3111
3112         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
3113         sort interface, no implementation yet.
3114
3115         * demos/testpixbuf.c (new_testrgb_window): replace
3116         gtk_drawing_area_size() with gtk_widget_set_usize()
3117
3118         * demos/testpixbuf-drawable.c (main): ditto
3119         
3120         * gtk/testgtk.c: remove use of GtkStatusbarMsg
3121
3122         * gtk/gtktextbuffer.c: docs
3123
3124         * gtk/gtkstock.c: docs
3125
3126         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
3127
3128         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
3129
3130         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
3131         
3132         * gtk/gtkimage.c: add some docs in here
3133         (gtk_image_size_request): change name of
3134         gtk_widget_render_stock_icon
3135         (gtk_image_get_icon_set): don't dup returned string
3136         (gtk_image_get_icon_set): don't dup returned string
3137
3138         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
3139         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
3140         and gtkiconfactory.h functions
3141
3142         * gtk/gtkiconfactory.c: add some docs in here
3143
3144         * gtk/gtkmain.c (gtk_get_default_language): document
3145         (gtk_get_current_event): document
3146         (gtk_get_current_event_state): document
3147         (gtk_get_event_widget): document
3148
3149         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
3150
3151         * gtk/gtkcontainer.c: Add some documentation
3152         (gtk_container_add): give a more explanatory warning on adding an
3153         already-parented widget, this is kind of a FAQ and also a common
3154         typo that's easier to debug with a nice warning 
3155
3156         * gtk/gtkcellrenderertoggle.c
3157         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
3158         adding this, it's useless
3159         (gtk_cell_renderer_toggle_set_active): remove
3160         (gtk_cell_renderer_toggle_get_radio): add
3161
3162         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
3163         the NULL cell renderer, that doesn't make any sense to me. 
3164
3165         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
3166         demo code should never use deprecated features.
3167
3168         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
3169         code should never use deprecated features.
3170
3171         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
3172         gtk_widget_queue_clear_area deprecated
3173
3174         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
3175         deprecated
3176
3177         * gtk/gtklabel.h: mark gtk_label_get() deprecated
3178
3179         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
3180         a GdkImage deprecated, replaced by new consistently-named
3181         functions       
3182
3183         * gtk/gtkmain.h: Mark gtk_exit() deprecated
3184
3185         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
3186
3187         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
3188         deprecated
3189
3190         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
3191         so it won't appear in docs and confuse people.
3192
3193         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
3194
3195         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
3196         macros deprecated. (can't mark the type itself deprecated, since
3197         GtkProgressBar is not deprecated and we need the type decl to use
3198         GtkProgressBar)
3199
3200         * gtk/gtkpixmap.h: Mark deprecated
3201
3202         * gtk/gtkoldeditable.h: Mark deprecated
3203
3204         * gtk/gtklist.h: Mark deprecated
3205
3206         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
3207         for anything anymore.
3208
3209         * gtk/gtkctree.h: Mark deprecated
3210
3211         * gtk/gtkclist.h: Mark deprecated
3212
3213         * gtk/gtkpreview.h: Mark deprecated
3214
3215         * gtk/gtkpacker.h: Mark deprecated
3216
3217         * gtk/gtktipsquery.h: Mark deprecated
3218
3219         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
3220
3221         * gtk/gtkvruler.h: Add comment that it will move out of GTK
3222
3223         * gtk/gtkhruler.h: Add comment that it will move out of GTK
3224
3225         * gtk/gtkruler.h: Add comment that it will move out of GTK
3226
3227         * gtk/gtkgamma.h: Add comment that it will move out of GTK
3228
3229         * gtk/gtkcurve.h: Add comment that it will move out of GTK
3230
3231 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
3232
3233         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
3234         gdk_colormap_sync private since it was never exported
3235         in a header file.
3236
3237         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
3238         colormap->colors[] for StaticGray, StaticColor colormaps.
3239
3240         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
3241         was being used as if it was image->bits_per_pixel.
3242
3243         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
3244         for the image in the GdkImage structure since it isn't
3245         reconstructable, and we need it to handle packed types
3246
3247         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
3248         the assumption that on Win32 image->bits_per_pixel == image->depth,
3249         always.
3250
3251         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
3252
3253         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
3254         warning message if no converter can be found. 
3255
3256 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
3257
3258         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
3259         chars to isupper() / tolower(). (#567)
3260
3261         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
3262         to clear up 64-bit warnings. (#567)
3263
3264 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
3265
3266         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
3267         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
3268
3269         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
3270         since some people set $(libdir) separately. (#1290, David Kaelbling)
3271
3272 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
3273
3274         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
3275         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
3276         MAXPATHLEN, but the code here depends on a fixed value.)
3277         (#4524)
3278
3279 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
3280
3281         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
3282         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
3283
3284 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
3285
3286         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
3287         viewable there is no way that moving the node will cause the 
3288         focus row to become not viewable, so omit check on the visibility
3289         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
3290
3291 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
3292
3293         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
3294         selection before inserting new text.
3295
3296 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
3297
3298         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
3299         Make the sensitivity of the reparented child track that of
3300         the original parent menu item. (#34218, David Hodson)
3301
3302         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
3303         the case where the current item is destroyed properly.
3304
3305         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
3306         some edge cases with child-less menuitems.
3307         
3308 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
3309
3310         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
3311         key pop down window. (#12074, Jon K Hellan)
3312
3313 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
3314
3315         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
3316         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
3317         The solution here isn't perfect - you get an extraneous
3318         emission of "toggle", which could conceivably confuse an app,
3319         but better than the current situation. LXR search seems to
3320         indicate that no apps in GNOME CVS connect to "toggle".
3321
3322 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
3323
3324         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
3325         gtk_public_h_sources to directly here to avoid warning when
3326         building srcdir != builddir. (#9656)
3327
3328 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
3329
3330         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
3331         handlers in gtkrange.c return the proper values (TRUE == handled)
3332         (#10316).
3333
3334         This is just the tip of the iceberg, but gtkrange.c is the
3335         most common place where the propagation is problematical,
3336         and also a place where it is almost certainly safe to change
3337         this in the stable branch.
3338
3339         (You don't want right click popups on a range control or anything...)
3340
3341 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
3342
3343         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
3344         area on focus out, even if a background pixmap isn't set.
3345         (#13941)
3346         
3347 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
3348
3349         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
3350         to deal with setting the shape properly when scrolling arrows are
3351         turned on, but not visible because there is sufficient space.
3352         (#13432)
3353
3354 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
3355
3356         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
3357         items with submenus, destroy the item along with the submenu.
3358         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
3359         properly.
3360
3361         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
3362         later.
3363
3364 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
3365
3366         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
3367         the focus widget sometimes wasn't drawn with the default if there
3368         was no default widget.
3369
3370         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
3371         unreference pixmaps. 
3372
3373         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
3374         for some extra safety.
3375
3376 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
3377
3378         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
3379         the text of a cell to the old pointer value better, by
3380         copying the new text before freeing the old text. Some code
3381         cleanup. (#8079, Karl Nelson)
3382
3383 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
3384
3385         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
3386         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
3387
3388 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
3389
3390         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
3391         item from a menu, check to see if it matches 
3392         menu->old_active_menu_item, and if so, unref and clear
3393         old_active_menu_item (Patch from Pavel Cisler)
3394
3395         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
3396         menu_shell->active_menu_item, if it is the child being
3397         removed. (Patch based on that of Gene Ragan, #50337)
3398
3399 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
3400
3401         * gdk/linux-fb/gdkselection-fb.c: 
3402         * gdk/linux-fb/gdkcolor-fb.c: 
3403         * gdk/linux-fb/gdkdrawable-fb2.c: 
3404         * gdk/linux-fb/gdkfont-fb.c: 
3405         * gdk/linux-fb/gdkim-fb.c: 
3406         * gdk/linux-fb/gdkinput.c: 
3407         * gdk/linux-fb/gdkkeyboard-fb.c: 
3408         * gdk/linux-fb/gdkmain-fb.c: 
3409         * gdk/linux-fb/gdkrender-fb.c: 
3410         A bunch of whitespace cleanup.
3411         
3412 2001-01-30  Havoc Pennington  <hp@pobox.com>
3413
3414         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
3415         #ifdef GTK_ENABLE_BROKEN.
3416
3417         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
3418         GTK_ENABLE_BROKEN just before including the broken headers.
3419         
3420         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
3421         deprecated types registered.
3422
3423         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
3424         we have to test the broken stuff.
3425
3426         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
3427         
3428 2001-01-30  Havoc Pennington  <hp@redhat.com>
3429
3430         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
3431         here where prev pointer was set to the wrong thing
3432
3433         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
3434         (gtk_tree_path_is_descendant): new function
3435
3436         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
3437         cached length
3438         (gtk_list_store_get_iter): don't modify iter if we can't get the
3439         path.
3440
3441         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
3442         
3443         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
3444         GtkTreeDragDest
3445
3446         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
3447         was causing segfault
3448
3449         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
3450         pointer to NULL
3451
3452         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
3453
3454         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
3455         on returning FALSE
3456         (gtk_list_store_iter_children): ditto
3457         (gtk_list_store_iter_nth_child): ditto
3458         (gtk_list_store_iter_nth_child): ditto
3459         (gtk_list_store_iter_parent): ditto
3460
3461         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
3462         on iter->user_data != NULL instead of silently accepting it.
3463         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
3464         we are returning TRUE.
3465         (gtk_tree_store_iter_children): ditto
3466         (gtk_tree_store_iter_nth_child): ditto
3467         (gtk_tree_store_iter_parent): ditto
3468         (gtk_tree_store_insert): remove handling of parent->user_data ==
3469         NULL, replace with parent == NULL       
3470
3471         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
3472         and a comment explaining things
3473
3474         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
3475         interface support to GtkTreeStore.
3476
3477         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
3478         FALSE if no prev, fix
3479
3480         * gtk/gtktreeview.c (set_source_row): use a row reference
3481         (set_dest_row): use a row reference
3482
3483 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
3484
3485         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
3486         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
3487         (gtk_tree_selection_select_iter): The same as above.
3488
3489 2001-01-26  Havoc Pennington  <hp@redhat.com>
3490
3491         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
3492         which holds a handle to a specific row (particular set of values
3493         in the model, i.e. pointer-identity row).
3494
3495         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
3496         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
3497         Still need to use it for the src/dest row saved on the drag context.
3498
3499 2001-01-26  Havoc Pennington  <hp@redhat.com>
3500
3501         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
3502
3503         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
3504         not offset by TREE_VIEW_HEADER_HEIGHT
3505         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
3506         TREE_VIEW_HEADER_HEIGHT
3507
3508         * configure.in (included_loaders): for me, --with-included-loaders
3509         generates the error "the specified loader yes does not exist",
3510         i.e. the arg defaults to "yes", so change test for value ""
3511         to test for value "yes", and include all loaders in that case.
3512
3513         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
3514
3515         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
3516         handle TREE_VIEW_VERTICAL_SEPARATOR
3517         (gtk_tree_view_bin_expose): fix to consider the row offset as
3518         pointing halfway into vertical separator.       
3519         (gtk_tree_view_draw_node_focus_rect): ditto
3520
3521         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
3522         --gtk-debug=updates, which causes gdk_window_set_debug_updates
3523         (TRUE) to be called.
3524
3525         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
3526         debug mode where the invalid region is colored in on invalidate,
3527         so you can see the flicker and know whether your redraw code is 
3528         doing a good job.
3529
3530         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
3531         tree window coordinates (clip rect is in tree window coords)
3532
3533         * gtk/Makefile.am: add gtktreednd.[hc]
3534
3535         * gtk/gtkliststore.c: implement gtktreednd interfaces.
3536
3537         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
3538         drag-and-drop data operations on a model (so we can set up tree
3539         drag-and-drop automatically)
3540
3541         * gtk/testgtk.c: Add a window to change sensitivity in the
3542         GtkLabel test; add a way to change the entry frame in GtkEntry
3543         test
3544
3545         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
3546         (gtk_entry_get_has_frame): new functions to remove the frame
3547         around an entry
3548         (gtk_entry_size_request): shrink requisition if no frame
3549         (gtk_entry_draw_focus): don't draw frame if no frame
3550
3551         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
3552         checks inside a cell renderer
3553         (gtk_default_draw_option): ditto for options
3554
3555         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
3556         children from the alignment, not the button
3557         (gtk_tree_view_column_init): ref/sink the column, to emulate
3558         GObject refcounting.
3559
3560         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
3561         
3562         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
3563         Use theme functions to draw the toggles 
3564
3565         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
3566
3567         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
3568         GdkPangoAttrEmbossed to use in rendering insensitive text
3569
3570         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
3571
3572         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
3573         using new GDK features
3574         
3575 2001-01-24  Alexander Larsson  <alexl@redhat.com>
3576
3577         * gtk/gtkimage.c:
3578         Splitted gtk_image_clear into gtk_image_clear() and
3579         gtk_image_reset(). Call gtk_image_clear() in ::destroy
3580         to avoid leaks.
3581
3582         * gtk/gtklabel.c (set_markup):
3583         Don't leak text.
3584
3585         * gtk/gtktextlayout.c:
3586         Always free display->shaped_objects.
3587
3588         * gtk/testgtk.c (create_clist):
3589         Don't leak custom style.
3590
3591 2001-01-23  Alexander Larsson  <alexl@redhat.com>
3592
3593         * gtk/gtkcolorsel.c (grab_color_at_mouse):
3594         Don't leak image. Simplify using gdk_colormap_query_color().
3595         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
3596
3597         * linux-fb/gdkcolor-fb.c:
3598         Implemented gdk_colormap_query_color.
3599
3600 2001-01-23  Alexander Larsson  <alexl@redhat.com>
3601
3602         * linux-fb/gdkcursor-fb.c:
3603         Don't leak built-in cursors.
3604
3605         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
3606         Don't leak tmp_points.
3607
3608         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
3609         Don't modify desc. Don't leak font if the PangoFont
3610         isn't found.
3611         
3612         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
3613         Free dash_list.
3614
3615         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
3616         Don't leak string.
3617         
3618 2001-01-20  Havoc Pennington  <hp@pobox.com>
3619
3620         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
3621         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
3622         me, matches Pango
3623
3624 2001-01-22  Havoc Pennington  <hp@redhat.com>
3625
3626         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
3627
3628         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
3629
3630         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
3631         Remove, move back to gdk-pixbuf
3632
3633         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
3634         to all the word functions
3635
3636         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
3637         before doing anything on NULL layout or if we don't have the focus
3638
3639         * gtk/testtext.c (fill_example_buffer): "justification"
3640
3641         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
3642         to be called "justification" not "justify"
3643
3644         * demos/gtk-demo/textview.c (create_tags): "justification"
3645         
3646         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
3647
3648 2001-01-22  Alexander Larsson  <alexl@redhat.com>
3649
3650         * gdk/gdkwindow.c (gdk_window_invalidate_region):
3651         Don't leak visible_region. Use visible_region instead of region.
3652         
3653         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
3654         Don't do extra gdk_drawable_ref(). This is not X.
3655         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
3656         gdk_fb_focused_window is ref:ed.
3657         (gdk_fb_window_send_crossing_events): Watch out for destroyed
3658         windows.
3659
3660 2001-01-22  Alexander Larsson  <alexl@redhat.com>
3661
3662         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
3663         Don't leak the PangoFontDescriptor.
3664
3665 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
3666
3667         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
3668         when not realized.
3669         (gtk_tree_view_scroll_to_cell): Make work when not realized.
3670         (gtk_tree_view_realize): add scroll_to support
3671         (gtk_tree_view_finalize): add a finalize method.  Populate.
3672         (gtk_tree_view_insert_column): ref and sink the column.
3673         (gtk_tree_view_append_column): ref and sink the column.
3674         (gtk_tree_view_queue_draw_node): New function to handle redrawing
3675         individual nodes.  Should make the code much more efficient, if
3676         actually used.
3677
3678 2001-01-19  Havoc Pennington  <hp@redhat.com>
3679
3680         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
3681         byte_offset variable was being used to mean both "offset into
3682         layout" and "offset into buffer line" which was no longer true
3683         with addition of preedit string; fix
3684
3685 2001-01-19  Havoc Pennington  <hp@redhat.com>
3686
3687         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
3688
3689         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
3690         function
3691
3692         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
3693         implement
3694
3695         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
3696         scroll_to_cell, matches TextView scroll functions better
3697         (gtk_tree_view_tree_to_widget_coords): new function
3698         (gtk_tree_view_widget_to_tree_coords): new function
3699         (gtk_tree_view_get_visible_rect): new function
3700         (gtk_tree_view_get_path_at_pos): accept negative coordinates
3701         (gtk_tree_view_draw_node_focus_rect): new function moved from
3702         draw_focus, also, use width of bin_window as width of the focus
3703         rect
3704         (gtk_tree_view_expand_row): fix bug where it didn't recognize
3705         already-expanded rows
3706         (gtk_tree_view_get_cell_rect): new function
3707         (gtk_tree_view_get_path_at_pos): return the click position
3708         relative to the passed-in cell
3709         (gtk_tree_view_set_expander_column): new function
3710
3711         * configure.in: remove gtk-config-2.0 chmod
3712
3713         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
3714         and properly handle drags with targets we don't understand
3715         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
3716         scrolling anyway
3717         (gtk_text_view_drag_drop): stop scrolling here though, and set the
3718         mark invisible
3719
3720         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
3721         function
3722         (gtk_drag_dest_get_target_list): new function
3723         (gtk_drag_dest_set_target_list): new function
3724         
3725         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
3726
3727         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
3728         related to drag-and-drop
3729
3730 2001-01-19  Alexander Larsson  <alexl@redhat.com>
3731
3732         * gdk/linux-fb/gdkprivate-fb.h:
3733         Define EMULATE_GDKFONT.
3734         Add extra pango_font stuff to GfkFontPrivate.
3735         
3736         * gdk/linux-fb/gdkdrawable-fb2.c:
3737         * gdk/linux-fb/gdkfont-fb.c:
3738         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
3739         emulation using PangoFont.
3740
3741 2001-01-17  Havoc Pennington  <hp@pobox.com>
3742
3743         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
3744         all the non-deprecated set_foo functions. Added missing object
3745         properties, and added g_object_notify() to setters. 
3746         Wrote docs.
3747         
3748 2001-01-18  Tor Lillqvist  <tml@iki.fi>
3749
3750         * gtk/gtkmain.c
3751         * gtk/gtkrc.c: (Win32) Use the new
3752         g_win32_get_package_installation_(sub)directory() functions.
3753
3754         * config.h.win32.in: New file.
3755         
3756         * config.h.win32: Removed.
3757
3758         * configure.in: Output config.h.win32.
3759
3760         * Makefile.am: Add it to EXTRA_DIST.
3761
3762         * gtk/gtk.def: Update.
3763
3764 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
3765
3766         * gtk/gtklabel.c (gtk_label_size_request): Set the
3767         attributes onto the PangoLayout even if they are newly
3768         created from label->pattern.
3769
3770 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
3771
3772         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
3773
3774         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
3775         structures in functions. Fixes bug where gtk_dataset_*
3776         was accidentally still being used in one place, causing
3777         every dest side event to be treated independently.
3778
3779         * gtk/gtkdnd.c: Remove last vestages of handling
3780         ::draw (fixes warning)
3781         
3782         * gtk/gtkentry.[ch]: Add drag and drop support.
3783
3784         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
3785         new function gtk_check_drag_threshhold() for checking
3786         to check if (dx,dy) has exceeded the threshhold for starting
3787         a drag and use it everywhere.
3788
3789 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
3790
3791         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
3792         add -I{includedir}/gtk-2.0.
3793
3794         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
3795         gdk/gdk-pixbuf.h: Doc fixups.
3796         
3797         * gtk/gtkobject.h: Remove trailing , from enum
3798
3799 2001-01-17 Alexander Larsson <alexl@redhat.com> 
3800
3801         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
3802         Doh! Mixed up x and y.
3803
3804         * gdk/linux-fb/gdkglobals-fb.c:
3805         Removed gdk_fb_pointer_grab_window_events,
3806         added _gdk_fb_pointer_grab_owner_events and
3807         _gdk_fb_keyboard_grab_owner_events.
3808
3809         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
3810         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
3811         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
3812         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
3813         Send crossing events after ungrab finished.
3814         (gdk_keyboard_grab): Set ..._owner_events
3815         (type_masks): Move out of function.
3816         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
3817         gdk_fb_keyboard_event_window): New functions, return the
3818         window an event should be targeted at. Handles grabs and
3819         event propagation. Can return NULL.
3820         (gdk_event_make): Remove event_mask checking. Now always
3821         returns an event.
3822                 
3823         * gdk/linux-fb/gdkkeyboard-fb.c:
3824         * gdk/linux-fb/gdkproperty-fb.c:
3825         * gdk/linux-fb/gdkselection-fb.c:
3826         Use new event_window/gdk_event_make() behaviour.
3827         
3828         * gdk/linux-fb/gdkmouse-fb.c:
3829         Use new event_window/gdk_event_make() behaviour.
3830         Only send motion events if in the same window.
3831         If grabbed, use cursor from window if sibling of grabbed
3832         window, and cursor from grabbed window otherwise.
3833
3834         * gdk/linux-fb/gdkprivate-fb.h:
3835         Update gdk_fb_window_send_crossing_events, gdk_event_make
3836         and grab varaible declarations. Add gdk_fb_*_event_window().
3837
3838         * gdk/linux-fb/gdkwindow-fb.c:
3839         Use new event_window/gdk_event_make() behaviour.
3840         Keep correct track of focus window.
3841         (gdk_window_set_events): Set all specific button motion masks
3842         if GDK_BUTTON_MOTION_MASK set.
3843
3844         * gtk/gtkdnd.c (gtk_drag_update):
3845         Free info->last_event if gdk_drag_motion returned FALSE.
3846
3847 2001-01-16  Tor Lillqvist  <tml@iki.fi>
3848
3849         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
3850         Eliminate redraws when input-only windows are shown or
3851         hidden. Thanks to jpe@archaeopteryx.com.
3852
3853 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
3854
3855         * docs/faq/gtk-faq.sgml: FAQ update:
3856           - Update to bugzilla
3857           - Add GTK+ and security/SUID/SGID
3858           - Add DnD question
3859
3860 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
3861
3862         * gdk/linux-fb/gdkdnd-fb.c:
3863         Some cleanups.
3864         
3865 2001-01-15  Havoc Pennington  <hp@pobox.com>
3866
3867         * tests/testtreeview.c: add test stuff for CellRendererToggle
3868
3869         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
3870         accessor
3871
3872         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
3873         only toggle on button press (would do release like GtkButton, but
3874         we'd need implicit grab code for treeview cells)
3875
3876 2001-01-16  Tor Lillqvist  <tml@iki.fi>
3877
3878         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
3879
3880         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
3881         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
3882
3883         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
3884         to g_{locale,filename}_{to,from}_utf8 to match current API.
3885
3886         * gtk/makefile.msc.in (gtk_OBJECTS)
3887         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
3888
3889         * gtk/gtk.def: Update.
3890
3891 2001-01-15  Tor Lillqvist  <tml@iki.fi>
3892
3893         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
3894         implementaion that more closely mimics the events that an X server
3895         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
3896         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
3897         with nested preview widgets, for instance, more responsive when
3898         you move the mouse quickly into them.
3899         (find_window_for_pointer_event): Make it actually compile.
3900         (gdk_event_translate): Set send_event to the value of
3901         InSendMessage (). This doesn't really mean the same as X11's
3902         send_event flag, but is close enough, says jpe@archaeopteryx.com
3903
3904 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3905
3906         * gdk/linux-fb/gdkdnd-fb.c:
3907         Implemented drag and drop.
3908         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
3909         when it tries to free and then copy the same event (info->last_event).
3910         I am not sure about why this happens, but will continue looking.
3911
3912 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3913
3914         * gdk/linux-fb/gdkwindow-fb.c:
3915         Use gdk_window_invalidate_rect instead of
3916         gdk_window_invalidate_rect_clear to minimise flashing.
3917         When hiding windows you need to clear the root window though.
3918
3919 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3920
3921         * gdk/linux-fb/gdkdrawable-fb2.c:
3922         For optization, add an full_shapes argument to gdk_fb_clip_region.
3923         If this is false, only the cliprects of the shapes are used.
3924
3925         * gdk/linux-fb/gdkprivate-fb.h:
3926         Export gdk_fb_window_peek_shape.
3927         Add full_shapes to gdk_fb_clip_region.
3928
3929         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
3930         When moving a window, don't clear everything under the it, just the
3931         root window. Makes stuff faster and flash less.
3932         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
3933         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
3934         offset of the shape.
3935         
3936
3937 2001-01-12  Havoc Pennington  <hp@redhat.com>
3938
3939         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
3940         current invalid region, fixes redraw bug while scrolling the 
3941         text widget
3942
3943         * gtk/gtktextview.c, gtk/gtktextview.h:
3944         Rearrange the scrolling/validation/etc. code in a major way, 
3945         so it seems to make sense to me. Probably isn't genuinely that
3946         much better, but...
3947
3948         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
3949         notifies
3950
3951         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
3952
3953 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
3954
3955         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
3956         Hide mouse pointer while rotation. Show it afterwards.
3957
3958 2001-01-12  Alexander Larsson  <alexl@redhat.com>
3959
3960         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
3961         windows in consideration when generating clip region.
3962
3963         * gdk/linux-fb/gdkfb.h:
3964         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
3965
3966         * gdk/linux-fb/gdkprivate-fb.h:
3967         Add shape to GdkWindowFBDatat.
3968         exported gdk_fb_window_get_abs_shape().
3969         removed gdk_fb_draw_lines declaration.
3970
3971         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
3972         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
3973         send focus changes when there is a grabbed window.
3974         (gdk_window_get_pointer): Handle shaped windows.
3975         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
3976         (gdk_fb_window_peek_shape): Returns the shape for a window,
3977         handles GDK_FB_USE_CHILD_SHAPE.
3978         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
3979         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
3980         (gdk_window_shape_combine_mask): Implement.
3981
3982         * gtk/gtkwindow-decorate.c:
3983         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
3984         setting the shape of a window makes the window transparent.
3985
3986 2001-01-11  Havoc Pennington  <hp@redhat.com>
3987
3988         * gtk/gtktreemodelsimple.h: Oops, broke some macros
3989
3990 2001-01-10  Havoc Pennington  <hp@redhat.com>
3991
3992         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
3993         add this function, bug 40251
3994
3995         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
3996         of type macro   
3997
3998 2001-01-11  Alexander Larsson  <alexl@redhat.com>
3999
4000         * acconfig.h:
4001         Added ENABLE_SHADOW_FB
4002
4003         * configure.in:
4004         Added --disable-shadowfb
4005
4006         * gdk/linux-fb/gdkcursor-fb.c:
4007         Update shadowfb when updating cursor
4008
4009         * gdk/linux-fb/gdkdrawable-fb2.c:
4010         Added wrappers for shadowfb that calls  the normal drawable
4011         methods, but calls gdk_shadow_fb_update(bounding box) when
4012         GdkWindows are drawed to.
4013         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
4014         which also returns the bounding box.
4015
4016         * gdk/linux-fb/gdkfb.h:
4017         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
4018
4019         * gdk/linux-fb/gdkgeometry-fb.c:
4020         Update shadowfb when scrolling window.
4021
4022         * gdk/linux-fb/gdkglobals-fb.c:
4023         Add _gdk_fb_screen_angle.
4024         
4025         * gdk/linux-fb/gdkkeyboard-fb.c:
4026         Test code for screen rotation. Shift-F2 in the xlate driver
4027         rotates the screen.
4028
4029         * gdk/linux-fb/gdkmain-fb.c:
4030         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
4031
4032         * gdk/linux-fb/gdkmouse-fb.c:
4033         Use fb_width/height instead of modeinfo.xres/yres.
4034
4035         * gdk/linux-fb/gdkprivate-fb.h:
4036         Added fb_men, fb_width, fb_height & fb_stride. When using
4037         shadow fb these can differ from the framebuffer stuff.
4038         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
4039         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
4040         _gdk_fb_screen_angle. Removed CM, RP.
4041
4042         * gdk/linux-fb/gdkrender-fb.c:
4043         Added code for shadowfb handling and screen rotation using
4044         shadowfb.
4045
4046         * gdk/linux-fb/gdkwindow-fb.c:
4047         Use fb_mem, fb_stride, fb_width, fb_height.
4048         Added recompute_rowstride to reset the rowstride of all windows.
4049         Added gdk_fb_recompute_all() which recomputes rootwindow size,
4050         window abs positions and window rowstrides. Usefull when the
4051         rotation has changed.
4052
4053 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
4054
4055         * docs/faq/gtk-faq.sgml: update to make web site updating easier
4056
4057 2001-01-10  Havoc Pennington  <hp@redhat.com>
4058
4059         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
4060         where sibling == iter
4061         (gtk_tree_store_insert_after): handle sibling == iter
4062         (gtk_tree_store_prepend): remove stamp checks
4063         (gtk_tree_store_insert_before): ditto
4064         (gtk_tree_store_append): ditto
4065         (gtk_tree_store_get_path): ditto
4066         (gtk_tree_store_get_value): ditto
4067         (gtk_tree_store_iter_has_child): ditto
4068         (gtk_tree_store_iter_n_children): ditto
4069         (gtk_tree_store_iter_nth_child): ditto
4070         (gtk_tree_store_insert_after): ditto
4071         (gtk_tree_store_is_ancestor): ditto
4072         (gtk_tree_store_iter_depth): ditto
4073         (gtk_tree_store_insert_before): assert that sibling's parent is
4074         the same as the passed-in parent
4075         (gtk_tree_store_insert_after): assert that sibling's parent is
4076         the same as the passed-in parent
4077
4078         
4079         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
4080         function to get the first iterator in a model
4081         
4082         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
4083         conventionally the "root" in this sense is just NULL afaict.
4084
4085         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
4086         where sibling == iter
4087         (gtk_list_store_insert_after): handle case where sibling == iter
4088
4089         * tests/testtreeview.c (run_automated_tests): fairly lame basic
4090         automated tests for ListStore, TreeStore
4091
4092         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
4093         (gtk_list_store_insert): update tail pointer, and fix it to work
4094         (gtk_list_store_insert_before): update tail pointer, and fix it to work
4095         (gtk_list_store_append): use tail to be faster
4096         (gtk_list_store_prepend): fix it, update tail pointer
4097         (gtk_list_store_insert_after): fix it, update tail pointer
4098
4099         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
4100         the list
4101
4102 2001-01-09  Havoc Pennington  <hp@redhat.com>
4103
4104         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
4105         is NULL due to a pending resize
4106
4107         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
4108         column width to values less than 1
4109
4110         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
4111         width to be between min/max width, and still set the width 
4112         even if autosize is turned on, so the tree view can use this 
4113         function in order to autosize.
4114         (gtk_tree_view_column_init): set initial width to 1 not 0
4115
4116         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
4117         setter function to modify column width, so we get notification
4118         (gtk_tree_view_insert_iter_height): ditto
4119         (gtk_tree_view_calc_size): ditto
4120         (gtk_tree_view_check_dirty): ditto
4121
4122         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
4123         properties to change all the interesting attributes of the tree
4124         view column.
4125         (gtk_tree_view_column_set_header_clickable): rename set_clickable
4126         (gtk_tree_view_column_get_clickable): add
4127         (gtk_tree_view_column_set_cell_renderer): don't unset the current
4128         attributes; assume a cell renderer with equivalent object
4129         properties has been swapped in. Do g_object_notify().
4130         (gtk_tree_view_column_set_visible): g_object_notify
4131         (gtk_tree_view_column_get_sizing): rename from get_col_type
4132         (gtk_tree_view_column_set_sizing): g_object_notify
4133         (gtk_tree_view_column_set_width): add g_object_notify
4134         (gtk_tree_view_column_set_min_width): ditto
4135         (gtk_tree_view_column_set_max_width): ditto
4136         (gtk_tree_view_column_set_title): ditto
4137         (gtk_tree_view_column_set_clickable): ditto
4138         (gtk_tree_view_column_set_widget): ditto
4139         (gtk_tree_view_column_set_justification): ditto
4140
4141 2001-01-09  Havoc Pennington  <hp@redhat.com>
4142
4143         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
4144         there are no rows in the model
4145
4146         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
4147         NULL, then return the start of the list
4148
4149         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
4150         if we can't get any rows from an empty model 
4151
4152         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
4153         extraneous * after function pointer typedef usage
4154
4155         * Makefile.am: don't specify full path to cp and rm
4156
4157         * gtk/gtkcellrenderertextpixbuf.c
4158         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
4159         NULL before dereferencing, fixes a segfault that happened from
4160         time to time
4161
4162         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
4163         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
4164         and reindent the function
4165         (gtk_cell_renderer_pixbuf_get_size): indentation
4166
4167         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
4168         we quit it
4169         (gtk_dialog_add_buttons_valist): add g_return_if_fail
4170         (gtk_dialog_set_default_response): New function, to set default
4171         button
4172         (gtk_dialog_set_response_sensitive): New function, to set 
4173         sensitivity of buttons
4174
4175         * gtk/gtkcellrendererpixbuf.c
4176         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
4177         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
4178
4179         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
4180         handle any G_TYPE_OBJECT subclass, not just the base class, and 
4181         also boxed types.
4182         (_gtk_tree_data_list_value_to_node): ditto
4183
4184         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
4185         --gtk-debug=tree
4186
4187         * gtk/gtkmain.c: add GTK_DEBUG_TREE
4188
4189         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
4190
4191 2001-01-09  Tor Lillqvist  <tml@iki.fi>
4192
4193         * gdk/win32/gdkevents-win32.c: Implement better mouse
4194         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
4195         (find_window_for_pointer_event): New function.
4196         (gdk_event_translate): Use it when handling mouse events.
4197
4198 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
4199
4200         * configure.in:
4201         Added --with-included-loaders option
4202
4203         * gdk-pixbuf/Makefile.am:
4204         * gdk-pixbuf/gdk-pixbuf-io.c:
4205         Add support for including selected gdk-pixbuf loaders only.
4206
4207         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
4208         gtk_window_set_has_frame):
4209         Added inline documentation.
4210
4211         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
4212         * docs/reference/gdk/tmpl/windows.sgml:
4213         Added inline documentation.
4214
4215 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
4216
4217         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
4218         realizing buttons that have already been realized.
4219
4220 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
4221
4222         * tests/testtreeview.c (main): Show menu items before adding to
4223         option menu.
4224
4225         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
4226         around if we kill them.
4227
4228         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
4229         Return if we pass in a NULL model.
4230
4231 2001-01-08  Havoc Pennington  <hp@redhat.com>
4232
4233         * tests/testtreeview.c: hack on this some
4234
4235         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
4236         gtk_tree_store_set_valist, v is for arrays, valist for varargs
4237         list
4238         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
4239
4240         * gtk/gtkliststore.h: Add varargs set() and get() convenience
4241         functions
4242
4243 2001-01-08  Alexander Larsson  <alexl@redhat.com>
4244
4245         * gtk/gtkwindow-decorate.[hc]:
4246         * gtk/Makefile.am:
4247         New files. Contains an implementation of a minimal WM for
4248         linux-fb.
4249
4250         * gtk/gtkwindow.h:
4251         Add the possibility for GtkWindows to specify a frame. This
4252         is used for the window decoration code, but could concievably
4253         be used for X programs too (xmms style windows).
4254         GtkWindow->frame is the toplevel window if the window is framed.
4255         The signal frame_event gets all events that are targeted to
4256         GtkWindow->frame.
4257         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
4258         
4259         * gtk/gtkwindow.c:
4260         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
4261         Call out to gtkwindow-decorate.c for WM support in linx-fb.
4262
4263 2001-01-08  Alexander Larsson  <alexl@redhat.com>
4264
4265         * docs/README.linux-fb:
4266         Correct filename ~/.pangoft2_aliases
4267
4268         * gdk/gdkwindow.h:
4269         Added new function gdk_window_get_decorations.
4270
4271         * gdk/linux-fb/gdkfb.h:
4272         Removed _gdk_window_get_decorations declaration.
4273         Renamed _gdk_window_set_child_handler to
4274         gdk_fb_window_set_child_handler.
4275
4276         * gdk/linux-fb/gdkwindow-fb.c:
4277         Renamed _gdk_window_set_child_handler to
4278         gdk_fb_window_set_child_handler.
4279
4280         * gdk/x11/gdkwindow-x11.c:
4281         New function gdk_window_get_mwm_hints().
4282         Implemented gdk_window_get_decorations.
4283
4284         * docs/reference/gdk/tmpl/windows.sgml:
4285         * docs/reference/gdk/gdk-sections.txt:
4286         Added gdk_window_get_decorations docs.
4287         
4288 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
4289
4290         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
4291         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
4292         gdk_fb_window_send_crossing_events):
4293         Possibly send focus events when the mouse moves from one
4294         window to another.
4295
4296 2001-01-07  Tor Lillqvist  <tml@iki.fi>
4297
4298         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
4299         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
4300         to match current API.
4301
4302         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
4303         environment variable is set, don't call g_error when on a
4304         palettized (PseudoColor) display. Some people want to use GTK+ 
4305         in 256-colour mode even though works only partially.
4306
4307         * gdk/gdk.def
4308         * gtk/gtk.def
4309         * gtk/makefile.mingw.in: Update.
4310
4311 2001-01-05  Havoc Pennington  <hp@redhat.com>
4312
4313         * tests/testtreeview.c: hack on this a bit
4314
4315         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
4316         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
4317
4318         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
4319         was spelled incorrectly
4320         (GTK_IS_TREE_MODEL_SIMPLE): ditto
4321
4322         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
4323         from gtk_tree_view_set_headers_active   
4324
4325         * gtk/gtktexttag.c:
4326         (gtk_text_tag_get_property): handle PROP_DIRECTION
4327         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
4328         properties, bug 40235
4329
4330         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
4331         forward_to_line_end
4332
4333 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
4334
4335         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
4336         modules/input/gtkimcontextxim.c: Adapt to new prototypes
4337         for unicode,locale,filename conversion functions.
4338
4339 2001-01-05  Havoc Pennington  <hp@redhat.com>
4340
4341         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
4342         broken if called on the first position in the buffer.
4343
4344         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
4345         forward_to_delimiters to be called only if we aren't already at
4346         the delimiters.
4347
4348 2001-01-05  Havoc Pennington  <hp@redhat.com>
4349
4350         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
4351
4352 2001-01-05  Alexander Larsson  <alexl@redhat.com>
4353
4354         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
4355         colormap in here. Sync from X port.
4356         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
4357         Sync from X port.
4358         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
4359         This happens now and then, and i don't think it is a bug.
4360         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
4361         != endpoint.
4362         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
4363         GDK_LINE_SOLID.
4364
4365         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
4366         some of the fields filled in at least.
4367
4368         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
4369         miLineArcD is no more, remove it from the function definition.
4370
4371 2001-01-04  Havoc Pennington  <hp@redhat.com>
4372
4373         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
4374         this
4375
4376         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
4377         user_data instead of tree_node
4378
4379         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
4380         TREE_VIEW_COLUMN_SIZE
4381
4382         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
4383         "size" field to "width" finishes bug 40061
4384
4385         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
4386         for bitfields, bug 40268
4387
4388 2001-01-04  Havoc Pennington  <hp@redhat.com>
4389
4390         Rename some stuff:
4391         
4392         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
4393
4394         s/GtkModelSimple/GtkTreeModelSimple/g;
4395         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
4396         s/gtk_model_simple/gtk_tree_model_simple/g;
4397         s/gtkmodelsimple/gtktreemodelsimple/g;
4398
4399         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
4400
4401         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
4402         s/column_set_col_type/column_set_sizing/g;
4403
4404         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
4405         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
4406
4407         s/GtkCellRendererType/GtkCellRendererState/g;
4408         
4409         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
4410         (gtk_cell_renderer_toggle_class_init): change "state" property to
4411         "active", to match GtkToggleButton
4412         (gtk_cell_renderer_toggle_get_active): new function, bug
4413         40269
4414         (gtk_cell_renderer_toggle_set_active): new function
4415         (gtk_cell_renderer_toggle_set_property): route changes to toggle
4416         state through gtk_cell_renderer_set_active
4417
4418 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
4419
4420         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
4421         temporarily until they work again.  Brought up to date with
4422         changes in the model.
4423         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
4424         model.
4425
4426 2001-01-04  Havoc Pennington  <hp@redhat.com>
4427
4428         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
4429         equal to the line length, then position iterator before paragraph 
4430         separators. Fixes crash reported by Mikael Hermansson when
4431         pressing left arrow from the start of a line.   
4432
4433         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
4434         about byte indexes off the end
4435         (iter_set_from_char_offset): add g_error about char offsets
4436         off the end
4437
4438 2001-01-03  Havoc Pennington  <hp@redhat.com>
4439
4440         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
4441
4442         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
4443         of private functions; remove inclusion of private headers.
4444
4445         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
4446         function, so we don't need private functions in gtktextdisplay.c
4447
4448         * gtk/gtktextiterprivate.h: underscore-ification
4449
4450         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
4451         to instead say "only useful to implement widgets"
4452
4453         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
4454         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
4455         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
4456
4457         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
4458         This function was completely broken
4459
4460         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
4461
4462         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
4463
4464         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
4465
4466         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
4467
4468         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
4469
4470         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
4471
4472         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
4473         gtk_paint_layout
4474
4475         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
4476         gtk_paint_layout
4477
4478         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
4479         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
4480         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
4481         which were not implemented.     
4482
4483         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
4484         insert_pixbuf signal. Rename delete_text to delete_range since it
4485         also deletes pixbufs and child anchors. This almost closes bug
4486         40245 (still need to deal with child anchors)
4487
4488         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
4489         insert_pixbuf, change signal names as appropriate, change types of
4490         signals taking marks/tags to have the specific type, not just
4491         G_TYPE_OBJECT
4492         
4493         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
4494         closes bug 40051
4495
4496         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
4497         unnecessary remove_contents() call
4498         (gtk_option_menu_class_init): add a "changed" signal, closes
4499         bug 40039
4500         (gtk_option_menu_update_contents): emit "changed" if the 
4501         active menu item changes
4502
4503         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
4504         cast to GtkObject, reported by Jonas Borgstrom
4505         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
4506         we can't do stuff with side effects in finalize. Instead, spew a
4507         warning if the loader isn't closed.
4508
4509         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
4510         colormap in here, non-X ports probably need to sync to this change
4511
4512         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
4513         assertion that colormap != NULL, you can set the colormap to NULL
4514         if you like.
4515         
4516         * Makefile.am: remove gtk-config-2.0
4517
4518         * configure.in: Use pkg-config to locate GLib. Remove
4519         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
4520         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
4521         Use pkg-config to locate Pango. Output correct Pango libs to
4522         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
4523
4524         * Makefile.am (pkgconfig_DATA): install only target-specific pc
4525         files
4526         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
4527         X11 pc files
4528
4529         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
4530         unref from here
4531
4532 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
4533
4534         * configure.in:
4535         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
4536
4537 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
4538
4539         * gtk/gtktextlayout.c
4540         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
4541         variable when moving back onto a single line.
4542
4543 2001-01-01  Havoc Pennington  <hp@redhat.com>
4544
4545         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
4546
4547         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
4548
4549         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
4550         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
4551
4552 2001-01-01  Havoc Pennington  <hp@redhat.com>
4553
4554         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
4555
4556         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
4557         GtkTextAttributes
4558
4559         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
4560         #40246
4561         (gtk_text_attributes_copy_values): rename from 
4562         gtk_text_attributes_copy
4563         (gtk_text_attributes_copy): a more standard GTK copy function, 
4564         which returns a new object
4565
4566 2001-01-01  Havoc Pennington  <hp@redhat.com>
4567
4568         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
4569         
4570         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
4571         don't fill in tree_view->priv->selection, kind of an unexpected
4572         side effect
4573
4574         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
4575         gtkintl.h
4576         
4577         * gtk/gtkcellrenderer.c: Remove definition of _ and include
4578         gtkintl.h
4579         (gtk_cell_renderer_get_property): remove calls to g_value_init
4580
4581         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
4582         gtkintl.h
4583
4584         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
4585         and include gtkintl.h
4586         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
4587         property names
4588
4589         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
4590         GtkTreeSelection
4591         (_gtk_tree_selection_new_from_with_view): rename, return
4592         GtkTreeSelection
4593         (_gtk_tree_selection_set_tree_view): rename with uscore
4594         (gtk_tree_selection_get_selected): fill in the "model" out param
4595         first, so it gets filled in even if we return at the top of the 
4596         function
4597         (gtk_tree_selection_real_select_all): add a comment and an else{}
4598         to clarify this a bit
4599         (gtk_tree_selection_real_unselect_all): add the same else{}
4600
4601         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
4602         set_tree_view to have underscore prefixes, move them to the
4603         private header, fix return type of new_with_tree_view
4604         (struct _GtkTreeSelection): mark struct
4605         fields private  
4606
4607         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
4608         GtkTreeModelFlags, not a guint
4609         (gtk_tree_path_prev): return gboolean not gint
4610         (gtk_tree_path_up): return gboolean not gint
4611
4612         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
4613         return GtkTreeModelFlags, not a guint
4614
4615         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
4616         that child model is non-null before unrefing it
4617         (g_value_int_compare_func): make this a qsort compare func, not 
4618         a boolean predicate
4619
4620         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
4621         (add -umn to the end), and mark it unimplemented
4622         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
4623         I don't see what it's for - doesn't the model always sort itself?
4624         (gtk_tree_model_sort_set_compare): this had the wrong signature
4625
4626         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
4627         Fix the docs to say that it destructively replaces existing
4628         attributes (previously said that it added attributes).
4629         (gtk_tree_view_column_set_visible): canonicalize bool before
4630         equality testing. Also, check for realization before
4631         hiding/showing the tree_column->window; if this window could exist
4632         before realization, then it's busted and needs fixing, we can't 
4633         create GDK resources pre-realization. Also, remove
4634         superfluous queue_resize(), since set_size() does that for us.
4635         (gtk_tree_view_column_set_col_type): check realization before 
4636         using tree_column->window
4637
4638         * gtk/gtktreedatalist.c: fix filename in copyright notice
4639
4640 2000-12-31  Havoc Pennington  <hp@pobox.com>
4641
4642         * gtk/gtktextview.c: Rearrange all the
4643         scroll-while-dragging-or-selecting code to be different, not
4644         necessarily better. ;-)
4645         (gtk_text_view_scroll_to_mark): Change this
4646         function to take within_margin as a fraction instead of a pixel
4647         value, and to take alignment arguments (indicating where to align 
4648         the mark inside the visible area)
4649         
4650         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
4651         to GtkObject
4652
4653         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
4654         behavior so that offsets past the end of the line are not 
4655         allowed, and an offset equal to the line length moves the iterator
4656         to the next line
4657         (gtk_text_iter_set_line_index): make parallel change
4658         (gtk_text_iter_get_bytes_in_line): add this function
4659         
4660         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
4661         of byte indexes off the end of the line; byte index at the end of
4662         the line now returns FALSE and doesn't fill in the requested
4663         values, byte index past the end of the line is an error.  Also,
4664         don't allow -1 offset anymore, since its meaning is unclear.
4665
4666         This change exposes some bug in visual cursor motion, where we
4667         end up with a huge invalid byte index; needs fixing. Symptom of 
4668         bug is a crash when you hit up arrow.
4669         
4670         (_gtk_text_line_char_locate): match the change to byte_locate
4671
4672         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
4673         from start of line properly. fixes bug reported by Mikael
4674         Hermansson where backspace would delete all text before the
4675         cursor.
4676
4677 2000-12-30  Tor Lillqvist  <tml@iki.fi>
4678
4679         * gdk/win32/gdkwindow-win32.c
4680         (gdk_window_impl_win32_get_visible_region): New function, as in
4681         the X11 backend.
4682         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
4683         instead of duplicating the same code here.
4684
4685         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
4686         GDK_COLORMAP macro.
4687
4688         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
4689         destroy function.
4690         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
4691         access that.
4692
4693         * gtk/gtk.def: Update.
4694
4695         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
4696
4697 2000-12-30  Havoc Pennington  <hp@pobox.com>
4698
4699         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
4700         colormap on input only windows, to avoid special cases all over
4701         the code for these windows.
4702
4703 2000-12-26  Tor Lillqvist  <tml@iki.fi>
4704
4705         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
4706         we are on a palettized display ("PseudoColor" in X11), as the code
4707         for that doesn't work anyway, and never has.
4708
4709 2000-12-22  Alexander Larsson  <alexl@redhat.com>
4710
4711         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
4712         Don't use isprint() for chars > 255.
4713
4714 2000-12-21  Havoc Pennington  <hp@redhat.com>
4715
4716         * tests/testtreeview.c: more work
4717
4718 2000-12-21  Alexander Larsson  <alexl@redhat.com>
4719
4720         * docs/README.linux-fb:
4721         Update the docs to the new pangoft2 way.
4722
4723 2000-12-21  Alexander Larsson  <alexl@redhat.com>
4724
4725         * configure.in:
4726         For linux-fb get the pangoft2 cflags and libs. This needs a recent
4727         pango version.
4728         Remove modules/linux-fb/Makefile.
4729
4730         * gdk/linux-fb/gdkdrawable-fb2.c:
4731         Render glyphs using freetype.
4732
4733         * gdk/linux-fb/gdkfb.h:
4734         Add new fb-specific functions needed for managing windows.
4735
4736         * gdk/linux-fb/gdkmain-fb.c:
4737         Remove gdk_font_init/fini() calls.
4738
4739         * gdk/linux-fb/gdkpango-fb.c:
4740         Remove old implementation. Use pangoft2 instead.
4741
4742         * gdk/linux-fb/gdkprivate-fb.h:
4743         Remove PangoFBFont and related stuff.
4744
4745         * gdk/linux-fb/gdkwindow-fb.c:
4746         Implement drawable->get_visible_region.
4747         Implement support for _gdk_window_set_child_handler () and
4748         _gdk_window_get_decorations().
4749
4750         * modules/Makefile.am:
4751         Remove linux-fb subdir.
4752
4753         * modules/linux-fb/*:
4754         Removed all.
4755         
4756 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
4757
4758         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
4759         calls, as they are no longer needed.
4760
4761         * gtk/gtktreemodelsort.c: Fix up the comparison code.
4762         
4763         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
4764         figure out how to emit a signal on an interface.
4765
4766 2000-12-20  Havoc Pennington  <hp@redhat.com>
4767
4768         * tests: new directory to contain tests, gtk/test* should move
4769         here sometime (with appropriate on-cvs-server hackery)
4770
4771         * tests/testtreeview.c, tests/Makefile.am: a test
4772         
4773         * configure.in (AC_OUTPUT): add tests/Makefile
4774
4775         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
4776         and "invisible_set" which were missing
4777
4778         * gtk/gtkrbtree.h: some cheesy indentation fix
4779         
4780 2000-12-20  Alexander Larsson  <alexl@redhat.com>
4781
4782         * gtk/gtkinvisible.c (gtk_invisible_realize):
4783         Attach the style to the window so that the style it is not
4784         leaked when unrealizing the window.
4785
4786 2000-12-18  Havoc Pennington  <hp@redhat.com>
4787
4788         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
4789         begin/end user action where appropriate
4790         (gtk_text_view_commit_handler): add begin/end user action
4791
4792         * gtk/gtktextbuffer.c: add begin/end user action signals, and
4793         bracket interactive operations with begin/end user action pair.
4794         
4795         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
4796         "interactive" arg from insert_text and delete_text signals.
4797         Add begin_user_action, end_user_action signals
4798         (gtk_text_buffer_begin_user_action): 
4799         (gtk_text_buffer_end_user_action): New functions to delimit 
4800         a user-visible action
4801
4802         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
4803         signals.
4804         
4805 2000-12-18  Havoc Pennington  <hp@redhat.com>
4806
4807         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
4808         was pretty non-working.
4809
4810         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
4811         by passing the length to g_utf8_validate().
4812
4813 2000-12-16  Havoc Pennington  <hp@pobox.com>
4814
4815         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
4816         Port to GObject, can go back in gdk-pixbuf after setting up 
4817         a gdk-pixbuf-marshal.h header over there.
4818
4819         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
4820         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
4821         args
4822         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
4823         set
4824         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
4825         here, do it when we create the buttons later
4826         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
4827         (gtk_tree_view_map): paranoia checks that column->button is shown 
4828         and unmapped
4829         (gtk_tree_view_size_request): only request visible children.
4830         Move header size calculation in here, for cleanliness, and 
4831         to maintain invariants for child widgets if we eventually 
4832         let users set different children inside the buttons
4833         (gtk_tree_view_map_buttons): factor out code to map buttons,
4834         since it was being called several times
4835         (gtk_tree_view_size_allocate_buttons): move_resize the drag
4836         windows instead of just moving them; their height may change 
4837         if we allow random widgets in there, or the theme changes.
4838         (gtk_tree_view_size_allocate): move button size allocation 
4839         above emitting the scroll signals, to ensure a sane state when we
4840         hit user code
4841         (gtk_tree_view_button_release): remove queue_resize after
4842         tree_view_set_size(), set_size() will handle any resize queuing
4843         that's needed
4844         (gtk_tree_view_focus_in): just queue a draw, don't fool with
4845         draw_focus goo
4846         (gtk_tree_view_focus): use gtk_get_current_event() and
4847         gdk_event_get_state()
4848         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
4849         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
4850         semicolon
4851         (gtk_tree_view_create_button): show the button here
4852         (gtk_tree_view_button_clicked): actually emit the clicked signal
4853         on the column
4854         (_gtk_tree_view_set_size): return right away if the size is
4855         unchanged, as a cheesy optimization
4856         (gtk_tree_view_setup_model): rename set_model_realized to 
4857         setup_model to match the flag that indicates whether we've 
4858         called it
4859         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
4860         exist, because set_scroll_adjustment does that and it shouldn't
4861         matter what order you call these in
4862         (gtk_tree_view_get_vadjustment): ditto
4863         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
4864         for paranoia
4865         (gtk_tree_view_set_headers_visible): call
4866         gtk_tree_view_map_buttons() instead of using cut-and-paste code
4867         (gtk_tree_view_append_column): clarify whether the return value
4868         is the count of columns before or after, and do the increment 
4869         separately from the return statement so you can tell from the code.
4870         (gtk_tree_view_remove_column): ditto
4871         (gtk_tree_view_insert_column): ditto
4872         (gtk_tree_view_get_column): remove g_return_if_fail for columns
4873         outside the existing range, the docs say that outside-range
4874         columns are allowed, so we handle them as documented. (Presumably
4875         this allows a nice loop with column != NULL as test.)
4876         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
4877         mean (left/right/center etc.).
4878         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
4879         (gtk_tree_view_expand_row): add docs
4880         (gtk_tree_view_collapse_row): add docs
4881
4882         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
4883         function to emit the clicked signal on a column
4884         
4885         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
4886         state of an event
4887         (gdk_event_get_time): don't treat GDK_SCROLL 
4888         as a button event, remove default case from switch so gcc 
4889         will whine if we don't explicitly handle all event types
4890
4891         * gtk/gtktreeselection.h: added some FIXME 
4892         
4893         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
4894         "columns" to "n_columns" and "column" to "columns" for clarity
4895
4896 2000-12-16  Havoc Pennington  <hp@pobox.com>
4897         
4898         * gtk/gtktextiter.c: General cleanup of the log attr iteration
4899         stuff. This should make e.g. the delete key work again in the
4900         text widget...
4901         (gtk_text_iter_forward_cursor_positions): handle negative count
4902         (gtk_text_iter_backward_cursor_positions): handle negative count
4903         (gtk_text_iter_forward_word_ends): handle negative count
4904         (gtk_text_iter_backward_word_starts): handle negative count
4905
4906         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
4907         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
4908         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
4909         GObject. No doubt will cause breakage.
4910
4911         * demos/gtk-demo/textview.c: remove hacks around
4912         non-GObject-ification of the text objects
4913
4914         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
4915         the text tag
4916         
4917 2000-12-14  Havoc Pennington  <hp@pobox.com>
4918
4919         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
4920         that we have Xrender
4921
4922 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
4923
4924         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
4925         Add two virtualized functions gdk_drawable_get_clip_region - to
4926         get the clip region when drawing.
4927         
4928         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
4929         use invalidate_region.
4930
4931         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
4932         region.
4933
4934         * acconfig.h configure.in: Check for Xft. For now, assume
4935         that if Xft is found, Pango was compiled with Xft support
4936         as well.
4937
4938         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
4939         gdk_colormap_query_color().
4940         
4941         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
4942         with Xft if appropriate.
4943
4944         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
4945         a pangoxft context if we have XFT and the environment
4946         variable GD_USE_XFT is set.
4947         
4948         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
4949         and also possibly an XftDraw structure.
4950
4951         * gtk/gtkfontsel.c: Handle the case where the font from the
4952         style doesn't match any of the fonts a bit better.
4953         
4954         * gtk/testgtk.c: Add tabs between directional segments for
4955         hebrew/arabic test. (Not really necessary, just a little
4956         prettier.)
4957
4958 2000-12-14  Havoc Pennington  <hp@redhat.com>
4959
4960         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
4961         reading a file
4962
4963 2000-12-14  Havoc Pennington  <hp@redhat.com>
4964
4965         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
4966         unused call to get_last_line()
4967
4968         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
4969         here until boxed is working (and maybe after that - we should
4970         really not gratuitously break old code)
4971
4972         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
4973         specific types for font_desc and tabs args, move them to
4974         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
4975         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
4976
4977         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
4978         use GTK_TYPE_POINTER for signal signatures as a hack-around
4979
4980         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
4981         PangoTabArray
4982
4983         * gtk/gtktextlayout.c (line_display_iter_to_index): 
4984         make static
4985         (line_display_index_to_iter): make static
4986
4987         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
4988         to marshal a string not a boxed
4989
4990         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
4991
4992         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
4993         since the UTF-8 isn't validated yet
4994
4995         * gtk/gtktextsegment.c (char_segment_check_func): don't require
4996         lines to end in '\n'
4997         
4998         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
4999         forward_to_delimiters, and grapheme boundaries
5000         (gtk_text_view_delete_from_cursor): properly handle non-newline
5001         delimiters, and grapheme boundaries
5002
5003         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
5004         to gtk_text_iter_forward_to_delimiters, and make it work properly
5005         if empty lines end with a character other than '\n'
5006
5007         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
5008         position
5009
5010 2000-12-15  Tor Lillqvist  <tml@iki.fi>
5011
5012         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
5013
5014         * gtk/gtk.def
5015         * gdk/gdk.def: Update.
5016
5017         * gdk/win32/gdkmain-win32.c
5018         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
5019         gdkmain-win32.c here.
5020
5021         * gdk/win32/makefile.mingw.in (all): No need to make
5022         gdk-win32res.o here, the makefile one step up will call us to make
5023         it.
5024
5025         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
5026         gdkkeys-win32.
5027
5028         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
5029
5030         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
5031         call to g_source_add().
5032
5033         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
5034         leak. Thanks to Andreas Kemnade.
5035
5036 2000-12-13  Havoc Pennington  <hp@pobox.com>
5037
5038         * gtk/gtktextbtree.h: Remove double _ in front of some functions
5039
5040         * gtk/gtktext*.[hc]: update accordingly
5041         
5042 2000-12-13  Havoc Pennington  <hp@pobox.com>
5043
5044         * gtk/gtktextbtree.h: Put _ in front of every function in this 
5045         header file
5046
5047         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
5048
5049 2000-12-13  Alex Larsson  <alexl@redhat.com>
5050
5051         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
5052         Add support for ps2 intellimouse.
5053
5054         * gdkkeyboard-fb.c:
5055         Move shift-F1 repaint handling to xlate handler only.
5056         
5057         * docs/README.linux-fb:
5058         Add imps2 to docs.
5059         Document the new refresh keys.
5060         
5061 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
5062
5063         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
5064
5065         * gtk/gtkbox.c: change property types from (u)long to (u)int for
5066         ::position and ::padding.
5067
5068         * gtk/gtkcontainer.c: make ::border_width an INT property.
5069
5070         * gtk/gtkpacker.c: make ::position an INT property.
5071
5072         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
5073         guard against NULL h/v scrollbars, since this is used at construction
5074         time.
5075
5076         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
5077         internal gtk_clist_constructor().
5078
5079         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
5080         gtk_ctree_constructor().
5081
5082         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
5083         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
5084
5085         * docs/reference/Makefile.am: fun stuff, disabled docs generation
5086         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
5087
5088         * gtk/gtkwidget.[hc]:
5089         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
5090         and gtk_widget_get().
5091         (gtk_widget_new): use g_object_new_valist().
5092         (gtk_widget_set): use g_object_set_valist().
5093
5094         * gtk/gtkobject.[hc]:
5095         removed gtk_object_arg_get_info(), gtk_object_getv(),
5096         gtk_object_query_args(), gtk_object_newv(),
5097         gtk_object_class_add_signals(),
5098         gtk_object_class_user_signal_new(),
5099         gtk_object_class_user_signal_newv(),
5100         gtk_object_arg_set(), gtk_object_arg_get(),
5101         gtk_object_args_collect(),
5102         gtk_object_default_construct(),
5103         gtk_object_constructed(),
5104         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
5105         removed nsignals, signals and n_args members from GtkObjectClass.
5106         (gtk_object_new): use g_object_new_valist().
5107         (gtk_object_set): use g_object_set_valist().
5108         (gtk_object_get): use g_object_get_valist().
5109         
5110         * gtk/gtkcompat.h: define gtk_object_default_construct().
5111         
5112         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
5113         g_object_new().
5114
5115         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
5116         fucntions, cleaned up method assignments (make sure your structures
5117         are setup properly before calling out). removed all GTK_CONSTRUCTED
5118         hacks ;)
5119
5120 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
5121
5122         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
5123         off-by-one error in checks. (Dave Lambert)
5124
5125 2000-12-12  Alexander Larsson  <alexl@redhat.com>
5126
5127         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
5128         Don't free gdk_fb_keyboard twice.
5129
5130 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
5131
5132         * gtk/testgtk.c:
5133         (create_tooltips): 
5134         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
5135         use GObject swapped_signal:: properties instead.
5136
5137         * gtk/gtkcellrenderertoggle.c: 
5138         * gtk/gtkcellrenderertextpixbuf.c: 
5139         * gtk/gtkcellrenderertext.c: 
5140         * gtk/gtkcellrendererpixbuf.c: 
5141         * gtk/gtkcellrenderer.c:
5142         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
5143         missing warnings for invalid property ids, install properties
5144         with g_object_class_install_property() now.
5145         
5146         * gtk/gtksignal.c:
5147         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
5148         
5149 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
5150         
5151         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
5152         to determine if a window is the focus widget within
5153         its toplevel.
5154
5155         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
5156         to be boolean.
5157
5158         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
5159         of the case where the container CAN_FOCUS to here instead
5160         of having it in each individual move-the-focus place.
5161
5162         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
5163         focusing to be geometric in a much more obvious sense. Arrowing
5164         around is still non-intuitive because it isn't perfect and
5165         because entries, etc, grab the arrow keys, but it at least
5166         usually will do what you expect now.
5167         
5168         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
5169         file.
5170
5171         * gtk/gtknotebook.c: Change tabs to be a single item in
5172         the focus chain. Make movement of focus on tabs with arrow
5173         keys wrap around.
5174         
5175         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
5176         CHECK_FIND_CHILD macro to give informative error messages
5177         instead of silent returns.
5178
5179         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
5180         flag since we handle GdkReturn on the tabs.
5181
5182         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
5183         windows rather than sending expose events directly.
5184
5185         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
5186         definition for GtkNotebookPage into .c file, since it is private.
5187
5188         * gtk/testgtk.c (create_notebook): Add option for 
5189         testing borderless notebook.
5190
5191         * gtk/testgtk.c (page_switch): Removed egregious poking
5192         around in GTK+ internals.
5193
5194         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
5195
5196         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
5197         properly through gtk_clist_focus. Make the title headers a
5198         single item in the tab-focus chain, and make left-right wrap
5199         around.
5200
5201         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
5202         focus method so that wrapping around works properly.
5203
5204         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
5205         that is handled for the widget now. 
5206
5207 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
5208
5209         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
5210         widgets as TOPLEVEL.
5211
5212         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
5213         TOPLEVEL widgets are containers.
5214
5215         * gtk/gtkinvisible.h: Remove useless include.
5216
5217 2000-12-11  Havoc Pennington  <hp@redhat.com>
5218
5219         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
5220         Handle chopping off \r\n and 0x2029 in addition to \n before
5221         passing to PangoLayout
5222
5223         * gtk/gtkimcontextsimple.c
5224         (gtk_im_context_simple_get_preedit_string): 
5225         return an empty string if no match is pending
5226
5227         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
5228         assertion that the returned preedit string was sane
5229
5230         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
5231         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
5232         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
5233
5234 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
5235
5236         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
5237         Fix up finalizer to chain to its parent.
5238
5239 2000-12-11  Alexander Larsson  <alexl@redhat.com>
5240
5241         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
5242         Clearified the difference between the keyboard types. Wrote a note
5243         about the magic sysrq key to get out of raw mode.
5244
5245 2000-12-09  James Henstridge  <james@daa.com.au>
5246
5247         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
5248         member to hold masks for detecting the start of a protocol packet.
5249         (mouse_devs): add packet start masks for ps2 and ms device types.
5250         Left the mask for fidmour blank, as I have no idea what it should
5251         be.
5252         (handle_mouse_io): skip bytes until we get to the start of a
5253         packet.  My Logitech mouse seems to be passing an extra NULL pad
5254         byte, and GPM does a similar thing here.
5255         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
5256         this is the ms mouse driver.
5257         (gdk_fb_mouse_ms_packet): fix up button handling, which was
5258         completely broken except for button1.  It was checking the wrong
5259         bit in the packet for the status of the right mouse button, and
5260         wrongly assuming right == button2 rather than 3.  I fixed that and
5261         also added support for middle button (button2).
5262
5263 2000-12-08  Havoc Pennington  <hp@redhat.com>
5264
5265         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
5266         that cause a segfault on text insertion
5267
5268         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
5269         warning
5270
5271         * gtk/gtktextiter.c (test_log_attrs): use
5272         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
5273
5274         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
5275         Get log attrs for a line, using a cache stored on the buffer
5276         
5277         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
5278         reported by Jeff Franks
5279
5280 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
5281
5282         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
5283         /dev/ttyS0 -> /dev/mouse
5284
5285 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
5286
5287         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
5288         Added dummy gdk_fontset_load.
5289
5290 2000-12-08  Alexander Larsson  <alexl@redhat.com>
5291
5292         * docs/README.linux-fb:
5293         * docs/Makefile.am:
5294         Initial GtkFB docs.
5295         
5296         * gdk/linux-fb/Makefile.am:
5297         Define GDK_DATA_PREFIX.
5298
5299         * gdk/linux-fb/gdkmain-fb.c:
5300         Fix typo.
5301         Change default display to /dev/fb0.
5302
5303         * gdk/linux-fb/gdkpango-fb.c:
5304         Add $(prefix)/share/fonts/ to font path.
5305         
5306 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
5307
5308         * gdk/linux-fb/gdkkeyboard-fb.c:
5309         New file containing the abstracted keyboard driver. Most code
5310         taken from gdkinput-ps2.c
5311
5312         * gdk/linux-fb/gdkinput-ps2.c:
5313         Removed file.
5314         
5315         * gdk/linux-fb/Makefile.am:
5316         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
5317
5318         * gdk/linux-fb/gdkcolor-fb.c:
5319         display->fb was renamed to display->fb_fd.
5320
5321         * gdk/linux-fb/gdkcursor-fb.c:
5322         gdk_mouse_get_info -> gdk_fb_mouse_get_info
5323
5324         * gdk/linux-fb/gdkinput.c:
5325         Moved gdk_input_init here from gdkinput-ps2.c
5326
5327         * gdk/linux-fb/gdkmain-fb.c:
5328         display->fb was renamed to display->fb_fd.
5329         Now the tty and the console is opened here instead
5330         of in the keyboard driver. Also check GDK_VT to see what
5331         tty to open.
5332         Move gdk_beep () here from gdkinput-ps2.c
5333         gdk_mouse_get_info -> gdk_fb_mouse_get_info
5334
5335         * gdk/linux-fb/gdkmouse-fb.c:
5336         Add header.
5337         gdk_mouse_get_info -> gdk_fb_mouse_get_info
5338         Return correct keyboard modifiers.
5339         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
5340
5341         * gdk/linux-fb/gdkprivate-fb.h:
5342         Add tty and vt info to display.
5343         Add orignal modeinfo storage to display
5344         Update global functions
5345
5346         * gdk/linux-fb/gdkwindow-fb.c:
5347         Added gdk_fb_window_find_focus().
5348         gdk_mouse_get_info -> gdk_fb_mouse_get_info
5349
5350 2000-12-07  Havoc Pennington  <hp@pobox.com>
5351
5352         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
5353         function, noticed by Alex
5354
5355 2000-12-06  Elliot Lee  <sopwith@redhat.com>
5356
5357         * configure.in: Detect freetype properly
5358
5359         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
5360         above.
5361
5362 2000-12-06  Alexander Larsson  <alexl@redhat.com>
5363
5364         * gdk/linux-fb/Makefile.am:
5365         Add gdkmouse-fb.c
5366         
5367         * gdk/linux-fb/gdkmouse-fb.c:
5368         New file. Abstracted the mouse drivers a bit.
5369
5370         * gdk/linux-fb/gdkcursor-fb.c:
5371         The cursor hide/show functions was moved here from gdkinput-ps2.c.
5372
5373         * gdk/linux-fb/gdkinput-ps2.c:
5374         Removed old mouse handling code. Moved cursor handling code
5375         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
5376         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
5377         gdk_mouse_get_info.
5378
5379         * gdk/linux-fb/gdkmain-fb.c:
5380         Pass NULL pointers for x,y in gdk_mouse_get_info call.
5381
5382         * gdk/linux-fb/gdkprivate-fb.h:
5383         Removed public gdk_fb_find_common_ancestor, added and renamed
5384         functions for the new mouse handling code.
5385
5386         * gdk/linux-fb/gdkwindow-fb.c:
5387         Moved gdk_fb_window_send_crossing_events here. added global
5388         variable gdk_fb_window_containing_pointer. made
5389         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
5390         renamed to gdk_mouse_get_info.
5391
5392 2000-12-06  Alexander Larsson  <alexl@redhat.com>
5393
5394         * gdk/linux-fb/gdkevents-fb.c:
5395         Update to match latest gmain/gsource changes.
5396
5397         * gdk/linux-fb/gdkinput-ps2.c:
5398         Bogus gdk_keymap_get_entries_for_keycode implementation so that
5399         it links. Will be implemented later.
5400
5401 2000-12-03  Havoc Pennington  <hp@pobox.com>
5402
5403         * gdk/Makefile.am: add gdkkeys.[hc]
5404
5405         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
5406         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
5407
5408         * acconfig.h, configure.in: add checks and command line options
5409         for XKB
5410
5411         * gdk/x11/gdkkeys-x11.c: Implement the above functions
5412         
5413         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
5414         and group in the key event
5415
5416         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
5417         field with the low-level hardware key code, and a group
5418         field with the keyboard group
5419
5420         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
5421         and declare a couple globals used for keymap handling
5422         
5423         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
5424         hold down Shift-Control and type a hex number to get a Unicode 
5425         character corresponding to the hex number
5426         (gtk_im_context_simple_get_preedit_string): Fix cursor position
5427         (return bytes not chars)
5428
5429 2000-12-05  Elliot Lee  <sopwith@redhat.com>
5430
5431         * gdk/gdkcolor.h: Make GdkColor specify element sizes
5432         to avoid waste on 64-bit platforms.
5433
5434 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
5435
5436         * INSTALL: Fix link to PNG home, remove reference
5437         to fribidi.
5438
5439         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
5440         
5441         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
5442         tested.)
5443
5444         * gtk/gtkcheckmenuitem.c: Permanently turn on
5445         always_show_toggle.
5446
5447         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
5448         be NULL. (Vladimir Klebanov, #26545)
5449
5450         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
5451         some signed/unsigned comparison problems. (#6510,
5452         David Kaelbling)
5453
5454         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
5455         return type to boolean (Oskar Liljeblad, #18648)
5456
5457 2000-12-05  Alexander Larsson  <alexl@redhat.com>
5458
5459         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
5460         Remove bogus colormap setting.
5461
5462 2000-12-05  Alexander Larsson  <alexl@redhat.com>
5463
5464         * gdk/linux-fb/gdkcolor-fb.c:
5465         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
5466
5467         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
5468         Must set colormap.
5469         
5470 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
5471
5472         * docs/tutorial/gtk-tut.sgml: DND updates
5473
5474 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
5475
5476         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
5477         Remove old debug g_warning().
5478         (gdk_fb_draw_drawable): The src argument can be either a wrapper
5479         or an implementation, just pass the implementation to draw_drawable_2.
5480         
5481         * gdk/linux-fb/gdkprivate-fb.h:
5482         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
5483
5484         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
5485         clear and invalidate area when window is destroyed.
5486         (send_map_events): Remove old commented out code.
5487
5488 2000-12-05  Alexander Larsson  <alexl@redhat.com>
5489
5490         * gdk/linux-fb/gdkpango-fb.c:
5491         Use italic instead of oblique in font aliases.
5492         
5493         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
5494         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
5495         other unsupported functions.
5496
5497 2000-12-04  Havoc Pennington  <hp@redhat.com>
5498
5499         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
5500
5501         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
5502
5503         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
5504
5505         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
5506         hack to avoid infinite loops (synthetic expose event) - 
5507         Owen has more appropriate fixes in a branch he'll check in later.
5508
5509         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
5510         separator, CR, and CRLF as line ends
5511
5512         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
5513         into lines using pango_find_paragraph_boundary(); other bits of
5514         the widget are still going to be broken if the boundary isn't '\n'
5515         though
5516
5517 2000-12-04  Alexander Larsson  <alexl@redhat.com>
5518
5519         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
5520         multiply.
5521
5522         * gdk/linux-fb/gdkpango-fb.c:
5523         Copied some 26.6 scaling macros from pango to clean up the rounding.
5524         (pango_fb_font_get_glyph_info): Correct sign on x value.
5525
5526         * gdk/linux-fb/gdkprivate-fb.h:
5527         Removed unreferenced external functions.
5528
5529         * modules/linux-fb/Makefile.am: Use ` instead of '.
5530
5531         * modules/linux-fb/basic.c:
5532         Remove dead code. In particular the dummy lang engine which broke all
5533         pango layouts in GtkFB. Don't include tables-big.i anymore.
5534
5535         * modules/linux-fb/tables-big.i:
5536         Upgrade to latest version from pango. Left for reference, basic_ranges
5537         moved to basic.c.
5538         
5539 2000-12-04  Havoc Pennington  <hp@redhat.com>
5540
5541         Fix bugs Alex found:
5542         
5543         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
5544         to "draw"
5545
5546         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
5547
5548         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
5549
5550         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
5551         implementation in here, apparently the expose() implementation was
5552         dead code.
5553
5554 2000-12-04  Alexander Larsson  <alexl@redhat.com>
5555
5556         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
5557         Return positive descent.
5558
5559 2000-12-02  Havoc Pennington  <hp@pobox.com>
5560
5561         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
5562         method and signal
5563         
5564         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
5565         calls gdk_window_process_updates() to push the exposes through
5566         (gtk_widget_class_init): No more draw signal, no
5567         gtk_widget_real_draw()  
5568         
5569         * gtk/gtkbin.c (gtk_bin_draw): remove
5570
5571         * gtk/gtkbox.c (gtk_box_draw): remove
5572
5573         * gtk/gtkbutton.c (gtk_button_draw): remove
5574
5575         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
5576
5577         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
5578
5579         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
5580
5581         * gtk/gtkclist.c (gtk_clist_draw): remove
5582
5583         * gtk/gtkentry.c (gtk_entry_draw): remove
5584
5585         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
5586
5587         * gtk/gtkfixed.c (gtk_fixed_draw): remove
5588
5589         * gtk/gtkframe.c (gtk_frame_draw): remove
5590
5591         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
5592
5593         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
5594
5595         * gtk/gtklayout.c (gtk_layout_draw): remove
5596
5597         * gtk/gtklist.c (gtk_list_draw): remove
5598
5599         * gtk/gtklistitem.c (gtk_list_item_draw): remove
5600
5601         * gtk/gtkmenu.c (gtk_menu_draw): remove
5602
5603         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
5604
5605         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
5606
5607         * gtk/gtknotebook.c (gtk_notebook_draw): remove
5608
5609         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
5610
5611         * gtk/gtkpacker.c (gtk_packer_draw): remove
5612
5613         * gtk/gtkrange.c (gtk_range_draw): remove
5614
5615         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
5616
5617         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
5618
5619         * gtk/gtktable.c (gtk_table_draw): remove
5620
5621         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
5622
5623         * gtk/gtktext.c (gtk_text_draw): remove
5624
5625         * gtk/gtktextview.c (gtk_text_view_draw): remove
5626
5627         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
5628
5629         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
5630
5631         * gtk/gtktree.c (gtk_tree_draw): remove
5632
5633         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
5634
5635         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
5636
5637         * gtk/gtkviewport.c (gtk_viewport_draw): remove
5638
5639         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
5640
5641         * gtk/gtkvscale.c (gtk_vscale_draw): remove
5642
5643         * gtk/gtkwindow.c (gtk_window_draw): remove
5644
5645 2000-20-01  Anders Carlsson  <andersca@gnu.org>
5646
5647         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
5648         a GtkToggleButton is both insensitive and active, it was being
5649         drawn by the GtkButton draw handler which doesn't check the
5650         state. Now it's calling gtk_toggle_button_paint instead.
5651         
5652 2000-12-01  Havoc Pennington  <hp@redhat.com>
5653
5654         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
5655         dangling pointers to the appearance attributes from the 
5656         line display
5657
5658         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
5659         width/height to mean "full width/height of drawable"
5660
5661         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
5662         click to select word/line
5663         
5664         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
5665         when getting log attrs. Get a slice, so that pixmaps and stuff
5666         are properly handled.
5667
5668         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
5669         paste into the selection (replaces selection now, previously
5670         crashed or added to selection). Reveals longstanding btree bug -
5671         select multiple lines, middle-click on the selection, boom. This
5672         isn't related to my changes though.
5673
5674         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
5675         PangoLogAttrs changes
5676         (gtk_entry_move_backward_word): ditto
5677
5678         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
5679         functions return bool whether the iter moved onto a
5680         dereferenceable position.
5681  
5682         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
5683         functions for motion in terms of display lines.
5684
5685         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
5686         get the buffer a mark is inside
5687         
5688 2000-12-01  Alexander Larsson  <alexl@redhat.com>
5689
5690         * gdk/linux-fb/Makefile.am:
5691         * modules/linux-fb/Makefile.am:
5692         Freetype 2 final uses freetype-config
5693
5694         * gdk/linux-fb/gdkpango-fb.c:
5695         Upgrade to use Freetype 2 final.
5696         More flexible support for font aliases, this also fixes a bug with
5697         GtkFontSelector, as the aliases must be visible in the font/family list,
5698         or GtkFontSelector reads uninitialized memory.
5699
5700 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
5701
5702         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
5703         XGetIMValues to properly terminate variable argument list, and do
5704         NULL return check for ic_values and xim_styles.
5705
5706         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
5707         Restore preedit state after XmbResetIC().
5708         
5709         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
5710         XvaCreateNestedList() should take XvaNestedList, but not
5711         XvaNestedList*.
5712
5713         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
5714         preedit_draw_callback, preedit_caret_callback): Match
5715         "preedit-changed" signal name to "preedit_changed" to be
5716         consistent to the spec.
5717
5718         * gtk/gtkimcontextsimple.c (check_table):
5719         Match "preedit-changed" to "preedit_changed" to be consistent
5720         to the spec.
5721
5722 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
5723
5724         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
5725         gc->clip_region == NULL>
5726
5727 2000-11-30  Tor Lillqvist  <tml@iki.fi>
5728
5729         Changes by Hans Breuer:
5730         
5731         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
5732         Dont't use negative width and height as max_hints. This fixes
5733         Owen's recent testgtk changes for win32.
5734
5735         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
5736         gdk_win32_hdc_release): These are exported and may be called with
5737         other drawable types than our GdkDrawableImplWin32 (?).
5738
5739         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
5740         so always #define USE_BACKING_STORE.
5741
5742         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
5743         of printf for debugging output.
5744
5745         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
5746         
5747         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
5748
5749         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
5750         declaration.
5751
5752         * gtk/gtktexttypes.h: Ditto.
5753
5754         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
5755         (GDK_VoidSymbol) also if in case of arg check failure.
5756
5757         * gtk/gtkimcontextsimple.c
5758         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
5759         position to the pointer, but to the variable it points to.
5760
5761         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
5762
5763         * gtk/gtk.def: Updates.
5764
5765 2000-11-29  Elliot Lee  <sopwith@redhat.com>
5766
5767         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
5768         GTK_TYPE_TREE_MODEL.
5769
5770 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5771
5772         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
5773         Set the size of the font from the description.
5774         (gdk_text_width): Gross hack that calculates the width
5775         of text by text_length * size/2. This is necessary because
5776         GtkLabel does some ugly gtk_string_width call to calculate
5777         an good size.
5778         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
5779
5780 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
5781
5782         * docs/tutorial/gtk-tut.sgml: DND updates
5783
5784 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5785
5786         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
5787         If you pass width or height == 0 to gdk_window_clear_area they
5788         should be calculated from the window size.
5789
5790 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5791
5792         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
5793         a grab, but no grab-cursor, use the cursor from the grabbed
5794         window. (gdk_fb_window_send_crossing_events): Send normal
5795         enter/leave notifications if grab and owner_events == TRUE.
5796
5797 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5798
5799         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
5800         Do implicit button grabs, even if the window doesn't
5801         want the event.
5802         (gdk_fb_window_send_crossing_events): If there is a
5803         grab, only the grabbed window gets normal enter/leave
5804         notifications. On ungrab go from grabbed window to current.
5805         Don't send any notification to b when propagating from c -> b.
5806         If setting a grab on window, don't set prev_window.
5807         (handle_mouse_input): Send enter/leave events to the window the
5808         mouse is over, not the grabbed one.
5809         
5810 2000-11-28  Elliot Lee  <sopwith@redhat.com>
5811
5812         * gdk/gdkregion-generic.c: Zap warning.
5813         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
5814         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
5815
5816 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
5817
5818         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
5819         The cursor should be hidden if it is part of either the
5820         source or destination region. Not only if it is in both.
5821         (gdk_window_set_transient_for): Silence warnings.
5822
5823 2000-11-28  Alexander Larsson  <alexl@redhat.com>
5824
5825         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
5826         The default mode in X is Pie Arcs, therefore that is
5827         what Gtk+ uses.
5828
5829 2000-11-28  Alexander Larsson  <alexl@redhat.com>
5830
5831         * gdk/linux-fb/gdkinput-ps2.c:
5832         Implement correct EnterNotify/LeaveNotify:
5833         (gdk_fb_window_send_crossing_events): New function that sends
5834         all GdkCrossingEvents from the last mouse-window to the specified
5835         destination.
5836         (gdk_fb_window_visibility_crossing): Removed function.
5837         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
5838         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
5839         instead of gdk_window_get_pointer() for better readability.
5840
5841         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
5842         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
5843
5844         * gdk/linux-fb/gdkprivate-fb.h:
5845         removed gdk_fb_window_visibility_crossing, added
5846         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
5847
5848         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
5849         New function that finds the least common ancestor of two windows.
5850         (gdk_window_show, gdk_window_hide):
5851         Use gdk_fb_window_send_crossing_events.
5852         (gdk_fb_window_move_resize): Send configure events to toplevel
5853         windows. Use gdk_fb_window_send_crossing_events.
5854
5855 2000-11-27  Havoc Pennington  <hp@redhat.com>
5856
5857         * gtk/gtkprivate.h (enum): Remove a trailing comma
5858
5859 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
5860
5861         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
5862         the "changed" callback of the adjustment.  We need to redraw the
5863         spin button's arrows when the adjustment's range changes.
5864         (adjustment_changed_cb): Draw the arrows.
5865         (gtk_spin_button_value_changed): Draw the arrows.
5866
5867 2000-11-23  Alexander Larsson  <alexl@redhat.com>
5868
5869         * gdk/linux-fb/gdkselection-fb.c:
5870         Initial selection implementation.
5871
5872         * gtk/gtkselection.c:
5873         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
5874         requestor in gtk_selection_request.
5875         
5876         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
5877         Added gdk_selection_property atom.
5878
5879         * gdk/linux-fb/gdkprivate-fb.h:
5880         Export _gdk_selection_window_destroyed.
5881         Removed mask_off_x/y from GdkCursorPrivateFB.
5882         Removed hbearing, added top, left to PangoFBGlyphInfo.
5883
5884         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
5885         Call _gdk_selection_window_destroyed
5886         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
5887         the root window has been created.
5888         (static_dx_hack, static_dy_hack, compare_draw_rects,
5889         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
5890         in region. They are already sorted. Instead just traverse them in
5891         reverse if draw_direction < 0.
5892         
5893         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
5894         Double-clicks must be sent after the normal button_press.
5895         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
5896         
5897         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
5898         Pass _gdk_fb_screen_gc instead of NULL.
5899
5900         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
5901         Initialize gdk_selection_property.
5902         (gdk_event_make): Remove unused code.
5903
5904         * gdk/linux-fb/gdkcursor-fb.c:
5905         Make the pixmap for the cursor the same size as the mask. Also remove
5906         the mask_off_x/y fields in GdkCursorPrivateFB and combine
5907         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
5908         Now the whole cursor is visible.
5909
5910         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
5911         Fix bug where xdest+height instead of ydest+height was used
5912         to calculate if the source and dest overlapped. This fixes the
5913         redraw bug when the main window in testgtk was scrolled when
5914         partially covered by a tall window.
5915         Copy rectangles in region in order depending on draw_direction.
5916         Also moved the draw_direction flipping of start_y and end_y into
5917         the gc functions, as this might not be what all of them want.
5918         (gdk_fb_draw_lines): Support dashed lines.
5919         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
5920         so that the text is positioned correctly (was 1 pixel high).
5921
5922         gdk/linux-fb/gdkgc-fb.c:
5923         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
5924         all lines were drawn a pixel to short. Also checked the default of
5925         the rest of the values, and they're the same as X now.
5926
5927         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
5928         Clean up pixel positioning of the glyphs. Just use bgy->top and
5929         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
5930         to all divisions to get correct rounding behaviour.
5931
5932         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
5933         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
5934         Moved start_y/end_y flip into draw_drawable implementations.
5935         Flip also x rendering when draw_direction < 0.
5936         Remove unneccesary multiply with draw_direction.
5937
5938 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
5939
5940         * docs/tutorial/gtk-tut.sgml:
5941           - get rid of gtk_toggle_button_toggled FUD
5942           - start DND section - needs work - based on:
5943                 http://wolfpack.twu.net/docs/gtkdnd/
5944
5945 2000-11-22  Alexander Larsson  <alexl@redhat.com>
5946
5947         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
5948         Correct calculation of font metrics. Now GtkEntrys have sane
5949         size.
5950
5951 2000-11-22  Alexander Larsson  <alexl@redhat.com>
5952
5953         * gdk/gdktypes.h:
5954         Add new type GdkSpan
5955         
5956         * docs/reference/gdk/gdk-sections.txt,
5957         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
5958         gdk/gdkregion.h:
5959         Implement and document gdk_region_spans_intersect_foreach.
5960
5961         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
5962         Add new file gdkrender-fb.c which contains all core
5963         rendering code.
5964         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
5965         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
5966         (optimized rectangle fillers).
5967
5968         * gdk/linux-fb/gdkdrawable-fb2.c:
5969         Move all rendering code to gdkrender-fb.c.
5970         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
5971         Use the new span intersection functions in gdk_fb_fill_spans.
5972         gdk_fb_draw_rectangle() clips filled rectangles and calls
5973         gc->fill_rectangle with the result.
5974         gdk_fb_fill_spans() gets extra argument "sorted".
5975
5976         * gdk/linux-fb/gdkevents-fb.c:
5977         Remove unused includes and defines.
5978         New function gdk_fb_get_time() to get correct time for events.
5979
5980         * gdk/linux-fb/gdkinput-ps2.c:
5981         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
5982         Make sure to set the time of all events.
5983
5984         * gdk/linux-fb/gdkmain-fb.c:
5985         Use gdk_fb_get_time ().
5986
5987         * gdk/linux-fb/gdkprivate-fb.h:
5988         New virtual GC calls: fill_span & fill_rectangle.
5989         Export gdk_fb_get_time().
5990         gdk_fb_fill_spans() gets extra argument "sorted".
5991
5992         * gdk/linux-fb/mi*.c:
5993         Use GdkSpan instead of GdkRectangle.
5994         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
5995         from XFree 4 source)
5996         
5997 2000-11-22    <jrb@redhat.com>
5998
5999         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
6000         reversing the order in an if statement will do.  Doing so managed
6001         to make the treemodelsort half work.  Other half will follow after
6002         I get the insert function fully fixed.
6003
6004 2000-11-21  Elliot Lee  <sopwith@redhat.com>
6005         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
6006         more than 2 bits. Besides, I need to implement an evil hack. :)
6007
6008 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
6009
6010         * docs/tutorial/gtk-tut.sgml: minor corrections
6011
6012 2000-11-20  Jonathan Blandford <jrb@redhat.com>
6013         * gtk/gtktreemodelsort.h: Add convertion functions to let you
6014           convert to and from relative path's and iters.
6015
6016         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
6017           testing sorting functions a bit better.  Currently broken -- will
6018           fix in morning.
6019
6020 2000-11-20  Havoc Pennington  <hp@redhat.com>
6021
6022         * gtk/gtkwidget.c: Documented a bunch of functions in here
6023         (gtk_widget_realize): Warn if you try to realize
6024         a widget with no parent that isn't a toplevel
6025         (gtk_widget_intersect): return a gboolean
6026
6027 2000-11-20  Havoc Pennington  <hp@redhat.com>
6028
6029         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
6030         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
6031         scrolling to be implemented in GDK to finish. Also, right now
6032         we just size_allocate all children on every layout change,
6033         which is pretty lame. Test commented out of testtext.c, 
6034         until it works better.
6035
6036 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
6037
6038         * gdk/linux-fb/gdkdrawable-fb2.c:
6039         Removed unused arguments from gdk_fb_drawable_get_pixel().
6040
6041         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
6042         Renamed fidur specific mouse packet data in MouseDevice to
6043         generic. Used it in ps2 mouse handling code to avoid blocking
6044         reads.
6045
6046 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
6047
6048         * demos/gtk-demo/main.c: Changed to have the list become
6049         non-italic when the demo window is destroyed through an external
6050         event (like a close button).  Doing so found three bugs in the
6051         widget.
6052
6053         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
6054
6055         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
6056         we actually set the cell.
6057
6058         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
6059
6060         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
6061         free a leaked path.  Thanks memprof.
6062
6063 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
6064
6065         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
6066         off-by-one error when destroying allocated segments
6067         on failure. (Elliot)
6068
6069 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
6070
6071         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
6072         memleaks found by Evan Martin.
6073
6074 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
6075
6076         * Released 1.3.2
6077         
6078         * NEWS: Updates for 1.3.2
6079
6080 2000-11-17  Tor Lillqvist  <tml@iki.fi>
6081
6082         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
6083         but in general for window system specific events.
6084
6085         * gtk/gtk.def
6086         * gtk/makefile.mingw.in
6087         * gtk/makefile.msc.in: Update.
6088         
6089         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
6090
6091 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
6092
6093         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
6094         distribute gtk.immodules.
6095
6096         * gtk/Makefile.am (install-data-local): Don't install the
6097         gtk.immodules file created for the uninstalled modules;
6098         instead run gtk-query-immodules after install
6099
6100 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
6101
6102         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
6103         -rpath to the right install location.
6104
6105         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
6106         -export-dynamic.
6107
6108         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
6109         properly.
6110
6111 2000-11-15  Havoc Pennington  <hp@pobox.com>
6112
6113         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
6114         patch from Mikael Hermansson to temporarily stop blinking while
6115         the user is using the keyboard to type or navigate. 
6116
6117         Also, when blinking, stay on for longer than we stay off. Also,
6118         return from start_cursor_blink if !cursor_visible, to save
6119         checking that flag all over the place before we call
6120         start_cursor_blink.
6121
6122 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
6123
6124         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
6125         only contain a "fontset" line, which is now ignored.
6126
6127         * gtk/gtkentry.c (gtk_entry_button_release): Make 
6128         double-click-to-select-word work.
6129         
6130 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
6131
6132         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
6133         Don't move back one char when we are actually at the end of the 
6134         paragraph.
6135
6136 2000-11-15  Robert Brady  <robert@suse.co.uk>
6137
6138         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
6139         'o' < 'p'.
6140         
6141         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
6142         bind_textdomain_codeset.
6143
6144         (gtk_init_check): Make the warning about translating default:LTR
6145         sterner.
6146         
6147 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
6148
6149         * **/Makefile.am : remove unecessary rules for win32-specific
6150         config-substituted targets. If you want these rules, use
6151         --enable-maintainer-mode (called automatically by autogen.sh).
6152         Stops a lot of unneccessary make-time warnings.
6153
6154         * gtk/gtktext{layout,display}.c: Factor in total width as
6155         well as screen when figuring alignment for word-wrap as well as
6156         no wrap; this is necessary to handle lines that cannot be wrapped
6157         at all.
6158
6159 2000-11-15  Havoc Pennington  <hp@redhat.com>
6160
6161         * gtk/testtext.c: Implement essential color cycling feature
6162
6163 2000-11-15  Havoc Pennington  <hp@redhat.com>
6164
6165         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
6166         when we invalidate the main window.
6167
6168         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
6169         GtkTextView will now invalidate the side windows for us when text
6170         changes.
6171
6172 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
6173
6174         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
6175         unconditionally, since we may need to update the horizontal
6176         scrollbars even if the height didn't change.
6177
6178         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
6179         the extra attrs, since some of them affect size.
6180
6181         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
6182         x_offset correctly.
6183
6184 2000-11-15  Havoc Pennington  <hp@redhat.com>
6185
6186         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
6187         don't move the first line out into the margin, instead move the
6188         whole paragraph in order to make space for the first line within 
6189         the margin
6190
6191 2000-11-15  Havoc Pennington  <hp@redhat.com>
6192
6193         * gtk/gtktextview.c (changed_handler): offset redraw rect by
6194         xoffset in addition to yoffset, so horizontal scrolling doesn't
6195         break redraws
6196
6197 2000-11-15  Havoc Pennington  <hp@redhat.com>
6198
6199         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
6200         from the cursor
6201         (render_layout_line): fix reversed test that caused weird
6202         underlines to get drawn
6203
6204 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
6205
6206         * gdk/linux-fb/gdkprivate-fb.h:
6207         Fix debug macros.
6208         
6209 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
6210
6211         * gdk/linux-fb/gdkprivate-fb.h:
6212         Added virtual functions set_pixel, get_color,
6213         fill_span and draw_drawable to the GC.
6214         Added global _gdk_fb_screen_gc to use instead of
6215         NULL when drawing to the screen.
6216         Added _gdk_fb_gc_calc_state() prototype.
6217
6218         * gdk/linux-fb/gdkgc-fb.c:
6219         Call _gdk_fb_gc_calc_state() on any gc state change.
6220
6221         * gdk/linux-fb/gdkglobals-fb.c:
6222         Add _gdk_fb_screen_gc
6223                 
6224         * gdk/linux-fb/gdkdrawable-fb2.c:
6225         _gdk_fb_gc_calc_state() calculates best functions
6226         for the GC state and depth.
6227         Moved bpp specialized code to separate functions.
6228         Added optimized 24 bpp AA draw_drawable.
6229
6230         * gdk/linux-fb/gdkevents-fb.c:
6231         Silence gcc warning.
6232
6233         * gdk/linux-fb/gdkimage-fb.c:
6234         Use _gdk_fb_screen_gc
6235
6236         * gdk/linux-fb/gdkwindow-fb.c:
6237         Init and use _gdk_fb_screen_gc
6238
6239         * gdk/linux-fb/mitypes.h:
6240         Remove unused types.
6241
6242 2000-11-14  Havoc Pennington  <hp@pobox.com>
6243
6244         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
6245         to pixels
6246
6247 2000-11-14  Havoc Pennington  <hp@pobox.com>
6248
6249         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
6250
6251         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
6252         unknown char, no real reason we were using a variable. 
6253         Remove gtk_text_unknown_char variable. Fix all the text widget
6254         files accordingly.
6255
6256         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
6257         since the Unicode spec seems to prefer that character for our
6258         purposes.
6259
6260 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
6261
6262         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
6263         value of g_getenv() isn't freeable, so g_strdup it.
6264
6265         * modules/input/inuktitut.c: Inuktitut input method.
6266
6267         * modules/input/Makefile.am: Build this.
6268         
6269 2000-11-14  Elliot Lee  <sopwith@redhat.com>
6270
6271         * gtk/Makefile.am: Install gtk.immodules, needed for operation
6272         of gtk programs.
6273
6274 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
6275
6276         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
6277         reversed > that was causing Home to go to end of previous line.
6278
6279         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
6280         modified-keypresses (leave for bindings.)
6281
6282         * modules/input/Makefile.am: Remove useless -export-dynamic
6283         from module LDFLAGS.
6284
6285 2000-11-14  Havoc Pennington  <hp@redhat.com>
6286
6287         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
6288         higher.
6289
6290         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
6291         account. Also, render rise, underline, background, etc. for
6292         pixbufs as well as text. Also, draw underlines one pixel higher.
6293
6294         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
6295         PangoAttribute for the rise, so it gets drawn properly. Also,
6296         add the GtkTextAppearance attribute for pixbuf/widget segments
6297         as well; we should go ahead and have rise, underline, background,
6298         stipple work for those
6299
6300         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
6301         Pango
6302
6303 2000-11-15  Tor Lillqvist  <tml@iki.fi>
6304
6305         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
6306
6307         * gtk/gtk.def: Update.
6308
6309         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
6310         included.
6311         (gtk_rc_get_im_module_file): Use run-time installation directory
6312         on Win32.
6313
6314         * gdk/win32/rc/gdk.rc: Remove.
6315         * gdk/win32/rc/gdk.rc.in: New file.
6316         * gdk/win32/rc/Makefile.am: New file
6317         * gdk/win32/Makefile.am: Corresponding changes.
6318
6319         * gtk/gtk.rc: Remove.
6320         * gtk/gtk-win32.rc.in: New file.
6321         * gtk/Makefile.am: Corresponding changes.
6322
6323         * configure.in: Corresponding changes.
6324
6325         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
6326         has a built gtkcompat.h. Developers using CVS code on Win32 can
6327         hand-edit it from gtkcompat.h.in.
6328
6329         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
6330         gtkcompat.h from gtkcompat.h.win32.
6331
6332 2000-11-14  Havoc Pennington  <hp@redhat.com>
6333
6334         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
6335         to default to GDK_ACTION_MOVE if the drag is within a single
6336         widget. Defaults to GDK_ACTION_COPY between widgets.
6337
6338 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
6339
6340         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
6341
6342         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
6343
6344         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
6345         srcdir != builddir
6346
6347         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
6348
6349         * configure.in (GTK_VERSION): Up to 1.3.2
6350
6351         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
6352         gtkimcontextxim.h
6353
6354         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
6355         missing doc comment.
6356
6357 2000-11-14  Alexander Larsson  <alexl@redhat.com>
6358
6359         * modules/linux-fb/basic.c:
6360         Use the glib iconv wrappers.
6361
6362 2000-11-13  Havoc Pennington  <hp@pobox.com>
6363
6364         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
6365         still more bugs.
6366
6367         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
6368         scroll the GdkWindows before realization.
6369
6370 2000-11-13  Havoc Pennington  <hp@redhat.com>
6371
6372         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
6373         where GC didn't always get updated properly
6374
6375         * demos/gtk-demo/textview.c (create_tags): Use subattributes
6376         of fonts instead of setting the entire font
6377
6378         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
6379         setting entire font
6380
6381         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
6382
6383         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
6384         a bunch of individually-settable font attributes. You can still 
6385         use the "font" and "font_desc" args, they just set all the font
6386         attributes at once.
6387
6388 2000-11-13 Elliot Lee <sopwith@redhat.com>
6389
6390         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
6391
6392 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
6393
6394         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
6395         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
6396
6397         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
6398         work better.
6399
6400 2000-11-13  Havoc Pennington  <hp@redhat.com>
6401
6402         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
6403         the module file.
6404
6405         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
6406         dest->language
6407
6408         * gtk/testtext.c: Test pixels above/below/inside paragraphs
6409         settings
6410
6411         * gtk/gtktextview.c: Implement object args and setters/getters for
6412         all the aspects of the GtkTextAttributes that are not set from
6413         GtkWidget attributes. This is spacing, justification, margins,
6414         etc.
6415
6416         (gtk_text_view_set_arg)
6417         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
6418         args
6419         (gtk_text_view_class_init): Add args for justify, left_margin,
6420         right_margin, indent, and tabs
6421         
6422
6423         * gtk/gtktextlayout.c (set_para_values): fix to display indent
6424         attribute properly
6425
6426         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
6427         replace with indent attribute
6428
6429         * gtk/gtktextlayout.c (set_para_values): multiply indent by
6430         PANGO_SCALE
6431
6432         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
6433         rearranging code to do that
6434         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
6435         i.e. don't subtract the top_margin first, just to keep
6436         all margin-futzing in one place.
6437
6438         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
6439
6440         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
6441         special case of last line, Pango now handles this itself.
6442         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
6443         Y coordinate
6444         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
6445         (find_display_line_above): wasn't moving the byte index as it
6446         iterated over lines, so always returned byte 0. Also, port to use
6447         PangoLayoutIter.
6448         (find_display_line_below): same problem as
6449         find_display_line_above. Also, port to use PangoLayoutIter.
6450
6451 2000-11-13  Alexander Larsson  <alexl@redhat.com>
6452
6453         * gdk/linux-fb/*.[ch]:
6454         Massive reindent to gtk+ standard. My hands hurt.
6455
6456         * gdk/linux-fb/gdkcolor-fb.c:
6457         Move GdkColorPrivateFB from inherited to windowing_data
6458
6459         * gdk/linux-fb/gdkcursor-fb.c:
6460         _gdk_cursor_new_from_pixmap made static
6461
6462         * gdk/linux-fb/gdkdnd-fb.c:
6463         GdkDragContextPrivate moved to windowing_data
6464
6465         * gdk/linux-fb/gdkdrawable-fb2.c:
6466         Removed endian.h, use glib endianness macros instead
6467         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
6468         and GDK_DRAWABLE_IMPL_FBDATA
6469
6470         * gdk/linux-fb/gdkfont-fb.c:
6471         Add empty gdk_font_load(). Needed for linking of Gtk+.
6472
6473         * gdk/linux-fb/gdkimage-fb.c:
6474         Removed endian.h, use glib endianness macros instead
6475         Moved GdkImagePrivateFB to windowing_data
6476         gdk_image_new_bitmap didn't always allocate enough
6477         memory.
6478
6479         * gdk/linux-fb/gdkinput-ps2.c:
6480         Added semi-working support for MS serial mice.
6481
6482         * gdk/linux-fb/gdkprivate-fb.h:
6483         s/GdkWindowPrivate/GdkWindowObject/
6484         Removed GdkWindowPrivate typedef
6485         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
6486         Removed GDK_DRAWABLE_P
6487         Move GdkColorPrivateFB from inherited to windowing_data
6488         Moved GdkImagePrivateFB to windowing_data
6489
6490         * gdk/linux-fb/gdkvisual-fb.c:
6491         Removed some unused debug code.
6492
6493         * gdk/linux-fb/gdkwindow-fb.c:
6494         Use stock cursors instead of including X headers.
6495         s/GdkWindowPrivate/GdkWindowObject/
6496
6497         * gdk/linux-fb/mitypes.h:
6498         Removed unused types.
6499
6500         * modules/linux-fb/basic.c:
6501         Use the pango fribidi wrappers.
6502
6503 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6504
6505         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
6506         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
6507         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
6508         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
6509         GEqualFunc where applicable.
6510         
6511         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
6512         pango_font_description_equal as changed in pango.
6513         
6514         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
6515
6516         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
6517
6518         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
6519
6520         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
6521
6522         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
6523
6524         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
6525
6526         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
6527         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
6528
6529         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
6530         gtk_rc_styles_compare -> gtk_rc_styles_equal.
6531
6532 2000-11-12  Havoc Pennington  <hp@pobox.com>
6533
6534         * demos/gtk-demo/Makefile.am (democodedir): change demo install
6535         dir to datadir/gtk+-2.0/demo
6536
6537         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
6538         sorts of text widget and Pango font bugs. Urgh.
6539
6540         * demos/gtk-demo/Makefile.am (demos): Add textview.c
6541
6542         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
6543         tree that you should double click to see the demo. Fix 
6544         types of variables to reflect changed return values from 
6545         GtkTreeStore and GtkTreeViewColumn constructors.
6546
6547         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
6548         newly-created buffer to prepare for GObject semantics
6549
6550         * gtk/testtext.c: don't leak the buffer with GObject semantics
6551
6552         * gtk/testtextbuffer.c: ditto
6553         
6554 2000-11-12  Havoc Pennington  <hp@pobox.com>
6555
6556         Rename this testgtk to gtk-demo to avoid confusion, and 
6557         install it so people can use it as a supplement to 
6558         the documentation.
6559         
6560         * demos/gtk-demo: Moved from demos/testgtk
6561
6562         * demos/testgtk: Removed
6563
6564         * configure.in: make Makefile in gtk-demo
6565         
6566         * demos/gtk-demo/Makefile.am: Install sample source to 
6567         datadir/gtk-demo (maybe there's a better place?), and 
6568         rename the binary to gtk-demo
6569         
6570         * demos/gtk-demo/main.c (load_file): Load installed sample
6571         source if source isn't found in pwd.
6572
6573 2000-11-09  Havoc Pennington  <hp@pobox.com>
6574
6575         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
6576         argument to set the char displayed when visibility == FALSE
6577         (gtk_entry_create_layout): If !entry->visible, replace 
6578         all chars with the "invisible char"
6579
6580         * gtk/testgtk.c: Test the invisible_char deal
6581         
6582 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
6583
6584         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
6585         can't get a native font in the right encoding.
6586
6587 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
6588
6589         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
6590         respectively.
6591
6592 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
6593
6594         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
6595         Fix warning when moving between paragraphs.
6596
6597         * gtk/gtkentry.[ch]: Change move => move_cursor, 
6598         delete => delete_from_cursor, insert => insert_at_cursor
6599
6600 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
6601
6602         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
6603
6604         * modules/input/imthai-broken.c: A Thai input method for use if
6605         Thai keys are really generating Latin1 keysyms.
6606
6607         * modules/input/Makefile.am: Build these.
6608
6609 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
6610
6611         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
6612         g_filename_{to,from}_utf8 now takes an extra parameter.
6613
6614         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
6615         strftime into UTF-8.
6616
6617         (column_from_x, gtk_calendar_paint_day_names): Support RTL
6618         calendars.
6619
6620         (gtk_calendar_paint_day_names): Draw day names in the right 
6621         place.
6622         
6623 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
6624
6625         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
6626         problem with using result of g_get_charset() backwards -
6627         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
6628
6629         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
6630         negative min_width/height and max_width/height to
6631         mean "requisition"; this allows setting a window
6632         to be user-resizable in only one direction easily.
6633
6634         * gtk/testgtk.c (create_main_window): Remove hard-coded
6635         usize - set a default size in the vertical direction.
6636
6637 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
6638
6639         * gtk/gtkrange.c: Add some missing casts. Support 
6640         2 and 3 button clicks on the arrows to mean 
6641         "move by pages" and "jump to end". (Like gtkspinbutton)
6642
6643 2000-11-12 Hans Breuer <Hans@Breuer.Org>
6644
6645         * gdk/win32/makefile.msc : reflect build module changes
6646
6647         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
6648         from GdkPixmap*, cast implementation member instead.
6649
6650         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
6651         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
6652         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
6653         more Gdi functions return value checking. 
6654         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
6655         GdkImagePrivateWin32 *.
6656
6657         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
6658         menus useable again. Add #pragma message to keep reminded on this issue.
6659         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
6660         windows. This allows to enable backing store on Win32!
6661
6662         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
6663         in drawable is of impl type. Correct specific type checks appropriate.
6664  
6665         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
6666         GDK_WINDOW_DESTROYED before allocating new resources.
6667
6668         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
6669
6670         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
6671         (gdk_window_foreign_new) initialize parent handle.
6672         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
6673
6674         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
6675         Let the GDI invalidate the window on MoveWindow call to fix scrolling
6676         problems (e.g. main buttons in testgtk). 
6677
6678 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
6679
6680         * gtk/gtkentry.c (gtk_entry_key_press): Call 
6681         gtk_widget_activate for GDK_Return.
6682
6683         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
6684         of preedit cursor position.
6685
6686 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
6687
6688         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
6689         static.
6690
6691 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
6692
6693         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
6694         out support for multiple locales; that simple doesn't
6695         work reliably with current Xlib
6696
6697         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
6698         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
6699         Add support for positioning the cursor within the preedit string.
6700
6701 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
6702
6703         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
6704         at XIM input method module.
6705
6706         * gtk/gtktextview.c: Check for bindings after passing
6707         events to im context filter.
6708
6709 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
6710
6711         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
6712         empty attribute lists properly.
6713
6714 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
6715
6716         * gtk/queryimmodules.c (main): Return non-zero exit
6717         status if errors were encountered querying any
6718         modules.
6719
6720         * modules/input/Makefile.am (moduledir): remove
6721         leftover bin program target.
6722
6723         * docs/make-todo: Fix typo in error message.
6724
6725 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
6726
6727         * configure.in: Add modules/input/Makefile
6728
6729 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
6730
6731         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
6732         don't include gtkthemes.h.
6733
6734         * gtk/testgtk.c gtk/testtext.c: Set environment variables
6735         to point
6736
6737         * gtk/Makefile.am: Add new .c and .h files, build 
6738         gtk-query-immodules and use it to create a gtk.immodules
6739         file for use of test programs.
6740
6741         * gtk/gtkpreview.c: remove extra blank line.
6742
6743 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
6744
6745         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
6746         Add the ability to add extra tables beyond the default
6747         one, and also the ability to have compose sequences 
6748         that are prefixes of other compose sequences. 
6749
6750         * gtk/gtkimcontextsimple.c: Export a preedit string which
6751         consists of possible candidates for keystrokes that have
6752         been entered but not yet committed.
6753
6754         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
6755         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
6756
6757         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
6758         Add a function to add input-method switching menu items
6759         to a menu.
6760
6761         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
6762         when switching input methods.
6763
6764         * gtk/gtkimcontextsimple.[ch]: Change the format of
6765         the compose table to allow compose tables of different
6766         lengths / sequence.
6767
6768 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
6769
6770         * gtk/gtkimmodule.[ch]: Support routines for loading
6771         GtkIMContext implementations dynamically at runtime.
6772
6773         * modules/input/imcyrillic-translit.c: A sample input
6774         method (based on GtkIMContextSimple with an extra table),
6775         which demonstrates preedit strings and the module
6776         system for input modules
6777
6778         * gtk/queryimmodules.c: Program to query the available
6779         input modules and write the results into a file.
6780          
6781         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
6782         extra config options "im_module_file" (cache file for
6783         input method modules), and "im_module_path" - path
6784         to look for modules when generating cache file.
6785
6786         This doesn't scale.
6787
6788 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
6789
6790         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
6791         generic code from gtkthemes into a new abstraction
6792         GtkModule which has the logic for implementing
6793         a loadable module which implements a number of 
6794         GObject types.
6795
6796 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
6797
6798         * gtk/gtkeditable.[ch]: Convert GtkEditable from
6799         a class into an interface  
6800         
6801         * gtk/gtkoldeditable.[ch]: Move the old editable
6802         implementation into here, so legacy widgets can
6803         still rely on the implemenation. GtkOldEditable
6804         exports GtkEditable. Make selection handling
6805         code use new text conversion functions (and
6806         handle UTF-8 as a side-effect). Use GtkClipboard
6807         for CLIPBOARD.
6808
6809         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
6810         Adopt to match above changes.
6811
6812         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
6813         avoid GtkOldEditable implementation. Restructure
6814         to reduce number of places that modify state directly.
6815         Move to GtkBindingSet. Display the preedit string.
6816         Queue recomputation of PangoLayout and scroll position
6817         to improve effiency of doing complex changes naively.
6818         Add a menu with cut/copy/paste and input method selection.
6819
6820 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
6821
6822         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
6823         to set preedit string and attributes; display preedit string by
6824         inserting string and attributes at cursor when creating the
6825         GtkTextLineDisplay.
6826
6827         * gtk/gtktextlayout.c: Move all conversions between byte
6828         positions in PangoLayout and GtkTextIter into new functions
6829         line_display_iter_to_index/index_to_iter that properly
6830         handle the preedit string.
6831
6832         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
6833         it to return const char * (eventually will end up
6834         as GCONST char *, most likely.)
6835
6836         * gtk/gtktextview.[ch]: Handle the preedit string, call
6837         gtk_im_context_reset() as necessary, add a menu to switch
6838         input methods.
6839         
6840         * gtk/gtktextlayout.[ch]: Remove useless
6841         gtk_text_layout_get_log_attrs() function.
6842
6843 2000-11-11  Tor Lillqvist  <tml@iki.fi>
6844
6845         * gdk/gdk.def
6846         * gtk/gtk.def: Update.
6847
6848         * gdk/win32/*.c: Add last argument to g_type_register_static()
6849         calls.
6850
6851         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
6852
6853         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
6854         generated by older wheel mouse drivers. Get the correct y
6855         coordinate from WM_MOUSEWHEEL messages.
6856
6857         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
6858         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
6859         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
6860         Debugging functions.
6861
6862         * gdk/win32/gdkprivate-win32.h: Declare them.
6863
6864         * gdk/win32/gdkinput-win32.h: Add declaration for
6865         gdk_input_window_destroy().
6866
6867         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
6868
6869 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
6870
6871         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
6872         function to help handle keeping things in sync.
6873
6874 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
6875
6876         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
6877         BOXED marshallers.
6878
6879         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
6880         (gtk_list_store_class_init): use the new BOXED marshallers.
6881
6882         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
6883         new_with_values to new_with_types.
6884         (gtk_tree_store_get_column_type): add this.
6885         (gtk_tree_store_class_init): use the new BOXED marshallers.
6886
6887         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
6888         mirror some POINTER marshallers.
6889
6890 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
6891
6892         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
6893         allow more interesting iterators.  Also, made the lifecycle of
6894         iterators more explicit.
6895
6896         * gtk/gtktreemodelsort.[ch]: New model for sorting.
6897
6898         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
6899         types.
6900
6901 2000-11-09  Alexander Larsson  <alexl@redhat.com>
6902
6903         * demos/testgtk/menus.c:
6904         Changes to make the new testgtk compile after
6905         gtk_menu_append was removed.
6906
6907         * gdk/linux-fb/gdkdrawable-fb2.c
6908         (gdk_fb_get_depth, gdk_fb_get_visual,
6909         gdk_drawable_impl_fb_class_init): Implement
6910         these drawable functions. Now GtkImages work again.
6911
6912         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
6913
6914         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
6915         
6916         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
6917         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
6918         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
6919         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
6920
6921 2000-11-08  Havoc Pennington  <hp@pobox.com>
6922
6923         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
6924         visible_set args, don't know where these had gone, I thought they
6925         used to be there
6926
6927         * gtk/testtext.c: Add a menu item to apply invisibility tag;
6928         now we can test the feature and see that it's totally broken.
6929
6930 2000-11-08  Havoc Pennington  <hp@pobox.com>
6931
6932         Make DND copy pixbufs and tags when source and target share a 
6933         tag table.
6934         
6935         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
6936         in-process GTK_TEXT_BUFFER_CONTENTS target
6937         (gtk_text_view_drag_data_received): Paste from
6938         GTK_TEXT_BUFFER_CONTENTS if we receive it.
6939
6940 2000-11-08  Alexander Larsson  <alexl@redhat.com>
6941
6942         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
6943         API changes.
6944
6945         * gtk/gtkmenu.c: Add support for scrolling menus.
6946         Remove gtk_menu_append/prepend/insert, these have been moved to
6947         gtkcompat.h as #defines.
6948
6949         * gtk/gtkcompat.h.in:
6950         Add compatibility #defines for gtk_menu_append/prepend/insert
6951
6952         * gtk/gtkmenu.h: Add data needed for scrolling menus.
6953         GtkMenuPositionFunc gets an extra argument push_in.
6954         gtk_menu_append/prepend/insert removed.
6955         
6956         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
6957         positioning behaviour to fit to scrolling menus.
6958
6959         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
6960         into menuitem->submeny. That is wrong, and broke torn
6961         off submenus of torn off menus, since they were unrealized
6962         when the first menu was unrealized.
6963
6964         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
6965         gtk_menu_shell_select_item() since these need to be overridden in
6966         GtkMenu.
6967
6968         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
6969         positioning behaviour to fit to scrolling menus.
6970         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
6971         the current item so that it is prelighted when the menu pops up.
6972         This is a workaround to the fact that the menu doesn't get the
6973         initial enter event (due to grabs).
6974
6975         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
6976         s/gtk_menu_append/gtk_menu_shell_append/
6977
6978         * gtk/gtknotebook.c:
6979         s/gtk_menu_insert/gtk_menu_shell_insert/
6980
6981         * gtk/testgtk.c (create_menu, create_menus):
6982         Create the first menu with 50 items so that menu scrolling
6983         can be tested.
6984         
6985         
6986         Patch from Jonathan Blandford  <jrb@redhat.com>
6987
6988         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
6989         system to handle size requests.  First, we ask what the size of
6990         the toggle is.  Then, when allocating the size, we allocate the
6991         toggle_size first.  This way we can have multiple menu-item
6992         classes w/o needing a seperate class for each.
6993
6994         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
6995         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
6996
6997         * gtk/gtkcheckmenuitem.c
6998         (gtk_check_menu_item_toggle_size_request): New function to handle
6999         the toggle size-request.
7000
7001 2000-11-07  Havoc Pennington  <hp@redhat.com>
7002
7003         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
7004         Half-ass somewhat fix this function, so that scrolling to the
7005         insertion point works. Pango hacking is in the future to really
7006         fix it.
7007
7008         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
7009         length of data, no longer used.
7010
7011         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
7012         method contents in here, get rid of destroy method
7013         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
7014         that were backward. Remove debug spew.
7015         (cut_or_copy): Make the clipboard work with insert_range to
7016         preserve tags and pixbufs, not just the primary selection.
7017
7018 2000-11-07  Havoc Pennington  <hp@redhat.com>
7019
7020         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
7021         to gtk_text_mark_get_visible
7022
7023         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
7024         bug that was generating an invalid iterator
7025
7026         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
7027         ensure_char_offsets() in front of code placing the iter in an
7028         invalid state.
7029
7030         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
7031         make override_location arg const
7032         (paste): Replace the selection if we paste into the 
7033         current selection
7034
7035         * gtk/gtkselection.h: Remove "GtkSelectioData"
7036         (struct _GtkSelectionData): move the definition here.
7037
7038         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
7039         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
7040
7041         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
7042
7043         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
7044         (gtk_text_buffer_insert_range_interactive): implement
7045         (gtk_text_buffer_get_tags): Remove, replaced by
7046         gtk_text_iter_get_tags()
7047
7048         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
7049         limit parameter, to avoid infinite linear scan.
7050         (gtk_text_iter_backward_search): Add search limit
7051         (gtk_text_iter_forward_find_char): Add search limit
7052         (gtk_text_iter_backward_find_char): Add search limit
7053
7054 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
7055
7056         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
7057         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
7058         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
7059         gdk/linux-fb/gdkwindow-fb.c:
7060         use g_object_new() instead of g_type_create_instance() which
7061         is a private function for fundamental type implementations.
7062
7063         * gdk/linux-fb/gdkinput-ps2.c:
7064         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
7065         instead just store the current modifier state. Add a (somewhat broken)
7066         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
7067         Rename exported function gdk_input_ps2_get_mouseinfo to
7068         gdk_input_get_mouseinfo.
7069
7070         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
7071         gdk/linux-fb/gdkwindow-fb.c:
7072         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
7073         
7074
7075 2000-11-02  Havoc Pennington  <hp@redhat.com>
7076
7077         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
7078         use stock buttons. Should be 100% source compatible, appropriate
7079         filesel fields now point to dialog->vbox and dialog->action_area.
7080         On the bizarre side, dialog->action_area and filesel->action_area
7081         are not the same widget.
7082         (gtk_file_selection_init): Put some padding around the selection
7083         entry, so it isn't touching the GtkDialog separator.    
7084
7085         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
7086         use stock buttons, etc. Should also be source compatible.
7087         Set the dialog default title in _init not _new().
7088         
7089         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
7090         Use stock buttons; don't put a button box inside the existing
7091         dialog button box. Don't bother with push/pop colormap anymore.
7092
7093         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
7094         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
7095         for message dialog, and necessary for the font selection and color
7096         selection with help and apply buttons.
7097         
7098         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
7099         to the created button widget. Set GTK_CAN_DEFAULT on the button.
7100         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
7101         between buttons, put less padding around the action area.
7102         (gtk_dialog_run): Exit on unmap rather than on destroy. 
7103         This will also exit the loop if the widget is hidden.
7104         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
7105         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
7106         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
7107         special-case delete event.
7108
7109         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
7110         formatting
7111         
7112 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
7113
7114         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
7115         button to temporarily disable position recording in the
7116         "saved position" test.
7117
7118 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
7119
7120         * gtk/gtkthemes.c: added compat code that temporarily implements
7121         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
7122         going to be revamped by owen's upcoming GtkModule patches, but
7123         untill then people want gtk to build, right? ;)
7124
7125 2000-11-04  Havoc Pennington  <hp@pobox.com>
7126
7127         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
7128         list
7129
7130         * docs/Changes-2.0.txt: Add note about
7131         gtk_container_get_toplevels()
7132
7133         * gtk/gtktextview.h: formatting
7134         
7135         * gtk/gtktextview.c: don't start descriptions with "Returns",
7136         confuses gtk-doc
7137
7138 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
7139
7140         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
7141         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
7142
7143 2000-11-03  Havoc Pennington  <hp@redhat.com>
7144
7145         * gtk/gtktexttagtable.c: Docs
7146         (gtk_text_tag_table_size): return a signed int
7147
7148         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
7149         (gtk_text_tag_event): make the event_object a GObject
7150
7151         * gtk/gtktextview.c: Write API docs for all functions.
7152
7153         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
7154         for gtk_text_view_get_window_type() called on one of the private
7155         windows.
7156
7157         * gtk/gtktextview.c: Instead of accessing text_view->buffer
7158         directly, call get_buffer() which demand-creates a default
7159         buffer. So gtk_text_view_new() can be used to create a view with a
7160         default buffer in it, if you just want an empty text box users can
7161         put data in. Useful for GUI builders also.
7162
7163 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
7164
7165         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
7166         the charset encodign portion MUST be in lowercase.
7167         * gtk/gtkrc.az: added file for Azeri language
7168
7169 2000-11-03  Havoc Pennington  <hp@redhat.com>
7170
7171         Get widgets working on the btree/buffer side. Display of them 
7172         still doesn't work.
7173         
7174         * gtk/gtktextview.c: start implementing child widget stuff
7175
7176         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
7177
7178         * gtk/gtktextlayout.c: handle embedded widgets
7179
7180         * gtk/gtktextdisplay.c: handle embedded widgets
7181
7182         * gtk/gtktextchild.c: Implement all the child anchor goo
7183
7184         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
7185         function
7186
7187         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
7188         (insert_pixbuf_or_widget_segment): abstract out common portions of 
7189         creating a child anchor or a pixbuf segment.
7190         (gtk_text_btree_create_child_anchor): new function
7191         (gtk_text_btree_unregister_child_anchor): new function
7192
7193         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
7194         allocate_child signal on GtkTextLayout
7195
7196         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
7197         values
7198         (gtk_text_iter_get_child_anchor): new function
7199
7200         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
7201         default handler for the changed signal, which calls
7202         gtk_text_buffer_set_modified(), instead of just always emitting
7203         changed then calling set_modified() manually. I guess this is
7204         maybe more flexible. It seems logical.
7205
7206 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
7207
7208         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
7209         now.
7210
7211         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
7212
7213 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
7214
7215         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
7216         been marked static.
7217
7218 2000-11-02  Havoc Pennington  <hp@redhat.com>
7219
7220         * gtk/testgtk.c (create_labels): had a test backward
7221
7222         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
7223         fields, so the dest GC ends up with the correct clip origin, 
7224         etc. Fixes a bug where colored labels didn't redraw 
7225         properly.
7226
7227 2000-11-02  Alexander Larsson  <alexl@redhat.com>
7228
7229         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
7230         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
7231         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
7232         Add last argument to t_type_register_static call.
7233         
7234         * gdk/linux-fb/gdkdrawable-fb2.c:
7235         Add last argument to t_type_register_static call.
7236         export the get_image drawable virtual function.
7237
7238         * gdk/linux-fb/gdkimage-fb.c:
7239         Add last argument to t_type_register_static call.
7240         rename gtk_image_get to _gdk_fb_get_image and
7241         export it for use by gdkdrawable-fb2.
7242
7243         * gdk/linux-fb/gdkprivate-fb.h:
7244         export _gdk_fb_get_image.
7245
7246         * gdk/linux-fb/gdkselection-fb.c:
7247         Add new api call stubs.
7248
7249         * gtk/Makefile.am:
7250         Missing ( in linux-fb part.
7251
7252         * modules/linux-fb/Makefile.am:
7253         Must link with gdk_pixbuf or get unresolved symbol.
7254
7255 2000-11-01  Havoc Pennington  <hp@pobox.com>
7256
7257         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
7258         GTK_TYPE_TEXT_ITER and BOXED marshallers
7259
7260         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
7261
7262         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
7263         
7264         * gtk/gtk-boxed.defs: add GtkTextIter
7265
7266         * gtk/gtkmarshal.list: Add marshallers for text widget that 
7267         properly use OBJECT and BOXED
7268
7269 2000-11-01  Havoc Pennington  <hp@redhat.com>
7270
7271         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
7272
7273         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
7274         before returning it. 
7275         
7276 2000-11-01  Havoc Pennington  <hp@redhat.com>
7277
7278         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
7279         Clip the rectangle to be rendered to the drawable, since
7280         get_from_drawable() requires a region within the drawable
7281
7282 2000-11-01  Havoc Pennington  <hp@redhat.com>
7283
7284         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
7285         from coordinates.
7286
7287 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
7288
7289         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
7290         it isn't NULL.
7291
7292 2000-11-01  Havoc Pennington  <hp@pobox.com>
7293
7294         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
7295         on a label
7296         (gtk_label_finalize): unref the attr list if any.
7297
7298         * gtk/testgtk.c (create_get_image): close test on second click
7299         (make_message_dialog): close dialog if it exists
7300
7301         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
7302
7303         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
7304         gdk-pixbuf
7305
7306         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
7307         from Pango markup format
7308         (gtk_label_set_markup_with_accel): ditto but with accelerator
7309         parsing
7310
7311         * gtk/gtkimage.c (gtk_image_expose): reformatting.
7312
7313         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
7314         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
7315         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
7316         call gdk_window_get_origin().
7317
7318         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
7319         implement GDK_PIXBUF_ALPHA_FULL
7320         
7321 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
7322
7323         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
7324         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
7325         g_signal_handlers_disconnect_matched to block/unblock and disconnect
7326         multiple handlers respectively, instead of only treating the
7327         first handler found (bug reported by owen).
7328
7329 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
7330
7331         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
7332
7333         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
7334
7335         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
7336         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
7337         gtk/gtktreeviewcolumn.h: Fixed inline docs.
7338
7339         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
7340         widget.  Needs writing someday.
7341
7342         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
7343         the docs.
7344
7345 2000-10-30  Havoc Pennington  <hp@redhat.com>
7346
7347         * gtk/gtktextview.h, gtk/gtktextview.c:
7348         Rename delete_at_cursor delete_from_cursor, and 
7349         move to move_cursor.
7350
7351 2000-10-30  Havoc Pennington  <hp@redhat.com>
7352
7353         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
7354         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
7355         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
7356         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
7357         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
7358         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
7359         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
7360         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
7361         gtktexttypes.h, gtktextview.c, gtktextview.h:
7362
7363         Massive reindentation and reformatting. Arg alignment and comments
7364         still need fixing in various places.
7365
7366 2000-10-30  Havoc Pennington  <hp@redhat.com>
7367
7368         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
7369         to be named insert_at_cursor and delete_at_cursor so C++ can
7370         handle them.
7371
7372 2000-10-28  Tor Lillqvist  <tml@iki.fi>
7373
7374         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
7375         to get a double directory separator in case the home directory
7376         ends with one. This would cause trouble especially on Windows,
7377         where the path will be confused with the syntax for an an UNC
7378         (network share) path \\server\share\path.
7379         (gtk_rc_add_initial_default_files): Ditto.
7380
7381 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
7382
7383         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
7384
7385         * gtk/gtktextview.c: Use correct marshallers.
7386
7387 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
7388
7389         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
7390         use new iter stuff, and added all the appropriate signals et al.
7391
7392         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
7393         code is internal to gtk only.
7394
7395 2000-10-28  Tor Lillqvist  <tml@iki.fi>
7396
7397         * gtk/gtk.def
7398         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
7399         glib-genmarshal etc.
7400
7401 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
7402
7403         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
7404         parallel builds.
7405
7406 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
7407
7408         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
7409
7410 2000-10-27  Robert Brady  <robert@suse.co.uk>
7411
7412         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
7413         en_GB (British), ia (Interlingua).
7414
7415 2000-10-26  Havoc Pennington  <hp@redhat.com>
7416
7417         * gtk/gtktextiter.c (my_strrstr): fix constness warning
7418
7419         Fixed output of:
7420         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
7421         
7422         * gtk/gtktextsegment.c (char_segment_new): rename
7423         (_char_segment_new_from_two_strings): rename
7424         (_toggle_segment_new): rename
7425         
7426         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
7427         (make_clipboard_widget): make it static
7428         (text_get_func): static
7429         (text_clear_func): static
7430
7431         * gtk/gtkcolorsel.c (adjustment_changed): make this function
7432         static
7433         (hex_changed): make it static
7434         (hsv_changed): make it static
7435         (opacity_entry_changed): make it static
7436
7437         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
7438         (toggle_segment_check_func): rename with _gtk
7439
7440         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
7441         (_widget_segment_new): rename
7442         (_widget_segment_add): rename
7443         (_widget_segment_remove): rename
7444         (_widget_segment_ref): rename
7445         (_widget_segment_unref): rename
7446
7447         * gtk/gtktextmark.c (_mark_segment_new): Rename
7448         _gtk_mark_segment_new   
7449
7450 2000-10-26  Havoc Pennington  <hp@redhat.com>
7451
7452         * gtk/gtkmarshal.list: add new marshallers used by the text widget
7453         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
7454         types
7455
7456         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
7457         marshaller types
7458
7459         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
7460         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
7461         license on these files.
7462
7463         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
7464         work.
7465
7466         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
7467         runtime random number different for each tree, instead of 
7468         a constant I made up.
7469
7470 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
7471
7472         * gtk/Makefile.am: buncha cleanups, kludged build sources
7473         dependencies with a Makefile: oldest-source-stamp dependancy
7474         for the moment. automake is really fighting us here, with
7475         intentionally not allowing user-defined rules or dependancies
7476         prior to it's -include $(DEP_FILES) statement. sucks rocks!
7477
7478         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
7479         to public headers. tehy have a comment stating that they are
7480         "semi-public" aren't included by gtk.h and if enums popup there,
7481         they can be /*< skip >*/-ed.
7482
7483         * gtk/gtktextlayout.h: 
7484         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
7485         added LGPL... <SIGH>
7486
7487 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
7488
7489         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
7490         GtkTreeIter.  Added iterators everywhere.
7491
7492         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
7493
7494         * gtk/gtktreeviewselection.c: Changed to use the iterators.
7495
7496         * gtk/gtktreestore.c: Changed to use the iterators.
7497
7498         * gtk/gtkliststore.c: Commented out the code.  Will convert to
7499         iterators tomorrow.
7500
7501         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
7502         iterators tomorrow.
7503
7504         * gtk/treestoretest.c: Changed to use iterators.
7505
7506         * demos/testgtk/main.c: Moved to use the new iterator system.
7507
7508 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
7509
7510         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
7511         localization misbehaviour.
7512
7513         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
7514         a useless type without copy/free.
7515
7516         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
7517         of GTK_TYPE_CTREE_NODE.
7518
7519 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
7520
7521         * gtk/gtksignal.c:
7522         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
7523         applicable.
7524
7525         * gtk/gtk-boxed.defs (GtkSelectionData): specify
7526         gtk_selection_data_copy and gtk_selection_data_free
7527         do GtkSelectionData work as params in signals.
7528
7529 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
7530
7531         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
7532         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
7533         couldn't they at least give it a non-standard name?
7534         
7535         * gtk/gtktextlayout.c: arg! yet another implementation of
7536         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
7537
7538         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
7539         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
7540         home. now i know this _is_ a conspiracy.
7541
7542         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
7543         ::state-changed.
7544
7545         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
7546         (gtk_accel_group_create_add): marshaller signature fixups.
7547
7548         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
7549         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
7550
7551         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
7552         anymore.
7553
7554 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
7555
7556         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
7557         due to the signal system changes, it wouldn't build currently. to
7558         be fixed soon.
7559
7560         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
7561
7562         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
7563         so it needs gtk_marshal_VOID__ENUM() instead of
7564         gtk_marshal_NONE__UINT().
7565
7566         * gdk/gdk*.c: adapted type registration functions.
7567
7568         * gtk/gtkbindings.c:
7569         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
7570         gone.
7571
7572         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
7573
7574         * gtk/gtkobject.c:
7575         (gtk_object_destroy):
7576         (gtk_object_shutdown): fixed recursion guards. basically we have to
7577         catch the case where any of GObject.shutdown() or gtk_object_destroy()
7578         is called during ::destroy, and avoid recursion there.
7579
7580         * gtk/gtktypeutils.c:
7581         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
7582         boxed_copy/boxed_free. this needs a more general solution based on a
7583         publically installed code-generator utility.
7584
7585         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
7586         glib's gobject has support for that now.
7587         define GtkSignalMarshaller in terms of GSignalCMarshaller.
7588
7589 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
7590
7591         * gtk/gtksignal.[hc]:
7592         * gtk/gtkmarshal.[hc]:
7593         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
7594         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
7595         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
7596         care of that.
7597
7598         * *.c: marshaller name fixups.
7599
7600         * gtk/gtkmarshal.list: added a comment briefing the format.
7601
7602 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
7603
7604         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
7605         compatibility macros here now. more specifically, most of
7606         the API is preserved (yes, _most_, nonwithstanding the
7607         following exceptions listed, the API is stil lHUGE ;)
7608         things that got removed completely:
7609         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
7610         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
7611         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
7612         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
7613         gtk_signal_remove_emission_hook().
7614         non-functional functions variants:
7615         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
7616         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
7617         not supported anymore.
7618         (gtk_signal_compat_matched): new internal function to aid
7619         implementation of the compatibility macros, it  provides
7620         functionality to block/unblock/disconnect handlers based
7621         on func/data.
7622
7623         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
7624
7625         * *.c: adaptions to new type registration API signatures.
7626
7627 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
7628
7629         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
7630
7631 2000-10-25  Robert Brady  <robert@suse.co.uk>
7632
7633         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
7634         gdk_property_delete): If window == NULL, assume the root window.
7635         (restoring the behaviour that was in 1.2).
7636         
7637         * gtk/testtext.c (save_buffer): Allow creation of new files when
7638         saving.
7639
7640         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
7641         calls to read().
7642
7643 2000-10-25  Tor Lillqvist  <tml@iki.fi>
7644
7645         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
7646
7647         * gdk/win32/gdkdrawable-win32.c
7648         * gdk/win32/gdkimage-win32.c
7649         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
7650         X11 backend.
7651
7652         * gdk/win32/gdkcc-win32.c
7653         * gdk/win32/gdkcolor-win32.c
7654         * gdk/win32/gdkfont-win32.c
7655         * gdk/win32/gdkinput-win32.c
7656         * gdk/win32/gdkmain-win32.c
7657         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
7658
7659 2000-10-24  Havoc Pennington  <hp@redhat.com>
7660
7661         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
7662         it a static function
7663
7664         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
7665         redraw text when a tag is applied to it.
7666
7667         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
7668         (gtk_text_tag_affects_nonsize_appearance): private functions to
7669         see if a tag requires various kinds of redraw/layout to be queued
7670         up.
7671
7672         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
7673
7674         * gtk/testtext.c (fill_example_buffer): Put the cursor 
7675         at the start of the buffer, so search works by default
7676
7677         * gtk/gtktextiter.c (lines_match): init match_start always
7678
7679         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
7680         function, get iter at a line + a byte index
7681
7682         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
7683         to set byte position within a line
7684         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
7685
7686 2000-10-23  Havoc Pennington  <hp@redhat.com>
7687
7688         * gtk/testtext.c: Re-enable the "find" dialog
7689
7690         * gtk/testgtk.c: Add test for gdk_drawable_get_image
7691         
7692         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
7693         the arguments to gdk_draw_drawable were in the wrong order
7694         (gdk_window_paint_init_bg): This function was ignoring the
7695         init_region, instead of clipping to it, so the entire backing
7696         pixmap was cleared on every begin_paint()
7697         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
7698         was in here again, the loop kept using the same GtkWindowPaint
7699         over and over.
7700         (gdk_window_begin_paint_region): Fix a bug where we had two
7701         x_offset instead of x_offset and y_offset
7702
7703         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
7704         before we get the image.
7705         (gdk_draw_drawable): get the composite before we draw the drawable.
7706         (gdk_drawable_real_get_composite_drawable): default
7707         get_composite_drawable implementation that returns the drawable 
7708         itself
7709
7710         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
7711         get_composite_drawable virtual function
7712
7713         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
7714         list-walking bug
7715
7716         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
7717         make this work if the source drawable is a GdkDrawableImplX11
7718         instead of a public drawable type. This is really broken; the
7719         problem is that GdkDrawable needs a virtual method get_xid(), but
7720         of course that doesn't work in practice. Enter RTTI.
7721
7722         Also, improve mismatched depth message.
7723
7724         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
7725         GdkPixmap
7726
7727         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
7728         install _gdk_x11_get_image as our implementation of get_image
7729         
7730         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
7731         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
7732
7733         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
7734         gdk_drawable_get_image
7735
7736         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
7737
7738         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
7739         get_image
7740
7741         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
7742         trailing semicolon after for loop
7743
7744 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
7745
7746         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
7747         where font_desc for widget's context lagged widget's font_desc by
7748         one step.
7749
7750 2000-10-22  Tor Lillqvist  <tml@iki.fi>
7751
7752         * gdk/win32/gdkgc-win32.c
7753         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
7754
7755         * gtk/makefile.mingw.in
7756         * gtk/gtk.def: Updates.
7757
7758         * gtk/testgtk.c: sleep() is called _sleep in MS's C
7759         library.
7760
7761         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
7762
7763         * gtk/makefile.msc: Remove
7764
7765         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
7766
7767         * gtk/Makefile.am: Add it.
7768
7769         * configure.in: Generate it.
7770
7771         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
7772         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
7773         something even if not implemented, to satisfy picky MSVC.
7774
7775         Patches by Hans Breuer:
7776         
7777         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
7778         SetBkMode() and SetTextAlign() before calling
7779         pango_win32_render().
7780
7781         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
7782         Set hcliprgn to NULL after destroying it.
7783         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
7784
7785         * gdk/win32/gdkgeometry-win32.c
7786         (_gdk_windowing_window_queue_antiexpose): More effective
7787         implementation.
7788
7789         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
7790         depth as default, not the visual's.
7791
7792         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
7793         against empty title.
7794
7795         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
7796         IMAGE_PRIVATE_DATA.
7797
7798         * gdk/win32/gdkimage-win32.c: Use it.
7799
7800 2000-10-22  Robert Brady  <robert@suse.co.uk>
7801
7802         * configure.in: Check for bind_textdomain_codeset
7803
7804         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
7805         present, make use of it.
7806
7807         Add a translatable string "default:LTR" which, if translated
7808         to "default:RTL", will cause the default direction to be
7809         Right-to-Left.
7810
7811         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
7812         direction if marked as flippable.
7813
7814         * gtk/gtkhscale.c: Mark widget as flippable.
7815         
7816 2000-10-04  Havoc Pennington  <hp@redhat.com>
7817
7818         * gtk/testgtk.c (create_buttons): create some stock buttons
7819         with the default accel group
7820         (create_image): test some new GtkImage features
7821         (make_message_dialog): test GtkMessageDialog
7822         (create_modal_window): fix someone's bizzarro indentation
7823
7824         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
7825         GTK_WIN_POS_CENTER_ON_PARENT. 
7826         Add "destroy with parent" setting, which means the window goes
7827         away with its transient parent.
7828         (gtk_window_get_default_accel_group): get the default accel group
7829         for the window.
7830         (gtk_window_set_destroy_with_parent): set/unset destroy with
7831         parent flag
7832         (gtk_window_read_rcfiles): invalidate icon set caches
7833         after reloading rcfiles 
7834
7835         * gtk/gtkenums.h (GtkWindowPosition): add
7836         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
7837         on its parent window when the dialog is mapped for the first time.
7838
7839         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
7840         a simple message dialog class
7841         
7842         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
7843         handler to emit response signal, and maybe later it would
7844         honor a hide_on_delete flag - though that isn't there yet.
7845         Set border width on the vbox to 2, so we get some padding.      
7846         Use a button box for the action area.
7847         (gtk_dialog_key_press): synthesize a delete event if Esc
7848         is pressed and the GtkWidget key press handler didn't 
7849         handle the escape key.
7850         (gtk_dialog_new_with_buttons): new function creates a dialog
7851         with some default buttons in it.
7852         (gtk_dialog_add_action_widget): add an activatable widget
7853         as a button in the dialog - you can also add a non-activatable
7854         widget by accessing the action area directly.
7855         (gtk_dialog_add_button): add a simple button - stock ID or 
7856         label - to the action area
7857         (gtk_dialog_response): emit response signal
7858         (gtk_dialog_run): block waiting for the dialog, return 
7859         the response. Override normal delete_event behavior, so that 
7860         delete_event does nothing inside gtk_dialog_run().
7861
7862         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
7863         emitted when an action widget is clicked or the dialog gets
7864         delete_event
7865
7866         * gtk/gtk.h: add gtkmessagedialog.h
7867
7868         * gtk/Makefile.am: add gtkmessagedialog.[hc]
7869
7870 2000-10-18  Havoc Pennington  <hp@redhat.com>
7871
7872         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
7873         where any number of empty lines would get skipped
7874
7875         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
7876         edge.
7877
7878         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
7879         warning about invalid iterators (explain more thoroughly)
7880         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
7881
7882         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
7883         big
7884
7885         * demos/*.c: Add error handling
7886
7887         * gtk/gtktextbuffer.c: don't modify const iterators
7888
7889         * gtk/gdk-pixbuf-loader.c: Add full error handling here
7890
7891         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
7892         on file load
7893
7894         * gtk/gtkiconfactory.c: Update to reflect addition of error
7895         handling to gdk-pixbuf loaders
7896
7897 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
7898
7899         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
7900         move to new modularized testgtk.
7901
7902 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
7903
7904         * gtk/gtktreeview.c: Draw the arrows correctly.
7905
7906         * gtk/gtktreemodel.c: Added user docs.
7907
7908         * gtk/gtk.h: remove gtktreedatalist.h.
7909
7910         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
7911         parent when generating my type.
7912
7913         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
7914         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
7915
7916 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
7917
7918         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
7919         GtkTreeModel from object to interface.
7920
7921 2000-10-16  Havoc Pennington  <hp@redhat.com>
7922
7923         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
7924         compilation
7925
7926 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
7927
7928         * gtk/gtktreeselection.c: Add API documentation to all public
7929         functions.
7930
7931         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
7932         functions.
7933
7934 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
7935
7936         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
7937         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
7938         docs to all public functions.
7939
7940         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
7941         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
7942         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
7943         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
7944         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
7945         issue.
7946
7947 2000-10-14  Robert Brady  <robert@suse.co.uk>
7948
7949         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
7950
7951 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
7952
7953         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
7954         values other then G_TYPE_STRING.
7955         * gtk/gtktreeselection.c: Minor commenting updates.
7956         * gtk/gtktreeview.c: Format updates.
7957
7958 2000-10-09  Tor Lillqvist  <tml@iki.fi>
7959
7960         * README.win32: Update.
7961
7962         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
7963         lines that had been deleted by mistake (?).
7964
7965         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
7966         also the case fg==white and bg==black (but still not randomly
7967         coloured cursors). Thanks to Wolfgang Sourdeau.
7968
7969         * gdk/win32/*.c: Silence gcc -Wall.
7970
7971         * gtk/gtk.def: Add missing entry points.
7972
7973         Fixes by Hans Breuer:
7974
7975         * gdk/makefile.msc
7976         * gdk/win32/makefile.msc: Update.
7977
7978         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
7979         some MSVC thing, presumably), cause breakpoint on failures. Add
7980         GDK_NOR case. Call g_log_set_always_fatal.
7981
7982         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
7983         should be pased by reference.
7984         
7985         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
7986         
7987         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
7988
7989         * gdk/win32/gdkevents-win32.c
7990         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
7991
7992         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
7993         implementation object.
7994
7995         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
7996         not just windows.
7997         
7998         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
7999         Use the wrapper object.
8000         
8001 2000-10-06  Havoc Pennington  <hp@redhat.com>
8002
8003         * Makefile.am (SRC_SUBDIRS): contrib subdir
8004
8005         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
8006         so it can be used in Xlib version
8007
8008         * demos/testpixbuf.c (update_timeout): error checking from 1.0
8009         tree
8010
8011         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
8012         change from 1.0 tree that returns first frame of animation
8013         if the loaded file is an animation.
8014
8015         * contrib: add new directory to hold stuff that comes with GTK+
8016         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
8017         
8018         * configure.in: add contrib/*
8019
8020 2000-10-05  Havoc Pennington  <hp@redhat.com>
8021
8022         * demos/testpixbuf-save.c: add pixbuf save test
8023
8024         * demos/Makefile.am: add testpixbuf-save.c
8025
8026 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
8027
8028         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
8029         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
8030         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
8031         * gtk/gtktreeselection.[ch]: Replaced
8032         "node_selected"/"node_unselected" signal with "selection_changed"
8033         signal.
8034
8035 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
8036
8037         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
8038         tree widget.
8039
8040 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
8041
8042         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
8043         drawing.
8044
8045 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
8046
8047         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
8048         Move list pointer forwards before removing item from
8049         list. (Crash reported by Salmaso Raffaele)
8050
8051         * gdk/gdkwindow.h: Remove spurious trailing ,
8052
8053         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
8054         dependencies on uninstalled libraries, sorry folks.
8055
8056 2000-10-04  Havoc Pennington  <hp@redhat.com>
8057
8058         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
8059         gtk/gtkiconfactory.c: Fix copyrights    
8060
8061         * demos/testpixbuf.c: add inline pixbuf test
8062         
8063 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
8064
8065         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
8066         Add gdk_window_iconify.
8067
8068         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
8069         (gdk_window_set_geometry_hints): Add win_gravity
8070         to geometry structure.
8071
8072         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
8073         Implement _NET_WM_PING.
8074
8075         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
8076         Set _NET_WM_PID on the client leader.
8077
8078         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
8079         Handle UTF-8 better.
8080
8081         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
8082         UTF-8 better, set _NET_WM_NAME as well. Only set
8083         icon name if it hasn't previously been explicitely 
8084         set.
8085
8086 2000-10-03  Havoc Pennington  <hp@redhat.com>
8087
8088         * gtk/testtextbuffer.c: clean up trailing whitespace,
8089         add extensive tests for tag toggle iteration.
8090         
8091         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
8092         distance
8093
8094         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
8095         optimize case where the tag root is on level 1
8096         (gtk_text_line_previous_could_contain_tag): attempt to implement
8097         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
8098         functionality
8099
8100         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
8101         Implement this, though not very efficiently.
8102
8103         * gtk/gtktextiterprivate.h: reformat
8104
8105         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
8106         iterator
8107
8108         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
8109         this to properly revalidate the iterators.
8110
8111         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
8112         properly at the end of the line (and therefore on empty lines)
8113
8114         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
8115         maybe we should return a value...
8116
8117 2000-10-03  Tor Lillqvist  <tml@iki.fi>
8118
8119         * config.h.win32: Guard definition of alloca(). glib.h now handles
8120         that.
8121
8122         * gdk/gdk.def
8123         * gtk/gtk.def: Add new entry points.
8124
8125         Changes just to make GTK+ build without errors on Win32. No hope
8126         of it working in its current state, though...:
8127         
8128         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
8129         some functions from the X11 backend, just to make GTK+ build.
8130
8131         * gdk/makefile.mingw.in
8132         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
8133         number. Add new object files.
8134
8135         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
8136         GetMessageTime to get timestamp (where on X11 uses
8137         gdk_x11_get_server_time()).
8138
8139 2000-10-02  Havoc Pennington  <hp@pobox.com>
8140
8141         * gtk/gtktextview.c: text_window_* weren't static and should have
8142         been.
8143         Start work on child widgets; not yet complete, syncing to 
8144         office computer.
8145
8146         * gtk/gtktextchild.h: change this to contain a public interface,
8147         starting work on child interfaces.
8148         * gtk/gtktextchildprivate.h: move private interfaces here
8149
8150         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
8151
8152         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
8153         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
8154         gtk/gtktextmark.c: copyright notices
8155
8156         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
8157         internal functions      
8158
8159         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
8160         internal function
8161
8162         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
8163         Reformatting    
8164
8165 2000-09-30  Havoc Pennington  <hp@pobox.com>
8166
8167         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
8168         NULL start/end pointers
8169
8170         * gtk/gtktextbuffer.c: Write some docs
8171         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
8172         NULL, so you can just check whether there's a selection.        
8173
8174         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
8175         cleanup_line or segments_changed ourselves, it gets done 
8176         in unlink_segment
8177
8178         * gtk/gtktextmark.h:
8179         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
8180         
8181         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
8182
8183         * gtk/gtktextmark.c: delete some more old Tk cruft
8184
8185         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
8186         mark before removing it, so we can emit MARK_DELETED with a valid
8187         pointer.
8188         (gtk_text_buffer_mark_set): hold ref across signal emission
8189
8190         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
8191         whining about attempts to delete special marks
8192
8193         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
8194         underscore, since it's internal.
8195
8196         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
8197         now implemented in terms of iterators in gtktextiter.h
8198
8199         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
8200         New function, destructively sets contents of buffer. Also 
8201         a convenient way to clear the buffer by setting text to ""
8202
8203         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
8204         multiline string literal
8205
8206         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
8207         text changes.
8208
8209         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
8210         is not dereferenceable
8211         (gtk_text_iter_forward_lines): fix return value
8212
8213 2000-09-29  Havoc Pennington  <hp@redhat.com>
8214
8215         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
8216
8217         * gtk/gtktextview.c: Implement drag thresholding; change functions 
8218         that set border window size to have nicer name
8219         (gtk_text_view_mark_set_handler):  Fix this to have the 
8220         right signature.
8221
8222         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
8223
8224         * gtk/testtext.c: Update with API changes, put line numbers on 
8225         both sides.
8226         
8227         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
8228         with this
8229
8230         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
8231         pixbuf; delete a big block of #if 0 Tk code
8232
8233         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
8234         insert_pixmap with insert_pixbuf
8235
8236 2000-09-29  Martin Baulig  <baulig@suse.de>
8237
8238         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
8239         confusion with the GdkPixbuf of the GNOME 1.x platform.
8240
8241 2000-09-29  Havoc Pennington  <hp@pobox.com>
8242
8243         * gtk/gtktextview.c: Implement the side windows.
8244
8245         * gtk/testtext.c: Implement simple line numbering in the 
8246         left side window; seems to make scrolling sloooow. Oops.
8247         Also, cursor blink is for some reason causing redraws
8248         of the line numbers. Should investigate...
8249
8250 2000-09-28  Havoc Pennington  <hp@redhat.com>
8251
8252         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
8253         scrolling child windows, and draw focus rectangle properly.
8254         
8255         (gtk_text_view_buffer_to_window_coords):
8256         Coordinate transformation to deal with all these freaking windows
8257         and offsets
8258         (gtk_text_view_window_to_buffer_coords): transform the other way
8259
8260         * gtk/testtext.c (create_buffer): Update to match Pango API change
8261
8262         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
8263         anonymous tags
8264         (foreach_unref): don't emit remove signal from finalize, just
8265         set tag's parent to NULL
8266
8267 2000-09-26  Havoc Pennington  <hp@redhat.com>
8268
8269         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
8270         Fix some warnings       
8271
8272 2000-09-26  Havoc Pennington  <hp@redhat.com>
8273
8274         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
8275         headers into the private header list
8276
8277         * Makefile.am (pkgconfig_DATA): install pkg-config files
8278
8279         * configure.in: add pkg-config files
8280
8281         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
8282
8283         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
8284         outstanding icon caches on theme change.
8285
8286         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
8287         important types:
8288
8289         (GtkIconSource): Specification for creating a pixbuf 
8290         appropriate for a direction/state/size triplet from 
8291         a source pixbuf or filename
8292
8293         (GtkIconSet): List of GtkIconSource objects that are used to
8294         create the "same" icon (e.g. an OK button icon), and cache for
8295         rendered icons
8296
8297         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
8298         up the icon set for a given stock ID.  GTK maintains a stack of
8299         GtkIconFactory to search, and applications or libraries can add
8300         additional icon factories on top of the stack
8301         
8302         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
8303         the set of GtkIconSource specified for a given stock ID into 
8304         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
8305         RcStyle, under the specified stock ID.
8306
8307         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
8308         render_icon used to derive a GdkPixbuf from a GtkIconSource.
8309         This allows people to theme how prelight, insensitive, etc. are
8310         done.
8311
8312         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
8313         icon factories for a style, and return the resulting 
8314         icon set if any.
8315
8316         (gtk_style_render_icon): Render an icon using the render_icon 
8317         method in the GtkStyleClass.
8318
8319         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
8320         Use the style for a given widget to look up a stock ID, get the
8321         icon set, and render an icon using the render_icon method 
8322         of the style
8323
8324         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
8325         (contains information about a stock item), the built-in stock item
8326         IDs, and functions to add/lookup stock items.
8327
8328         * gtk/stock-icons/*: Stock icons that come with GTK
8329
8330         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
8331         a button based on a GtkStockItem
8332         (gtk_button_new_accel): Takes a uline string and accel group, and
8333         installs the accelerator.
8334
8335         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
8336         image-display widget.
8337
8338 2000-09-25  Havoc Pennington  <hp@redhat.com>
8339
8340         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
8341
8342         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
8343         Fix a bug when removing node data, we didn't properly 
8344         re-splice the linked list after removing the data.
8345
8346         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
8347         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
8348
8349         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
8350
8351         * gtk/gtktextlayout.c (set_para_values): Set tab array 
8352         for the layout from the GtkTextTag.
8353
8354         * gtk/gtktexttypes.h: delete tab and search cruft, 
8355         remove g_convert() in favor of GLib version
8356
8357         * gtk/gtktexttypes.c: remove tab implementation from here,
8358         move to Pango
8359
8360         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
8361         tab stuff using new PangoTabArray from Pango
8362
8363         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
8364         unused border_width stuff
8365
8366 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
8367
8368         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
8369         glib) and now useless utf_to_latin1() latin1_to_utf()
8370
8371         * gtk/gtktextview.[ch]: Change ::move_insert and
8372         ::delete_text action signals to ::move and ::delete;
8373         create the signals with the right enumeration type,
8374         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
8375         C-v bindings, change Home, End to move to beginning/end
8376         of line, Add C-Home C-End to move to beginning/end
8377         of buffer. Change ::cut_text to ::cut_clipboard, etc;
8378         combine ::scroll_text into ::move; use new GtkSelectionData
8379         functions to simplify DND text handling.
8380         
8381         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
8382         deletion enumerations here, rename enumeration values to 
8383         be consistently plural.
8384
8385         * gtk/gtktextbuffer.c: Use new clipboard interfaces
8386         for cut/copy/paste and primary selection.
8387
8388         * gtk/gtktextbuffer.[ch]: Remove excess time and
8389         'interactive' arguments from cut/copy/paste;
8390         rename cut to cut_clipboard, etc; remove
8391         gtk_text_buffer_get_clipboard_contents().
8392
8393         * gtk/gtktextlayout.[ch]: Add 
8394         gtk_text_layout_move_iter_to_line_end() to move the iter to 
8395         line ends.
8396
8397         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
8398         Functions to set or get a UTF-8 string on the selection
8399         data.
8400
8401         * gtk/gtkclipboard.[ch]: New, simplified selection handling
8402         interfaces.
8403
8404         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
8405         created widgets - one of these is useless if we don't.
8406
8407         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
8408         a public function clear all targets registered for the
8409         widget.
8410
8411         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
8412         Never call gtk_widget_realize() - that was just asking
8413         for bizarre side-effects.
8414
8415         * gtk/gtkselection.c (gtk_selection_owner_set): Call
8416         gdk_selection_owner_set even if the widget is the
8417         same so that we reliably update the timestamp on
8418         the server.
8419
8420         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
8421         gdk_x11_get_server_time() function.
8422         
8423         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
8424         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
8425         Add some tricky filtering on serial numbers for
8426         selection clear events to fix up long-standard
8427         race condition FIXME's in gtkselection.c.
8428
8429         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
8430         routines to convert from utf8 to compound text or
8431         STRING and from a text property to UTF-8.
8432
8433         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
8434         a convenience function gdk_get_current_event_time().
8435
8436         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
8437         and free selection_data->data properly
8438
8439 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
8440
8441         * gtk/gtkthemes.c: Remove some unecessary includes.
8442
8443 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
8444
8445         * gtk/gtktextdisplay.c
8446         * gtk/gtktextlayout.c
8447         * gtk/gtktexttag.c
8448         * gtk/gtktexttag.h
8449         * gtk/testtext.c: Change the overstrike property to strikethrough,
8450         to closer match pango.
8451
8452 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
8453
8454         * gtk/gtktextview.c: Fix up visibility so that focus,
8455         cursor_visible and blink interact properly.  Reenable cursor blink
8456         which had been roughly disabled. Make blink and focus
8457         properly per-view.
8458
8459         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
8460         Add a flag for whether to display insertion cursor and
8461         a function to set the flag.
8462
8463         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
8464         get_line_y() to get_line_yrange(), to be a bit more generally
8465         useful.
8466
8467 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
8468
8469         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
8470           do stop_navigating_submenu, to clear last timeout properly.
8471           Also in gtk_menu_motion_notify move ignore_enter above
8472           the conditional to make it always happen as suggested by Owen
8473
8474 2000-09-07  Tor Lillqvist  <tml@iki.fi>
8475
8476         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
8477
8478         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
8479         w32api headers.
8480
8481         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
8482         declarations.
8483
8484         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
8485         (gdk_win32_get_colormap): A line had been deleted by mistake.
8486
8487         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
8488         (gdk_event_translate): Handle more virtual keycodes to be able to
8489         generate GDK events for Control-comma, Control-period, etc.
8490
8491         * gtk/gtk.def: Add some missing entry points.
8492
8493 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
8494
8495         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
8496         Doc comment fixing. (Mostly non-matching parameter names.)
8497
8498         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
8499         comments a little to avoid looking like a doc comment.
8500
8501         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
8502         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
8503         conversions be changed to GError?)
8504
8505         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
8506         Move private #defines into .c file.
8507
8508         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
8509         order of argument addition, remove duplicates.
8510
8511         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
8512         parent class is FrameClass, not BinClass.
8513
8514         * gtk/gtk.h: Add gtkinvisible, which was missing.
8515         (It's occasionalyl useful for client apps, if seldom.)
8516
8517         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
8518         #define.
8519
8520 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
8521
8522         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
8523         coordinates when creating window, instead of GDK-space
8524         coordinates. (Avoid BadValue on too large windows.)
8525
8526 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
8527
8528         * configure.in (use_mmx_asm): Remove conftest* after use along the
8529         lines of AC_TRY_COMPILE.        
8530         
8531         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
8532         of g_dirname, which is deprecated.
8533         (gtk_rc_parse_any): Removed calls to
8534         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
8535
8536         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
8537         Removed calls to g_hash_table_{freeze,thaw}, as they are
8538         deprecated now.
8539
8540         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
8541         instead of g_basename.
8542         
8543 2000-09-04 Elliot Lee <sopwith@redhat.com>
8544         
8545         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
8546         ANSI warning.
8547
8548 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
8549
8550         * gtk/gtkwidget.h:  Add some documenting comments about 
8551           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
8552           just as owen said on irc.
8553
8554         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
8555           set HAS_DEFAULT.  Only set it if there isn't another window
8556           holding it (a focus window which RECEIVES_DEFAULT) and only unset
8557           it if the widget is not the focused window with RECEIVES_DEFAULT.
8558           This fixes weird double default bugs in dialogs which has things
8559           call gtk_window_set_default at times.
8560
8561 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
8562
8563         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
8564         Nils Barth and David Santiago to improve submenu
8565         navigation. The patch does this by creating a triangular
8566         region from the point where the pointer leaves the
8567         menu to the submenu.  While the pointer is in
8568         that region and a timeout has not expired, events 
8569         that would cause the active submenu to change are
8570         ignored.
8571
8572 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
8573
8574         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
8575         moving a toplevel window immediately after sizing it would
8576         result in it being sized back to the old size since 
8577         impl->width, impl->height aren't updated until we hear
8578         back from the server. There is still a (longstanding) bug
8579         here that gdk_window_get_size() will give the wrong size
8580         until we do hear back.
8581
8582 2000-08-31  Havoc Pennington  <hp@redhat.com>
8583
8584         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
8585         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
8586         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
8587         Rename GtkTextStyleValues to GtkTextAttributes
8588
8589 2000-08-31  Havoc Pennington  <hp@pobox.com>
8590
8591         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
8592         for rapid testing whether an iterator is the end iterator
8593         (gtk_text_btree_new): init end line cache
8594         (gtk_text_line_is_last): use fast cached line to 
8595         see if we're the last line.
8596         (get_last_line): use cached line here too, should 
8597         speed up some random unrelated code.
8598         
8599 2000-08-30  Havoc Pennington  <hp@pobox.com>
8600
8601         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
8602         signals.
8603
8604         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
8605         delete_text signals. This allows the signals to be used for
8606         implementing undo.
8607
8608         * gtk/gtktextbuffer.c: Change signal handler signatures; 
8609         provide "interactive" argument when emitting insert_text or
8610         delete_text signal.
8611         
8612 2000-08-30  Havoc Pennington  <hp@pobox.com>
8613
8614         * gtk/gtktextbuffer.c: Docs
8615
8616 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
8617
8618         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
8619         from switch statements, since Tor removed the enumeration
8620         value.
8621         
8622         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
8623         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
8624
8625 2000-08-29 Elliot Lee <sopwith@redhat.com>
8626         * */*.h: Use G_GNUC_CONST.
8627
8628 2000-08-27  Havoc Pennington  <hp@pobox.com>
8629
8630         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
8631         minor indentation fixes, inserted some FIXME about stuff I
8632         realized was broken while documenting it.
8633         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
8634         GTK convention  
8635
8636 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
8637
8638         * gtk/testgtk.c (create_styles): Fix double free of
8639         font desc.
8640
8641 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
8642
8643         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
8644         
8645         * gtk/testgtk.c (create_styles): Add a test for modifying
8646         the style through gtk_widget_modify_*.
8647
8648         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
8649         a function to get the current modifier style.
8650
8651         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
8652         of the passed in GtkRcStyle instead of ref'ing it.
8653
8654         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
8655
8656 2000-08-20  Tor Lillqvist  <tml@iki.fi>
8657
8658         * gdk/gdkimage.h
8659         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
8660         shared memory image+pixmap GdkImage type, or
8661         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
8662         I am dropping that.
8663
8664         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
8665         actually call gtk_init_abi_check(), passing also
8666         sizeof(GtkWindow). Ditto for gtk_init_check(). 
8667
8668         * gtk/gtk.def
8669         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
8670         New functions, used to check that the GTK+-using code has been
8671         compiled using the correct compiler and switches. In particular,
8672         with gcc one has to use the -fnative-struct switch as GTK+ is
8673         compiled with that.
8674
8675 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
8676
8677         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
8678         ->prev fields when merging lists. (Found simultaneously
8679         by Pawel Salek and Jakub Jelinek)
8680
8681 2000-08-12  Tor Lillqvist  <tml@iki.fi>
8682
8683         * gdk/gdk.def
8684         * gtk/gtk.def: Add missing entries.
8685
8686         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
8687         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
8688
8689         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
8690         function. Dummy implementation at this point.
8691
8692         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
8693         rules. Undefine GTK_COMPILATION when compiling the test programs.
8694         
8695         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
8696
8697 2000-08-11  Tor Lillqvist  <tml@iki.fi>
8698
8699         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
8700         to convert back and forth from UTF-8 and the "system" (or "current
8701         locale") charset when necessary. Indentation/spacing cleanup.
8702
8703 2000-08-10  Havoc Pennington  <hp@redhat.com>
8704
8705         * Makefile.am (snapshot): Change the format of the snapshot
8706         version to match glib
8707
8708         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
8709         from EXTRA_DIST since it doesn't seem to exist
8710
8711 2000-08-10  Tor Lillqvist  <tml@iki.fi>
8712
8713         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
8714         version of the directory name (not the UTF-8 one) when building
8715         the path name to stat().
8716
8717 2000-08-03  Elliot Lee  <sopwith@redhat.com>
8718
8719         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
8720         PANGO_ATTR_SHAPE set.
8721
8722 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
8723
8724         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
8725         Peter Osterlund to simplify the code while keeping the
8726         functionality the same.
8727
8728 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
8729
8730         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
8731         is_viewable() test further inside the function, since removing the 
8732         window from the redraw list without clearing ->update_area
8733         was also very broken.
8734
8735 2000-08-02  Tor Lillqvist  <tml@iki.fi>
8736
8737         * configure.in: Check for <unistd.h>.
8738
8739 2000-08-01  Martin Baulig  <baulig@suse.de>
8740
8741         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
8742         to display the message that this is a development version of GTK+.
8743
8744 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
8745
8746         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
8747         was depending on widget->allocation instead of the width of text_area,
8748         which was incorrect for subclasses like GtkSpinButton.
8749
8750         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
8751         with width == 1 tests that should be width == -1.
8752
8753 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
8754
8755         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
8756         (broken, Elliot, every single window blank on X) custom code with call
8757         to gdk_window_is_viewable() which a) prevents code duplicate and
8758         b) works. 
8759
8760 2000-07-31  Elliot Lee  <sopwith@redhat.com>
8761
8762         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
8763         to get the GDK_PARENT_ROOT() macro to work.
8764         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
8765         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
8766         of, windows that aren't shown.
8767         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
8768         pointer grab stuff.
8769
8770 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
8771
8772         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
8773           s/gtk_main_iteration/g_main_iteration/
8774
8775           Did this already in change:
8776                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
8777           don't know how it got reverted.
8778
8779 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
8780
8781         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
8782         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
8783
8784         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
8785         not gdk_pixbuf.
8786
8787 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
8788
8789         * configure.in,po/{sp,sr}.po: Added Serbian files
8790
8791 2000-07-30  Tor Lillqvist  <tml@iki.fi>
8792
8793         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
8794
8795         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
8796         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
8797         GIOChannel implementation.
8798
8799         * gdk/win32/gdkinput.c
8800         * gdk/win32/gdkpango-win32.c: Update license name here, too.
8801
8802         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
8803         definition to match prototype.
8804
8805         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
8806
8807 2000-07-27  Elliot Lee  <sopwith@redhat.com>
8808
8809         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
8810         function, to allow handling image formats that cannot be detected
8811         by looking at content alone.
8812
8813 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
8814
8815         * docs/tutorial/*.gif *.jpg *.eps
8816           Update these to the same look-n-feel.
8817           Why does including images in DocBook suck so badly?
8818
8819 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
8820
8821         * gtk/gtktable.c: applied patch from Phil Thompson
8822         <phil@river-bank.demon.co.uk> that enables space settings for
8823         the last row/columns as well.
8824
8825 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
8826
8827         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
8828         updates the license headers to the GNU Lesser General Public License,
8829         as well as updating the copyright year to 2000.
8830
8831 2000-07-26  Robert Brady  <rwb197@zepler.org>
8832
8833         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
8834           and po/Makefile, was installing and looking for them under gtk20
8835           and gtk2 respectively.
8836
8837 2000-07-25  Havoc Pennington  <hp@redhat.com>
8838
8839         * gtk/testtext.c: Comment out some stuff that depends on the rest
8840         of my patches.
8841
8842 2000-07-25  Havoc Pennington  <hp@redhat.com>
8843
8844         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
8845         buffer
8846
8847 2000-07-25  Havoc Pennington  <hp@redhat.com>
8848
8849         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
8850         widget changes.
8851
8852         * gtk/gtktextview.h: To be consistent with usage of "line"
8853         throughout the API to mean "newline-terminated thingy", change
8854         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
8855         to MOVEMENT_LINE.
8856
8857         (GtkTextView): Add flags for default editability, and whether to
8858         show the cursor. Add functions to get/set that. Add 
8859
8860         (gtk_text_view_get_iter_location): new function
8861
8862         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
8863         gtktextlayout.h
8864         (g_convert): Add g_convert temporarily, will go in glib in a bit
8865         
8866         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
8867         GtkTextTagTableForeach instead of brokenly using GHFunc.
8868         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
8869
8870         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
8871         moved to public header.
8872
8873         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
8874         "invisible", since "elide" was a bad name.
8875         (gtk_text_tag_get_priority): Added
8876
8877         (GtkTextStyleValues): put this in public header, along with
8878         functions to use it.
8879
8880         * gtk/gtktextmarkprivate.h: Include more headers, since we no
8881         longer include gtktextbtree.h.
8882
8883         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
8884         gtk_text_mark_deleted
8885
8886         * gtk/gtktextlayout.h: Don't include the "really private" headers,
8887         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
8888         to make this possible. Now we only need to install
8889         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
8890         (However the Makefile.am isn't changed yet because of the
8891         logistics of merging gtk-hp-patches piecemeal)
8892
8893         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
8894         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
8895         gtk_text_iter_get_line is now used in the public API for a
8896         different purpose.
8897
8898         * gtk/gtktextiter.h: Clean up function names to be more
8899         consistent. Always call char offset "offset" and byte index
8900         "index". A "line" is always a line number. 
8901
8902         (gtk_text_iter_is_last): new function, more efficient than 
8903         the existing way to check
8904         (gtk_text_iter_is_first): new function, also more efficient
8905
8906         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
8907
8908         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
8909         gtk_text_iter_forward_char, etc.
8910
8911         (gtk_text_iter_forward_to_tag_toggle): Renamed from
8912         forward_find_tag_toggle, since this isn't a linear search
8913
8914         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
8915
8916         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
8917         New functions, search for a buffer substring.
8918
8919         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
8920         interactive and default editable (since we need to store that info
8921         until we receive the selection data).
8922
8923         Remove all the _at_char and at_line etc. versions of functions;
8924         only have iterator versions.
8925
8926         Add _interactive() versions of functions, that consider the
8927         editability of text. (FIXME add interactive flag to the 
8928         insert/delete signals per Darin's suggestion)
8929
8930         (gtk_text_buffer_get_tag_table): new function, demand-creates the
8931         tag table if necessary
8932
8933         Remove declaration of gtk_text_buffer_get_iter_from_string
8934
8935         (_gtk_text_buffer_get_btree): private/internal function, added.
8936         
8937
8938         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
8939         (gtk_text_line_is_last): new function
8940
8941 2000-07-25  Havoc Pennington  <hp@redhat.com>
8942
8943         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
8944         using GtkProgressBar. See Changes-2.0.txt for details.
8945
8946         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
8947         "pulse_step" which are the equivalent of
8948         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
8949         Implement new API.
8950         
8951         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
8952         (use_text_format) to mark whether text set on the progress bar is
8953         a format string. Deprecate entire GtkProgress interface.
8954
8955         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
8956         (gtk_progress_build_string): make this a no-op if use_text_format
8957         is FALSE
8958
8959         * docs/Changes-2.0.txt: Describe progress bar changes.
8960
8961 2000-07-25  Tor Lillqvist  <tml@iki.fi>
8962
8963         * Makefile.am: Include the build directory.
8964
8965         * configure.in: Generate build/Makefile, build/win32/Makefile,
8966         gdk/, gdk/win32/, and gtk/makefile.mingw.
8967
8968         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
8969         Add GETTEXT_PACKAGE.
8970         
8971         * gdk/gdk.def
8972         * gtk/gtk.def: Updates.
8973
8974         * gdk/gdkfont.h
8975         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
8976         need them any longer.
8977
8978         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
8979
8980         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
8981         PANGOWIN32_LIBS and gdk_pixbuf.
8982
8983         * gdk/win32: Compiles, but no doubt doesn't work at all.
8984
8985         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
8986
8987         * gdk/win32/gdkinput.c: New file, temporarily.
8988         
8989         * gdk/win32/gdkinput-win32.h: New file
8990
8991         * gdk/win32/gdkinputprivate.h: Remove.
8992
8993         * gdk/win32/gdkpango-win32.c: New file.
8994
8995         * gtk/makefile.mingw.in: New file
8996
8997         * gtk/makefile.cygwin: Removed
8998         
8999         * gtk/Makefile.am: Update accordingly.
9000
9001         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
9002         made externally visible.
9003
9004         * gtk/gtkmain.c: Use it.
9005         
9006         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
9007         is enough.
9008
9009         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
9010
9011 2000-07-24 Elliot Lee <sopwith@redhat.com>
9012         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
9013         individual backends already.
9014         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
9015         again. Yes, there really is a good reason for this, if you are using the gdkregion
9016         internals, and if you're not, why do you care?
9017         * gdk/gdkwindow.c: Fix inverted condition
9018         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
9019         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
9020         * gtk/gtkrange.c: Redraw trough when moving.
9021         * gtk/gtktypeutils.c: Fix warning by adding const cast.
9022         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
9023
9024 2000-07-23  Tor Lillqvist  <tml@iki.fi>
9025
9026         * configure.in: Check for mkstemp and sigsetjmp. Output
9027         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
9028
9029         More work on GDK for Win32. Still in an intermediate state.
9030
9031         * gdk/makefile.cygwin
9032         * gdk/win32/makefile.cygwin: Removed.
9033         
9034         * gdk/makefile.mingw.in
9035         * gdk/win32/makefile.mingw.in: New files.
9036
9037         * gdk/Makefile.am
9038         * gdk/win32/Makefile.am: Generate and distribute them.
9039
9040         * gdk/win32/gdkwindow-win32.h
9041         * gdk/win32/gdkdrawable-win32.h
9042         * gdk/win32/gdkpixmap-win32.h: New files.
9043
9044         * gdk/win32/gdkcolor-win32.c
9045         * gdk/win32/gdkcursor-win32.c
9046         * gdk/win32/gdkdrawable-win32.c
9047         * gdk/win32/gdkgc-win32.c
9048         * gdk/win32/gdkimage-win32.c
9049         * gdk/win32/gdkprivate-win32.h
9050         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
9051         Rename fields and variables called xcursor, xid, etc (these names
9052         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
9053
9054 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
9055
9056         * gtk/gtkentry.[ch]: Fix some problems with vertical
9057         alignment.
9058
9059         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
9060         char/byte confusion.
9061
9062 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
9063
9064         * gtk/gtktextview.c (changed_handler): Fix bug where
9065         redraw wasn't being done properly when height of
9066         dirty region changed.
9067
9068         * demos/Makefile.am: Remove various references to
9069         -lgmodule
9070
9071 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
9072
9073         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
9074         PangoAttrShape to reserve space for pixmaps, add 
9075         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
9076         in the display functions.
9077         
9078         * gtk/testgtk.c (create_layout): Set some more exotic
9079         scrolled window options
9080
9081         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
9082         Add function to set the shadow type of a window, to allow
9083         putting a shadow around widgets such as GtkLayout or GnomeCanvas
9084         which don't draw their own frame.
9085
9086 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
9087
9088         * docs/tutorial/package-db-tutorial.sh: New file for
9089           packaging DocBook format tutorial
9090
9091 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
9092
9093         * docs/tutorial/gtk-tut.sgml: Minor updates
9094
9095         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
9096
9097 2000-07-19  Tor Lillqvist  <tml@iki.fi>
9098
9099         * gtk/gtksignal.c: Fix C++ comment.
9100
9101         * gtk/gtkimmulticontext.c
9102         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
9103         don't return value from void functions.
9104
9105         * gtk/gtk.def: Add gtk_rc_style_unref.
9106
9107 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
9108
9109         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
9110         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
9111         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
9112         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
9113         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
9114         gtk/gtktypeutils.h: Include files outside of the extern "C"
9115         block. Makes some C++ compiler happy. Reported by Denis Vakatov
9116         <vakatov@peony.nlm.nih.gov>.
9117
9118 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
9119
9120         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
9121           Completes first pass. Hurrah!
9122
9123 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
9124
9125         * docs/tutorial/gtk-tut.sgml: More clean ups.
9126
9127 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
9128
9129         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
9130         paint the background of the text area which was accidentally
9131         removed at some point.
9132
9133         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
9134           
9135          - Move most of the functionality from the theme vtable
9136            into GtkRcStyleClass and GtkStyleClass. The moved
9137            vtable functions were changed a bit in the move to
9138            work better in their new home.
9139
9140          - Get rid of the engine and engine_data fields from
9141            GtkRcStyle and GtkStyle; instead the theme
9142            engine derives theme-specific subclasses of GtkRcStyle
9143            and GtkStyle
9144
9145          - Add extra dlsym() found entry point to themes,
9146            theme_create_rc_style().
9147
9148         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
9149         in gtk_style_real_copy.
9150
9151         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
9152         to register a type associated with an engine. (The engine
9153         won't be unloaded as there is an instance of the type.)
9154
9155
9156 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
9157
9158         * docs/tutorial/gtk-tut.sgml: Clean ups.
9159
9160 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
9161
9162         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
9163           of cleaning up to do.
9164
9165 2000-07-15  Tor Lillqvist  <tml@iki.fi>
9166
9167         * gdk/testgdk.c: New file, quick hack to test backends for
9168         pixel-by-pixel correctness of the most simple graphic operations.
9169
9170 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
9171
9172         * Really release 1.3.1
9173         
9174         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
9175         include structure.
9176
9177 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
9178
9179         * Released 1.3.1
9180
9181 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
9182
9183         * gtk/gtktextlayout.c: use FALSE for size_only most
9184         of the time when calling gtk_text_layout_get_line_display()
9185         to avoid causing double reshapes when a redraw follows
9186         immediately after.
9187
9188 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
9189
9190         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
9191         appropriate region and gdk_window_process_updates() so trough
9192         updating doesn't lag behind the window being scrolled.
9193
9194         * gdk/gdkgc.c: Make parent_class pointer static.
9195          
9196 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
9197
9198         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
9199         include <string.h>.
9200          
9201         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
9202         cut-and-paste error in computing memory offset for 4 channels.
9203
9204 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
9205
9206         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
9207         gtk_rc_append_default_pixmap_path(), since it wasn't
9208         adding an interesting path and we don't have a meaningful
9209         default for this value.
9210
9211 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
9212
9213         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
9214         gtk-config to gtk-config-2.0 move gtk_.m4 to
9215         gtk-2.0.m4
9216
9217         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
9218         gdk/Makefile.am demos/Makefile.am: Change 
9219         library names to libgtk-1.3.la, etc, so that we
9220         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
9221
9222         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
9223         gdk/Makefile.am gdk/x11/Makfile.am
9224         Move include files into /usr/include/gtk-2.0, 
9225         /usr/lib/gtk-2.0/include/
9226          
9227         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
9228         gtk/gtkintl.h: Change package for gettext from 
9229         gtk+ to gtk20. Put hack in autogen.sh to modify
9230         po/Makefile.in.in after gettextize to make this
9231         possible.
9232
9233         * gtk+.spec: Some updates, not tested.
9234
9235         * gdk-pixbuf/Makefile.am: Move loaders into
9236         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
9237
9238         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
9239         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
9240         to THEMENAME/gtk-2.0/. Move engine directory  to
9241         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
9242         
9243 2000-07-12  Tor Lillqvist  <tml@iki.fi>
9244
9245         Win32 changes, still doesn't build though.
9246
9247         * gdk/makefile.cygwin
9248         * gdk/win32/makefile.cygwin
9249         * gtk/makefile.cygwin: Updates.
9250
9251         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
9252         default values for fg and bg pixel as X11 does (0 and 1), not
9253         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
9254         Use 0 for pen width by default (treated as 1 anyway later, but for
9255         apps that might check the value in the GdkGC).
9256         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
9257         interface to gdk_gc_predraw and _postdraw.
9258
9259         * gdk/win32/gdkwin32.h
9260         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
9261
9262         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
9263         extraneous semicolon.
9264
9265         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
9266
9267         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
9268         not the Win32 bitspixel value.
9269
9270         * gdk/win32/gdkcc-win32.c:
9271         * gdk/win32/gdkcolor-win32.c 
9272         * gdk/win32/gdkprivate-win32.h
9273         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
9274         GDK object structure.
9275
9276 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
9277
9278         * docs/tutorial/gtk_tut_12.es.sgml (name): 
9279         * docs/tutorial/gtk_tut_it.sgml (name): 
9280         * docs/tutorial/gtk_tut_fr.sgml (name): 
9281         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
9282         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
9283
9284 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
9285
9286         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
9287           small changes.
9288
9289 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
9290
9291         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
9292         a bug here, never been here and never fixed anything ;(
9293         (don't segfault if tree->root_tree is NULL, which happens prior
9294         to widget realization, but puke instead).
9295
9296 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
9297
9298         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
9299         add the necessary tokens.
9300
9301         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
9302         (gtk_rc_style_to_style): copy thicknesses.
9303         (gtk_rc_init_style): apply thicknesses.
9304         (gtk_rc_parse_style): parse xthickness and ythickness.
9305
9306         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
9307
9308         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
9309         (gdk_window_new): 
9310         (_gdk_windowing_window_init): 
9311         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
9312         (gdk_pixmap_create_from_data): 
9313         (gdk_bitmap_create_from_data): 
9314         (gdk_pixmap_new): 
9315         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
9316         (gdk_image_new): 
9317         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
9318         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
9319         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
9320         (gdk_colormap_get_system): 
9321         (gdk_colormap_new): 
9322         * gdk/gdkwindow.c (gdk_window_init): 
9323         * gtk/gtkstyle.c (gtk_style_new):
9324         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
9325         * gdk/gdkpixmap.c (gdk_pixmap_init): 
9326         * gtk/gtkrc.c (gtk_rc_style_new):
9327         use g_object_new() instead of g_type_create_instance() which
9328         is a private function for fundamental type implementations.
9329
9330 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
9331
9332         * configure.in: Add check for db2html
9333
9334 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
9335
9336         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
9337         hack to set glib_debug_objects based on gtk_debug_flags.
9338
9339 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
9340
9341         * INSTALL.in: Update the Prerequisites section.
9342
9343         * Makefile.am demos/Makefile.am docs/Makefile.am
9344         docs/tutorial/Makefile.am gdk/x11/Makefile.am
9345         gdk/linux-fb/Makefile.am: Dist fixes
9346
9347 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
9348
9349         * NEWS: 10,000 foot view of 1.3.1 changes.
9350
9351 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
9352
9353         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
9354         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
9355         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
9356         gdk/x11/gdkmain-x11.c: 
9357
9358         Patch from George Lebl to add a GdkGrabStatus enumeration to use
9359         as a return value of gdk_*_grab(). Previously, we just
9360         returned the X11 values directly.
9361
9362 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
9363
9364         * gdk/x11/Makefile.am: Patch from George Lebl to 
9365         install all the headers in the right place.
9366
9367 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
9368
9369         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
9370           initial conversion to DocBook.
9371
9372 2000-07-04  Tor Lillqvist  <tml@iki.fi>
9373
9374         * README.win32: Improve a bit.
9375
9376         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
9377         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
9378         Alt+0nnn on the numpad (used to enter characters by numeric code
9379         from current DOS or ANSI codepage) working correctly, as in other
9380         Windows apps.
9381
9382         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
9383         same argument validity tests as in X11 version.
9384         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
9385
9386         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
9387         definitions in case missing from headers.
9388
9389         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
9390         destroy the window-specific cursor.
9391         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
9392         calling GetModuleHandle(NULL).
9393         (gdk_window_set_cursor): Reworked to always copy the passed cursor
9394         with CopyCursor before setting it as the window-specific
9395         cursor. It is OK for the caller to destroy the GdkCursor (and thus
9396         also its Windows cursor) after calling this function. Destroy any
9397         previous window-specific cursor.
9398
9399 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
9400
9401         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
9402         font charset is iso8859-1, not iso-8859-1.
9403
9404 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
9405
9406         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
9407         Use g_get_charset() instead of g_get_codeset().
9408
9409         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
9410         Comment out some strdup'ing functions to keep timj
9411         happy until we finish fighting this out.
9412
9413 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
9414
9415         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
9416         <= width or height.
9417
9418         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
9419         from 1.2 for parent/child states.
9420
9421         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
9422         of typos.
9423
9424         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
9425         event structures, replace with a generic axes field. Replace 
9426         deviceid/sourec with GdkDevice *device.
9427
9428         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
9429         to extract particular axis use value from event. (Also
9430         can be used for normal X/Y.)
9431
9432         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
9433         allow for arbitrary number of axes, namespace everything
9434         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
9435         everywhere.
9436
9437         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
9438         Get rid of the gdk_input_vtable setup if favor of simply
9439         defining the functions in gdkinput-none/gxi/xfree.c in
9440         a similar fashion to the way that the port structure is 
9441         done.
9442
9443         * gtk/gtkdnd.c: Fix fields of synthesized button press event
9444         for new event structures. 
9445
9446         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
9447         new device interfaces.
9448
9449 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
9450
9451         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
9452         set the initial text.
9453
9454         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
9455         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
9456         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
9457         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
9458
9459         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
9460         pango_layout_set_font_description to simplify.
9461
9462 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
9463
9464         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
9465         pango_layout_set_font_description to simplify.
9466
9467 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
9468
9469         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
9470         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
9471         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
9472
9473         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
9474         PANGO_PIXELS() macro.
9475
9476 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
9477
9478         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
9479         that returns a PangoContext owned by the widget and updated to
9480         match future changes in the widget. Also, make 
9481         gtk_widget_create_pango_layout() use this context. If we ever
9482         add a ::changed signal to PangoContext, this will make things
9483         much more convenient. 
9484
9485         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
9486         in the appropriate places instead of destroying the layouts and
9487         creating new ones.
9488
9489         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
9490         in a few strategic places.
9491
9492 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
9493
9494         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
9495         gtk_widget_size_request() on reparented child, if one. Otherwise,
9496         queue_resize() on the child never results in it getting size-requested
9497         at all.
9498
9499         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
9500         in option menus, so that (with luck) people won't copy it into
9501         their apps in the future.
9502
9503         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
9504         to gtk_option_menu_calc_size. This isn't perfect, but should fix
9505         a lot of problems with changing the size of the menu's menu
9506         items after adding it to the option menu.
9507
9508         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
9509
9510         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
9511         the text direction for a widget changes.
9512
9513         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
9514         ::direction_changed to get rid of various hacks.
9515
9516 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
9517
9518         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
9519         name.
9520
9521 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
9522
9523         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
9524         flag to the structure. Do not call XFreePixmap on pixmaps created
9525         by gdk_pixmap_foreign_new().
9526
9527 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
9528
9529         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
9530         value using GdkRGB functionality given GdkColormap and GdkColor.
9531         (name not final, waiting for inspiration.)
9532         
9533         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
9534         set the foreground/background of a GC using the GC's colormap
9535         and GdkRGB. (name not final, waiting for inspiration.)
9536
9537         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
9538         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
9539
9540         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
9541         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
9542         purely a function of the corresponding colormap. Make
9543         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
9544
9545         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
9546         gdk_pixbuf_*create_from_xpm_* in terms of
9547         gdk_pixbuf_new_from_xpm_data(), move into platform independent
9548         code.
9549
9550         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
9551         advantage of the new draw_rgb_32_image_dithalign.
9552
9553         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
9554
9555         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
9556         on each created GC.
9557
9558         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
9559
9560         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
9561         which we initialize from the drawable when the GC is created,
9562         if the drawable has a colormap.
9563
9564         * gdk/x11/gdkgc-x11.c: include string.h for memset.
9565
9566         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
9567
9568         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
9569
9570 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
9571
9572         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
9573         actually returning expose events, make sure to set
9574         the count field properly.
9575
9576         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
9577         accidentally reintroced bug which always cleared
9578         the graphics_exposures value. 
9579
9580 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
9581
9582         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
9583
9584 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
9585
9586         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
9587
9588 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
9589
9590         * docs/faq/gtk-faq.sgml: Start of Section 6.
9591
9592 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
9593
9594         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
9595         
9596         (Fixes problem with drawing childless frames. Pointed out
9597         by and a first patch from Anders)
9598         
9599         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
9600         compute a child_allocation, even if we don't have a child.
9601
9602         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
9603         Always chain to the parent's impl, even if we don't have a child.
9604
9605 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
9606
9607         * gdk/gdkrgb.c: If possible, create only a single shm segment and
9608         use multiple parts of it instead of creating a bunch of separate
9609         segments, since the maximum number of segments per system is not
9610         large. (This might be worth backporting to GTK+-1.2.x if we make a
9611         new release )
9612
9613         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
9614         structure in preparation for per-colormap GdkRGB.
9615
9616         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
9617         to False when we get EINVAL from shmget so that the caller of
9618         gdk_image_new can retry with a smaller segment size.
9619
9620 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
9621
9622         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
9623
9624 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
9625
9626         * configure.in: make the current version number 1.3.1 (binary age 0,
9627         interface age 0).
9628         
9629         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
9630         gtkcompat.h is all we want.
9631
9632         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
9633         GLib primitive types. fixed g_type_register_fundamental() argument
9634         ordering.
9635
9636         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
9637         compiles.
9638
9639         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
9640         object code cleanup, comment trigraph fixes, etc...
9641
9642 2000-06-23  Havoc Pennington  <hp@redhat.com>
9643
9644         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
9645         instead of making up a bogus name for first_para_mark
9646
9647         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
9648         0 as a context ID
9649
9650 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
9651
9652         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
9653
9654 2000-06-21  Havoc Pennington  <hp@pobox.com>
9655
9656         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
9657         we didn't check window->bg_pixmap != GDK_NO_BG.
9658
9659         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
9660         gdk-pixbuf
9661
9662 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
9663
9664         * docs/faq/gtk-faq.sgm: Move file to here.
9665           TODO: Update Makfile.am 
9666
9667 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
9668
9669         * docs/gtk-faq.sgm: Add Section 2
9670
9671 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
9672
9673         * docs/gtk-faq.sgm: New file. Start of DocBook
9674           version of the FAQ.
9675
9676 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
9677
9678         * configure.in (GDK_PIXBUF_MAJOR): Define version
9679         numbers for GDK_PIXBUF_*, as they get substituted
9680         into a header file. Need to consider versioning
9681         for gdk-pixbuf more carefully later.
9682
9683 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
9684
9685         Work with srcdir != builddir.   
9686         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
9687         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
9688         * demos/testpixbuf.c: Likewise.
9689         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
9690         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
9691         <gdk/x11/gdkx.h>.
9692         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
9693         "gdk-pixbuf.h".
9694         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
9695
9696 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
9697
9698         * TODO.xml: Change 1.4 version numbers to 2.0.
9699
9700 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
9701
9702         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
9703         fixups to GTK+ standard.
9704
9705 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
9706
9707         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
9708         gdk-pixbuf.
9709
9710         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
9711         fixups for GObject.
9712
9713         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
9714         gdk-pixbuf with GDK dependencies moved into GDK.
9715         
9716         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
9717         move gdk-pixbuf-loader here until GObject has signals.
9718
9719         * demos/: New directory of demos. Move demos from
9720         gdk-pixbuf here.
9721
9722         * demos/pixbuf-init.c: Small bit of code to check for
9723         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
9724         set GDK_PIXBUF_MODULEDIR appropriately.
9725
9726         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
9727         define which no longer makes sense.
9728
9729 2000-06-21  Havoc Pennington  <hp@redhat.com>
9730
9731         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
9732         gtk_get_default_language
9733
9734         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
9735         new function to get the default language
9736
9737         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
9738         s/gtk_text_view_style_values/gtk_text_style_values/
9739
9740         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
9741         Add a "language" field to tags.
9742
9743         (gtk_text_tag_set_arg): Fix bug in setting
9744         "bg_full_height_set" tag.
9745
9746 2000-06-21  Havoc Pennington  <hp@redhat.com>
9747
9748         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
9749         in the interfaces
9750
9751         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
9752         stuff instead when possible.
9753
9754         * gtk/gtktexttypes.h: Delete some unused constants
9755
9756         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
9757         testtextbuffer.c: use glib instead of custom unicode routines
9758
9759 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
9760
9761         * docs/es/: Removed mistakenly added generated sgml
9762
9763         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
9764         Remove outdated info files.
9765
9766         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
9767         Moved tutorial files into subdir
9768
9769         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
9770         subdir.
9771
9772         * docs/man/gtk_button.pod: Remove. (contents will be
9773         integrated into gtk-reference button page.)
9774
9775         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
9776         docs/faq/Makefile.am: Adjust for new organization
9777
9778 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
9779
9780         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
9781         not $(MKINSTALLDIRS)
9782
9783 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
9784
9785         * gtk/testgtk.c (create_text): Finish the job Elliot started
9786         of removing font setting test for text widget. (Since text widget
9787         and GdkFont are not deprecated, and cause portability problems.)
9788
9789 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
9790
9791         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
9792         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
9793         Remove use of libunicode in favor of new GLib functions.
9794
9795         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
9796         nano-x, framebuffer. The X11 include is just a hack until we get
9797         the necessary functions in gdkcolor.h, so there is no reason to
9798         add other includes of platforms.
9799
9800         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
9801         window bigger than the screen change.
9802
9803         * gtk/testgtk.c: Revert some random changes from Elliot
9804         that had no particular point and were causing testgtkrc
9805         not to function correctly.
9806         
9807         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
9808         because GdkSegment and GdkRegionBox have the same fields,
9809         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
9810         results in clearer code.
9811
9812         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
9813         gdk_input_translate_coordinates): Fix missed GdkObjectification
9814
9815 2000-06-18  Elliot Lee  <sopwith@redhat.com>
9816
9817         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
9818         * gtk/gtk{plug,socket}.h: Missed commits from previous.
9819
9820 2000-06-20  Havoc Pennington  <hp@redhat.com>
9821
9822         * modules/linux-fb/Makefile.am: Make this compile
9823         without framebuffer enabled
9824
9825         * gdk/linux-fb/Makefile.am: Add conditional to not build
9826         framebuffer unless specified in configure
9827
9828         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
9829         the size of the target instead of source if -1 was passed for
9830         width/height
9831
9832         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
9833         width/height confusion.
9834
9835 2000-06-19  Havoc Pennington  <hp@redhat.com>
9836
9837         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
9838         GDK_DRAWABLE_XID. In the future, we probably want to make it
9839         faster with G_DISABLE_CHECKS turned on.
9840
9841 2000-06-14  Havoc Pennington  <hp@redhat.com>
9842
9843         * gdk/Makefile.am: add gdkpixmap.c
9844
9845         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
9846         s/gdk_image_init/_gdk_windowing_image_init
9847
9848         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
9849         ref/unref
9850
9851         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
9852
9853         * gdk/gdkcompat.h: remove GdkWindowType compat, since
9854         GdkWindowType is now non-deprecated; 
9855         change gdk_window_get_type() compat to be
9856         gdk_window_get_window_type().
9857
9858         * gdk/gdkdnd.h: make GdkDragContext a GObject.
9859
9860         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
9861         virtual GObject. Make all functions call into the vtable.
9862         Move gdk_image_put() guts in here. Remove GdkDrawableType
9863         and gdk_drawable_get_type(), these are now GdkWindow-specific.
9864         draw_image, get_depth, get_size, set_colormap, get_colormap,
9865         get_visual added to the vtable.
9866         
9867         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
9868         GObject. Virtualize everything. 
9869         (gdk_gc_new_with_values): remove check for destroyed window,
9870         because now GdkWindow::create_gc will check this.
9871         (gdk_gc_set_values): New function to set GC values, this 
9872         was already implemented but wasn't in the header
9873
9874         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
9875
9876         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
9877         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
9878         remove _gdk_window_class; add _gdk_window_impl_get_type() and
9879         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
9880         _gdk_windowing_window_init, rename gdk_image_init to
9881         _gdk_windowing_image_init.
9882         
9883         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
9884         (gdk_draw_layout): Remove check for destroyed window, 
9885         because all the drawable methods already check it.
9886         
9887         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
9888         Add gdkpixmap.c which contains implementation of GdkDrawable
9889         virtual table (by chaining to a platform-specific implementation
9890         object).
9891         
9892         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
9893         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
9894         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
9895         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
9896         GdkColormapPrivate. 
9897
9898         * gdk/gdktypes.h: #include <glib-object.h>
9899
9900         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
9901         Move most functionality to platform-specific implementation
9902         object. GdkWindow itself now handles the backing store, then
9903         chains to the platform-specific implementation.
9904         (gdk_window_get_window_type): return GdkWindowType of the window.
9905         (gdk_window_peek_children): New routine, returns the children of 
9906         a GdkWindow
9907         (gdk_window_get_children): Was in X11-specific code and did 
9908         XQueryTree. Changed to simply return a copy of window->children; 
9909         so it can go in cross-platform code.
9910         
9911         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
9912
9913         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
9914         GdkColormap; just changed to use the new private data instead
9915         of casting to GdkColormapPrivate.
9916
9917         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
9918         gdk_cursor_new().
9919
9920         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
9921         (private data member in the GObject). 
9922         (xdnd_manager_source_filter): Function had broken 
9923         error handling, fix it (use gdk_error_trap_push).
9924
9925         * gdk/x11/gdkdrawable-x11.c: This file now implements
9926         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
9927         base class is purely for the convenience of the X port,
9928         and not part of the interface to cross-platform GDK.
9929
9930         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
9931         
9932         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
9933         specific to X, and returned by the create_gc virtual method
9934         of GdkDrawableImplX11. 
9935         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
9936         rather than gchar, this was also changed in the GdkGC vtable.
9937         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
9938         mask is 0, return immediately, instead of checking every flag.
9939         This is faster, and keeps us from segfaulting if values is NULL
9940         and the mask contains some nonzero flags.
9941
9942         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
9943         GdkWindow.
9944
9945         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
9946         GdkWindowPrivate is gone.
9947
9948         * gdk/x11/gdkim-x11.c: rename things that got renamed.
9949
9950         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
9951         remove the image_put stuff that got transferred to GdkDrawable.
9952         
9953         * gdk/x11/gdkinput.c: renamings
9954
9955         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
9956
9957         * gdk/x11/gdkpixmap-x11.c: GObject conversion
9958
9959         * gdk/x11/gdkprivate-x11.h: indentation fixes
9960
9961         * gdk/x11/gdkproperty-x11.c: renamings
9962
9963         * gdk/x11/gdkselection-x11.c: renamings
9964
9965         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
9966         implements the platform-specific "impl" object.
9967         Moved gdk_window_get_children to gdk/gdkwindow.c
9968
9969         * gdk/x11/gdkx.h: Remove all the private structs and private datas
9970         that no longer exist. Add declaration of GdkGCX11 object here.
9971         Fix all the macros to still work. 
9972
9973         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
9974         GdkDragContext from the boxed types since they are now GObjects.
9975
9976         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
9977         moved xthickness/ythickness into the instance. GtkStyleClass
9978         functions are now in the standard vtable for GtkStyle, so you have
9979         to create a GObject subclass to write a theme engine.
9980         (gtk_style_copy): fixed a leaked PangoFontDescription
9981         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
9982         can be the standard GObject function.
9983         
9984         * Throughout GTK:
9985         s/style->klass->[xy]thickness/style->[xy]thickness
9986         s/pango_layout_unref/g_object_unref/
9987
9988         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
9989         
9990         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
9991         accessing GDK internals.
9992
9993         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
9994         accessing GDK internals.
9995
9996 2000-06-18  Elliot Lee  <sopwith@redhat.com>
9997
9998         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
9999
10000         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
10001         problem by calculating event position relative to the trough
10002         rather than the slider.
10003         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
10004
10005         * gdk/gdkgc.h: Add GDK_NOR.
10006
10007         * configure.in, Makefile.am: Add modules top level dir
10008         * configure.in: Only use pangox library if building x11 target.
10009         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
10010
10011 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
10012
10013         * gtk/gtkcolorsel.c: Change private class member to be named
10014         private_data throughout the file.
10015
10016         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
10017         private_data to avoid clashing with keyword.
10018
10019 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
10020
10021         * gdk/gdkdnd.h: Add comment to remove warning.
10022
10023 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
10024
10025         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
10026         Byelorussian language; changed the Makefile and file names 
10027         to reflect that.
10028
10029 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
10030
10031         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
10032         rather than gdk_window_hide; this makes things work
10033         correctly if the window is programmatically hidden while
10034         iconified.
10035
10036 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
10037
10038         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
10039         cut and paste typo where wrong pixmap was being
10040         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
10041
10042 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
10043
10044         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
10045         Add helper function to compute format / bytes 
10046         relationship. Use in a couple places to fix up
10047         errors which assume 8 * format.
10048
10049         * gtk/gtkselection.c (gtk_selection_request): Use 32
10050         rather than 8 * sizeof (GdkAtom), to work correctly
10051         on Alpha.
10052
10053 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
10054
10055         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
10056         libgtk.la
10057         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
10058         versions
10059
10060         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
10061         checking macros return NULL since the function has a return value.
10062
10063 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
10064
10065         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
10066         GTK+ from building at all.
10067
10068         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
10069
10070 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
10071
10072         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
10073         gtk/Makefile.am: make it possible to configure gtk for different
10074         targets on the same platform. The library name is now 
10075         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
10076         flag. Only the x11 target compiles right now.
10077         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
10078         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
10079         * gdk/nanox/gdk*generic*: delete generic region code.
10080         * gdk/linux-fb/gdk*generic*: delete generic region code.
10081         * README.nanox: update information.
10082         
10083 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
10084
10085         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
10086         prepend not append. (Pointed out by Brett Hall.)
10087
10088 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
10089
10090         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
10091
10092 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
10093
10094         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
10095         need this later, and this makes sure that the atexit for
10096         glib gets called after that for GDK, so atexits are
10097         properly ordered for object leak checking.
10098
10099         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
10100
10101         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
10102         pango_x_shutdown_display()
10103
10104         * gtk/simple.c (main): Close window on destroy.
10105
10106 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
10107
10108         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
10109         to treat initial creation different from setting with 
10110         regards to the graphics-exposures parameter, so add a parameter
10111         indicating whether this is initial or not.
10112
10113 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
10114
10115         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
10116         to sort of work by adding an extra return_exposes arg
10117         to gdk_event_translate() - it might be better to simply
10118         deprecate the function altogether and force people to rewrite
10119         without it. gdk_window_scroll() handles most of it, and where
10120         gdk_window_scroll() doesn't work, simply redrawing more does.
10121
10122         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
10123         assertion.
10124
10125         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
10126
10127         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
10128         bunch of pretty much useless /* Print debugging info */ comments 
10129         which had drifted away from the code they were commenting.
10130
10131 2000-06-02  Havoc Pennington  <hp@pobox.com>
10132
10133         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
10134         is in working order.
10135         
10136         * gtk/testtext.c: Change to reflect anonymous mark API
10137
10138         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
10139
10140         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
10141         field, which was unused.
10142
10143         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
10144         saves some typing.
10145
10146         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
10147
10148         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
10149         flag on the insertion point and selection bound
10150
10151         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
10152         make mark-manipulation functions take a GtkTextMark* instead of a
10153         mark name.
10154         
10155         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
10156         GtkTextMarkBody; will be used to detect attempts to delete
10157         the permanent marks (insert and selection bound)
10158
10159         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
10160
10161 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
10162
10163         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
10164         flag to on.
10165
10166         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
10167         Honor DOUBLE_BUFFRED_FLAG
10168
10169         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
10170         function to set the DOUBLE_BUFFERED flag.
10171
10172         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
10173         or not exposes done on the widget should be double-buffered.
10174
10175         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
10176         to be what would be expected. (Fixes problem with a
10177         g_return_if_fail() validating a TextDirection enumeration)
10178
10179 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
10180
10181         * gtk/gtkwidget.c: Remove all references to 
10182         offscreen flag which was no longer used.
10183
10184         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
10185
10186         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
10187         for non-null label_widget->parent.
10188
10189         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
10190         which no longer was used.
10191
10192         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
10193
10194         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
10195         for null arguments.
10196
10197         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
10198         check for destroyed windows.
10199
10200 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
10201
10202         * gtk/gtkimmulticontext.c: Add a finalize method and unref
10203         the slave context there.
10204
10205         * gtk/gtkinvisible.[ch]: Make reference counting behavior
10206         identical to GtkWindow.
10207
10208 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
10209
10210         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
10211         pangox to here, so we can write them independent of rendering
10212         system, using GDK primitives.
10213
10214         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
10215         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
10216         since we have a rendering-system independent implementation in
10217         terms of draw_glyphs().
10218         
10219         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
10220         function to render a single line.
10221
10222         * gdk/x11/gdkpango.c: Move the guts of this file mostly
10223         into ../gdkpango.c, which simplifies things, since we
10224         don't have to deal with raw X gc's.
10225
10226 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
10227
10228         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
10229         get the logical attributes for a given GtkTextLine.
10230
10231 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
10232
10233         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
10234         g_locale_get_codeset() to g_get_codeset() change.
10235
10236 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
10237
10238         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
10239         descriptions.
10240
10241         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
10242         the entry.
10243
10244         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
10245         redoing (vastly simplifying) for Pango. Still needs quite
10246         a bit of work. (Size selection is currently poor. List of 
10247         predefined sizes is not a good idea, since all of these
10248         sizes won't necessarily be distinct.)
10249
10250 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
10251
10252         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
10253         CODESET results for LANG=C.
10254
10255 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
10256
10257         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
10258         which takes a stringized pango font description;
10259         ignore the older 'font' and 'fontset' declarations.
10260
10261         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
10262         field with a GdkFont derived via gdk_font_from_description(),
10263         for compatibility. (Should we just remove it entirely?
10264         Probably too much compatibility breakage, but people
10265         should be migrating to the new Pango stuff as quickly
10266         as possible.)
10267
10268 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
10269
10270         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
10271
10272 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
10273
10274         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
10275         redoing; there are some bugs in size allocation right
10276         now, the semi-existant distinction between header / day
10277         fonts was removed, but, with Pango, could actually
10278         be made functional in a nice way.
10279         
10280         * gtk/testcalender: Move calender from examples into this
10281         directory as a test program. (We really need to restrcture
10282         testgtk into a whole directory full of tests for every
10283         widget or functionality group, separated into multiple .c
10284         files.)
10285
10286 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
10287
10288         * gtk/testgtk.c (file_exists): Fix stupid typo that
10289         was keeping RC file from being loaded.
10290
10291         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
10292         RC file font code.
10293
10294 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
10295
10296         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
10297         Add function to load a GdkFont from a PangoFontDescription.
10298
10299 2000-05-29  Tor Lillqvist  <tml@iki.fi>
10300
10301         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
10302         variable should be of type GdkEventPrivate.
10303
10304 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
10305
10306         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
10307         to have any widget for the label, use a GtkLabel widget
10308         to display the text. (Based partially on a patch from
10309         Anders Carlson.)
10310
10311         (Quite a bit of code reorganization - strip 90% of the
10312         guts out of gtkaspectframe and add a single virtual
10313         func to GtkFrameClass - compute_child_allocation.)
10314
10315 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
10316
10317         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
10318         (Removed clist->row_center_offset field because caching
10319         it wasn't saving time or code, added private function
10320         _gtk_clist_create_cell_layout()).
10321
10322 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
10323
10324         * gtk/gtkaccellabel.c: Pangoized.
10325
10326         * gtk/[hv]ruler.c: Pangoized
10327
10328 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
10329
10330         * gtk/gtkfilesel.c (gtk_file_selection_init):
10331         Use gtk_clist_set_column_auto_resize() to remove need
10332         need for manual column width computations.
10333
10334 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
10335
10336         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
10337         ensuring Pango correctness, and considerably simplifying the
10338         code.
10339         
10340         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
10341
10342         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
10343         getting of numbers of lines.
10344
10345         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
10346         to the actual requested width of the lable, not to the wrap
10347         width we set.
10348
10349         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
10350
10351         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
10352           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
10353
10354         * gtk/gtktextview.c: Fix structure inheritance.
10355
10356         * gtk/gtkprogressbar.c: Pangoize.
10357
10358 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
10359
10360         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
10361         in a function.
10362
10363         * gtk/gtktextlayout.c (find_display_line_above): Fixed
10364         bug with computing line tops.
10365
10366         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
10367
10368 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
10369
10370         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
10371         and y_offset coordinates to do what we need now. (The offset between
10372         buffer and layout coordinates has been reintroduced, but is a 
10373         bit different than before.)
10374
10375         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
10376         handle the adjustments ourselves, and scroll as necessary using
10377         the new gdk_window_scroll().
10378         
10379         The advantage of this is that when we are incrementally revalidating,
10380         we are essentially rearranging things around the visible portion
10381         of the screen. With the old setup, the visible portion of the
10382         screen was moved around in the layout, so scrolling and redrawing
10383         to track that caused jumping of the display. Since we now
10384         control the scrolling ourselves, we can suppress this and
10385         only redraw when things actually change.
10386
10387 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
10388
10389         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
10390         the region not just redisplay it after-all, since we store the
10391         cursors in the LineDisplay. (Ugly interactions here between
10392         GtkLayout and GtkTextBTree here.)
10393         
10394         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
10395
10396 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
10397
10398         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
10399         Added function to scroll contents of a window while keeping the
10400         window constant. Works by XCopyArea or guffaw-scrolling depending
10401         on the details of how the window is set up. (guffaw-scrolling
10402         still needs to be filled in.)
10403
10404 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
10405
10406         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
10407         move the debugging that was tied to a global variable
10408         to that.
10409
10410         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
10411
10412         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
10413         validated flag, in line data instead of setting height/width to
10414         -1. This allows us to perform operations with partially invalid
10415         buffer (using the old size for invalid lines) and thus to do
10416         incremental vaidation. Keep height/width aggregates up to date
10417         when deleting text and rebalancing the tree.
10418
10419         * gtk/gtktextbtree.[ch]: Add functions validate a line
10420         (gtk_text_btree_validate_line), and to validate up
10421         to a number of pixels (gtk_text_btree_validate).
10422
10423         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
10424         that indicates that something is changed and a revalidation
10425         pass is needed. Change ::need_repaint to ::changed, and
10426         make it take old and new yranges instead of a rectangle.
10427
10428         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
10429         the line_data_destroy() function from 
10430         gtk_text_btree_add_view() to a virtual function in 
10431         GtkTextLayout
10432
10433         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
10434         since we are handling partial repaints in a different fashion
10435         now.
10436
10437         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
10438         of the selection instead of queueing a repaint on the
10439         entire widget.
10440
10441         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
10442         get_selection_bounds() down to btree, make the function
10443         in buffer a wrapper around the btree function.
10444
10445         * gtk/gtktextlayout.[ch]: Add functions to check if the
10446         layout is valid and to recompute either a range of pixels
10447         aroudn a line or a certain total number of pixels.
10448
10449         * gtk/gtktextlayout.[ch]: Cache a single line display;
10450         now that we only redraw the needed portions, the hit rate
10451         for this cache is quite high.
10452         
10453         * gtk/gtktextview.[ch]: Keep track of the first paragraph
10454         on the screen so that when re-laying-out the buffer, we can
10455         keep the same place. This requires connecting to ::value_changed
10456         on the adjustments
10457
10458         * gtk/gtktextview.[ch]: Add idle functions to revalidate
10459         the buffer after we receive an ::invalidated signal.
10460         
10461 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
10462
10463         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
10464         to max of allocation and layout size, not just to the
10465         layout size.
10466
10467         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
10468         Invalidate window so it gets redrawn properly.
10469
10470         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
10471         to mean the entire window.
10472
10473         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
10474         into public header.
10475
10476 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
10477
10478         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
10479         to get the name of a mark.
10480
10481         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
10482         to find the paragraph from a y position.
10483
10484 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
10485
10486         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
10487         nodes have width/height >= 0, not > 0.
10488
10489 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
10490
10491         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
10492         Add a size_only flag, so when we only need the size, we don't create
10493         useless appearance attributes.
10494
10495         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
10496         duplicate setting of font description.
10497
10498         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
10499
10500 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
10501
10502         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
10503         EXTRA_DIST. It does not work well when the file that
10504         everything depends on is not in the tarball.
10505
10506 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
10507
10508         * gtk/testgtk.c: Some hacks and fixes so that it basically
10509         works when not sitting in the GTK+ build tree.
10510
10511 2000-05-03  Havoc Pennington  <hp@redhat.com>
10512
10513         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
10514         Properly determine the ordering of the tag root and the current
10515         line within the tree. Previous algorithm only worked if the tag
10516         root's immediate parent was the common root of both the current
10517         line and the tag root.
10518
10519 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
10520
10521         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
10522         alignment.
10523
10524         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
10525         the widget text directional dynamically.
10526
10527         * gtk/gtktextview.[ch]: Added functions to get and set default
10528         wrap mode.
10529
10530 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
10531
10532         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
10533         in cursor location computation.
10534
10535 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
10536
10537         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
10538         vadjusment values properly when layout gets smaller.
10539
10540         * gtk/gtktextview.c (need_repaint_handler): Areas being
10541         passed in are far completely inaccurate, and sometimes
10542         too small, so, for now, just queue a redraw on the
10543         whole visible region.
10544
10545 2000-04-25  Havoc Pennington  <hp@redhat.com>
10546
10547         * gtk/gtktextbtree.c (summary_destroy): new function to 
10548         destroy tag summary nodes
10549         (gtk_text_line_next_could_contain_tag): this function was 
10550         totally broken if the line passed in wasn't below the tag
10551         root. Fix it.
10552         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
10553         "wildcard" case, we have to do a linear scan. Blah.
10554         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
10555         we have to do the linear scan
10556         (tag_removed_cb): When a tag is removed from the tag table, 
10557         remove the GtkTextTagInfo node from the btree.
10558         (gtk_text_btree_spew): Implement the spew function, for 
10559         our debugging pleasure.
10560
10561 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
10562
10563         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
10564         a problem with referring to the wrong buffer.
10565
10566         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
10567
10568         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
10569         font description to gtk_style_new() - otherwise things
10570         don't work without a .gtkrc file.
10571
10572         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
10573         tags table if we create it ourself, too.
10574
10575         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
10576         it was conflicting with XKB modifiers.
10577
10578         * gtk/gtktextview.[ch]: Add simple support for 
10579         GtkIMContext.
10580
10581 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
10582
10583         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
10584         with deletion from last commit.
10585
10586 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
10587
10588         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
10589         in the context from the current locale.
10590         
10591         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
10592         context, not hardcoded value.
10593
10594         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
10595         not logical.
10596
10597 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
10598
10599         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
10600         attributes - that doesn't handle partial-glyph selection
10601         properly. Instead use new pango_layout_line_get_x_ranges()
10602         functionality to draw the selection.
10603
10604         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
10605         now properly handles out-of-range coordinates.
10606
10607         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
10608
10609         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
10610         public.
10611
10612         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
10613         for paragraphs opposite to the base direction of the widget.
10614
10615         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
10616
10617         * gtk/gtktextlayout.c: Don't split segments on marks, since that
10618         causes Arabic words to reshape as you cursor through.
10619
10620         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
10621         cursor position when moving vertically with the arrow keys and
10622         scrolling with page-up/page-down. (Arrow keys save only the X,
10623         scrolling saves both X and Y.)
10624
10625         This means you can line-up / line-down or page-up / page-down
10626         without losing your place, and also that moving vertically
10627         with the cursor keys keeps the same X position, not the same
10628         character count:
10629
10630         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
10631         arrow keys move by display lines, not paragraphs.
10632
10633 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
10634
10635         * gtk/gtklayout.c: Make sure that the bin window is at least
10636         as big as the allocation. (Should we also make sure that the
10637         bin window is big enough to completely cover widget->window?)
10638
10639         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
10640         function to get the onscreen rectangle.
10641
10642         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
10643         for offsets in window coordinates.
10644
10645 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
10646
10647         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
10648         confusion.
10649
10650         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
10651         from the widget direction.
10652
10653         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
10654         Add a "direction" attribute.
10655
10656         * gtk/gtktextview.c: global s/tkxt/text_view/.
10657
10658         * gtk/testtext.c: Added long block of text in Arabic, to test out
10659         the direction attributes. (Some problems with the shaping system
10660         for arabic become obvious - like the fact the cursor splits words
10661         into unjoined pieces.)
10662
10663 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
10664
10665         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
10666
10667         * gtk/gtktextlayout.c: Fix up alignment.
10668
10669         * gtk/testtext.c: Add some tests for centering, wrapping.
10670
10671 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
10672
10673         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
10674         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
10675         If we wrote GTK+-specific layout-render function this could just replace
10676         the draw_layout() operation in the vtable.
10677
10678         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
10679         pango_layout_get_cursor_pos() and use that function.
10680
10681         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
10682         is a non-static symbol.
10683
10684         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
10685         with gtk_text_btree_find_line_by_y()
10686
10687         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
10688         renderer that handles GtkTextAppearance attributes.
10689
10690         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
10691
10692           - Move the values in the style that don't affect geometry into a
10693             GtkTextAppearance structure.
10694           - Change underline to take a PangoUnderline and "font" a string
10695             representation of a font description
10696           - Add a "font_desc" attribute which takes a FontDescription structure.
10697
10698         * gtk/gtktextlayout.[ch]:
10699
10700           - Get rid of the display-line list per each line. Instead, we
10701             generate, on demand, a GtkTextLineDisplay structure which]
10702             contains a PangoLayout * and other necesary information
10703             (offsets, cursor locations) for displaying a paragraph.
10704           - Get rid of the code to wrap lines, create display chunks,
10705             etc. Instead, we just go through a paragraph and convert
10706             it into the necessary inputs to a PangoLayout.
10707           - Implement a new attribute type, GtkTextAttrAppearance. This
10708             holds a GtkTextAppearance, and is used to pass colors, 
10709             stipple, etc, through from the layout to the display without
10710             having to use lots and lots of individual attributes.
10711           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
10712             in terms of PangoLayout functions.
10713         
10714         * gtk/gtktextview.c: 
10715          
10716           - Handle passing the necessary PangoContext to the layout
10717           - Some fixups in painting to deal with the automatic backing store
10718             and offsetting of GTK+-1.4
10719           - Add a style_set handler so that the default style reacts
10720             properly to theme changes.
10721         
10722         * gtk/gtktext?*.[ch]: Random code-style fixes.
10723
10724         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
10725
10726 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
10727
10728         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
10729         in original form preparatory to Pango-ization and gdkimcontext-ization.
10730
10731 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
10732
10733         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
10734         so that we can derive from gtkimcontext in language bindings properly.
10735
10736 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
10737
10738         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
10739         Add a compose table including (almost) all the compose combinations
10740         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
10741         data in the XIM implementation.
10742
10743         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
10744         Moved functions to convert keyvalues from and to unicode here from
10745         the win32 port and made them public.
10746
10747 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
10748
10749         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
10750
10751 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
10752
10753         * gtk/gtkimcontext.[ch]: Base class for new input context system
10754
10755         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
10756         the real input context implementation to be loaded from modules
10757         and switched on the fly.
10758
10759         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
10760         context that just does direct keysymbol => unicode translation.
10761
10762         * gtk/gtkentry.[ch]: Start switching editing over to using
10763         GtkInputContext. (No handling of preedit yet.)
10764
10765 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
10766
10767         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
10768         many substitutions. (klass should not be subsituted.)
10769
10770 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
10771
10772         * configure.in: Add checks for Pango
10773
10774         * configure.in docs/Makefile.am: Add test for sgml2html
10775         and allow 'make dist' without building html, but print out
10776         warnings in that case. (For making snapshots)
10777
10778         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
10779         Add Pango libraries and C flags
10780
10781         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
10782         Add function (gdk_draw_layout) to draw a pango layout.
10783
10784         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
10785         for getting Pango contexts for GDK.
10786
10787         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
10788
10789         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
10790         editing.
10791
10792         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
10793         keysym => unicode translations. More languages can be added
10794         here, but real input-method support is needed.
10795
10796         * docs/Changes-1.4.txt: Added note about entry behavior.
10797         
10798         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
10799         to set the reading direction for a widget and the global direction.
10800         Add test which allows toggling the global direction. Two private
10801         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
10802
10803         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
10804           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
10805
10806         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
10807
10808         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
10809         underlining now handled by Pango.
10810
10811         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
10812         to RCStyle and Style. (Having both this and the old font name and GdkFont 
10813         is temporary.)
10814
10815         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
10816         convenience functions for creating contexts and layouts for widgets.
10817
10818         * gtk/testgtk.c: Enhance label tests with multilingual labels.
10819
10820 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
10821
10822         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
10823         titles to be active, even if they aren't visible.
10824         (gtk_clist_column_titles_passive):  Ditto.
10825
10826 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
10827
10828         * gtkmenu.c:
10829         * gtkmenu.h:
10830         * gtktypeutils.h: Spelling/grammar fixes in comments.
10831
10832 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
10833
10834         * gdk/nanox/*.h: add missing header files.
10835
10836 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
10837
10838         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
10839         send_event to TRUE.
10840         (gtk_drawing_area_size): queue a resize.
10841
10842 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
10843
10844         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
10845         the handlers, also invalidate them. bug nailed down by Karl Nelson
10846         <kenelson@ece.ucdavis.edu>.
10847
10848 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
10849
10850         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
10851         "(nil)" foundries, patch from Grigorios Magklis.
10852
10853         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
10854         on non-available fonts, based on a patch by Grigorios Magklis
10855         <maglis@cs.rochester.edu>.
10856
10857 2000-05-18  Elliot Lee  <sopwith@redhat.com>
10858
10859         * gdk/x11/gdkregion-generic.c: If a region does not have any
10860         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
10861         instead of GDK_OVERLAP_RECTANGLE_IN.
10862
10863 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
10864
10865         * gtk/gtklayout.c (gtk_layout_map): Remove references to
10866         OFFSCREEN, as it is no longer necessary.
10867
10868 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
10869
10870         * gtk/gtkcolorsel.c: Patch from David Santiago
10871         <mrcooger@cyberverse.com> to change things so that the 
10872         indicator of the active palette entry is done independently,
10873         not via the focus, since it should always be visible.
10874
10875 2000-05-17  Tor Lillqvist  <tml@iki.fi>
10876
10877         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
10878         refcount leaks as in the X11 backend.
10879
10880         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
10881         cosmetics.
10882
10883         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
10884         backend. Add _gdk_windowing_window_destroy().
10885
10886         * gtk/gtkcolorsel.c: Include correct backend-specific header.
10887         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
10888         either, but these probably do exist on nanox?)
10889         
10890         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
10891         which isn't necessarily defined by <math.h>.
10892
10893         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
10894         ancestry past GtkObject.
10895
10896         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
10897         from DLL on Win32.
10898
10899         * gtk/gtk.def: Update corresponding to recent changes.
10900
10901         * gtk/makefile.{cygwin,msc}: Updates.
10902
10903 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
10904
10905         * docs/Changes-1.4.txt: A bit of editing.
10906
10907         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
10908         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
10909         to clear the update area for the window, and clear it
10910         when hiding a window.
10911
10912         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
10913         if window destroyed.
10914
10915         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
10916
10917         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
10918         gdk_window_destroy() to the generic code, since there was a lot of 
10919         window-system-independent logic it in. Add a function:
10920         
10921          _gdk_window_destroy() 
10922
10923         to the internal API to destroy a window without unreferencing it.
10924         Add a function:
10925
10926          _gdk_windowing_window_destroy()
10927
10928         That does the windowing-system-dependent part of destroying 
10929         the window.
10930
10931 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
10932
10933         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
10934
10935 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
10936
10937         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
10938         Make gtk_widget_shape_combine_mask() keep a reference count on
10939         the pixmap since it keeps it around.
10940
10941 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
10942
10943         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
10944         leak.
10945
10946         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
10947         leak with event filters.
10948
10949 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
10950
10951         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
10952         signal handlers with the right data arguments. (Fixes
10953         some warnings when a widget was repeatedly set as a drag
10954         destination.)
10955
10956         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
10957         window so we can avoid avoid setting the DND properties on the
10958         toplevel window repeatedly.
10959
10960 2000-05-13  Tor Lillqvist  <tml@iki.fi>
10961
10962         * gdk/win32/gdkwin32.h: Define more message types missing from
10963         mingw headers.
10964
10965         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
10966         call gdk_window_destroy_notify(). It was never called. This
10967         probably meant that the GdkWindow was never freed. Thanks Owen for
10968         noticing (!).
10969
10970         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
10971         window as destroyed before calling DestroyWindow(). DestroyWindow()
10972         causes a call to the window procedure (gdk_WindowProc), which
10973         calls gdk_event_translate(), which calls
10974         gdk_window_destroy_notify(), which gets confused unless the window
10975         is set as destroyed.
10976
10977         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
10978         this function to indicate it's win32 only. Put inside #ifdef
10979         G_ENABLE_DEBUG.
10980
10981         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
10982         debugging function. (gdk_event_translate:) Add a default branch
10983         that uses the above function to print debug messages with all
10984         Windows messages symbolically.
10985
10986         * gdk/win32/gdkprivate-win32.h: Declare it, and
10987         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
10988
10989 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
10990
10991         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
10992         public header file.
10993
10994 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
10995
10996         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
10997
10998         * gtk/gtktext.c: made the adjustments no-construct args, simply
10999         provide default adjustments.
11000         (gtk_text_destroy): release adjustments.
11001
11002         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
11003         adjustment argument non-construct.
11004
11005         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
11006         instead of in finalize.
11007         (gtk_progress_get_text_from_value): 
11008         (gtk_progress_get_current_text): 
11009         (gtk_progress_set_value): 
11010         (gtk_progress_get_percentage_from_value): 
11011         (gtk_progress_get_current_percentage): 
11012         (gtk_progress_set_percentage): 
11013         (gtk_progress_configure): ensure an adjustment is present.
11014
11015 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
11016
11017         * gtk/gtkcolorsel.[hc]:
11018         * gtk/gtkcolorseldialog.[hc]:
11019         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
11020         their parent implementation, use bit fields for boolean values, don't
11021         create unused widgets, usage of glib types, braces go on their own
11022         lines, function argument alignment, #include directives etc. etc. etc..
11023
11024         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
11025
11026 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
11027
11028         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
11029
11030         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
11031         of NULL.
11032
11033         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
11034         to freed data.
11035         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
11036
11037         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
11038         to NULL when the toplevel is getting destroyed.
11039         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
11040         (gtk_menu_destroy): 
11041         (gtk_menu_init): store the information of whether we have to
11042         readd the initial child ref_count during destruction in a new
11043         GtkMenu field needs_destruction_ref_count.
11044
11045         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
11046         here, those reading: learn from my mistake! ;)
11047         in order for set_?adjustment to support a default adjustemnt if
11048         invoked with an adjustment pointer of NULL, the code read (pseudo):
11049         if (v->adjustment) unref (v->adjustment);
11050         if (!adjustment) adjustment = adjustment_new ();
11051         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
11052         now imagine the first unref to actually free the old adjustment and
11053         adjustment_new() creating a new adjustment from the very same memory
11054         portion. here, the latter comparision will unintendedly fail, and
11055         all hell breaks loose.
11056         (gtk_viewport_set_hadjustment):
11057         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
11058         after unreferencing it.
11059
11060         * gtk/gtkcontainer.[hc]: removed toplevel registration
11061         functions: gtk_container_register_toplevel(),
11062         gtk_container_unregister_toplevel() and
11063         gtk_container_get_toplevels() which had wrong semantics
11064         anyways: it didn't reference and copy the list.
11065
11066         * gtk/gtkwindow.c: we take over the container toplevel registration
11067         bussiness now. windows are registered across multiple destructions,
11068         untill they are finalized. the initial implicit reference count
11069         users are holding on windows is removed with the first destruction
11070         though.
11071         (gtk_window_init): ref & sink and set has_user_ref_count, got
11072         rid of gtk_container_register_toplevel() call. add window to
11073         toplevel_list.
11074         (gtk_window_destroy): unref the window if has_user_ref_count
11075         is still set, got rid of call to
11076         gtk_container_unregister_toplevel().
11077         (gtk_window_finalize): remove window from toplevel list.
11078         (gtk_window_list_toplevels): new function to return a newly
11079         created list with referenced toplevels.
11080         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
11081
11082         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
11083         adjustment a non-construct arg.
11084         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
11085         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
11086         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
11087
11088         * gtk/gtkrange.c: added some realized checks.
11089         (gtk_range_destroy): get rid of the h/v adjustments in the
11090         destroy handler instead of finalize. remove timer.
11091         (gtk_range_get_adjustment): demand create adjustment.
11092
11093         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
11094         we simply create them on demand now and get rid of them in
11095         the destroy handler.
11096         (gtk_viewport_destroy): get rid of the h/v adjustments in the
11097         destroy handler instead of finalize.
11098         (gtk_viewport_get_hadjustment): 
11099         (gtk_viewport_get_vadjustment): 
11100         (gtk_viewport_size_allocate): demand create h/v adjustment
11101         if required.
11102
11103         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
11104         gtk_widget_real_destroy () functionality.
11105         (gtk_widget_real_destroy): reinitialize with a new style, instead
11106         of setting widget->style to NULL.
11107
11108 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
11109
11110         * gtk/gtkcalendar.c:
11111         * gtk/gtkbutton.c: ported _get_type() implementation over to
11112         GType, either to preserve memchunks allocation facilities,
11113         or because Gtk+ 1.0 GtkTypeInfo was still being used.
11114
11115         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
11116         over. prepare for ::destroy to be emitted multiple times.
11117         removed reference tracer magic. chain into GObjectClass.shutdown()
11118         to emit ::destroy signal.
11119
11120         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
11121         fundamental.
11122
11123         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
11124         cludge.
11125
11126         * gtk/gtksocket.c:
11127         * gtk/gtkplug.c:
11128         * gtk/gtklayout.c:
11129         * gtk/gtklabel.c:
11130         * gtk/gtkargcollector.c:
11131         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
11132         not being a fundamental anymore, and to work with the new
11133         type system (nuked fundamental type varargs clutter).
11134
11135         * gtk/*.c: install finalize handlers in the GObjectClass
11136         part of the class structure.
11137         changed direct GTK_OBJECT()->klass accesses to
11138         GTK_*_GET_CLASS().
11139         changed direct object_class->type accesses to GTK_CLASS_TYPE().
11140
11141         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
11142         GType. made most of the GTK_*() type macros and Gtk* typedefs
11143         simple wrappers around macros and types provided by GType.
11144         most notably, a significant portion of the old API vanished:
11145         GTK_TYPE_MAKE(),
11146         GTK_TYPE_SEQNO(),
11147         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
11148         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
11149         GTK_TYPE_ARGS,
11150         GTK_TYPE_CALLBACK,
11151         GTK_TYPE_C_CALLBACK,
11152         GTK_TYPE_FOREIGN,
11153         GtkTypeQuery,
11154         gtk_type_query(),
11155         gtk_type_set_varargs_type(),
11156         gtk_type_get_varargs_type(),
11157         gtk_type_check_object_cast(),
11158         gtk_type_check_class_cast(),
11159         gtk_type_describe_tree(),
11160         gtk_type_describe_heritage(),
11161         gtk_type_free(),
11162         gtk_type_children_types(),
11163         gtk_type_set_chunk_alloc(),
11164         gtk_type_register_enum(),
11165         gtk_type_register_flags(),
11166         gtk_type_parent_class().
11167         replacements, where available are described in ../docs/Changes-1.4.txt.
11168         implemented compatibility functions for the remaining API.
11169
11170         * configure.in: depend on glib 1.3.1, use gobject module.
11171
11172 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
11173
11174         * TODO.xml: Various updates to current status.
11175
11176 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
11177
11178         * gtk.m4: Print out version when test succeeds.
11179
11180 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
11181
11182         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
11183         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
11184         
11185         (Original triangle color selector from Simon Budig
11186         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
11187         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
11188         Santiago <mrcooger@cyberverse.com>)
11189
11190         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
11191         out into a separate widget.
11192
11193         * gtk/testgtk.c: Add some checkbuttons for toggling palette
11194         and opacity controls.
11195
11196 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
11197
11198         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
11199         snuck in prematurely.
11200
11201 2000-05-07  Tor Lillqvist  <tml@iki.fi>
11202
11203         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
11204         had deleted a ! operator by mistake, which caused
11205         GDK_SELECTION_CLEAR events never to be generated, which caused
11206         only the first copy to the clipboard from an gtkeditable to
11207         actually cause a copy to the Windows clipboard.
11208
11209 2000-05-06  Tor Lillqvist  <tml@iki.fi>
11210
11211         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
11212         compilation, too. Current mingw gcc distributions include the
11213         necessary headers. Also the necessary IIDs are now in mingw
11214         headers/libraries, and own definitions unnecessary.
11215
11216         More hacking on OLE2 DND, still doesn't work though, and thus
11217         ifdeffed out.
11218
11219         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
11220         here, too.
11221
11222 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
11223
11224         * gdk/nanox/*: nano-X port work in progress.
11225         * gdk/simple.c: simple test for Gdk.
11226         * README.nanox: notes about the port: read this first!
11227         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
11228         with nano-X.
11229
11230 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
11231
11232         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
11233         gdk_window_clear() into common code, implement in terms of
11234         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
11235         not redirected to the backing rectangle.
11236
11237 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
11238
11239         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
11240         EXTRA_DIST. It does not work well when the file that
11241         everything depends on is not in the tarball.
11242
11243 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
11244
11245         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
11246         with recursion where process_updates() is called from
11247         an expose handler. (GtkTextView is highly broken in
11248         doing this, but it should work, so it is a nice test
11249         case.)
11250
11251 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
11252
11253         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
11254         handle the case where updates are queued during processing of
11255         updates.
11256
11257 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
11258
11259         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
11260         window is on gdk_display - use that instead of segfaulting.
11261
11262 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
11263
11264         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
11265         broken and require an empty arg, give it to them.
11266
11267 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
11268
11269         * gtk/gtklabel.h: indentation fixes.
11270
11271 2000-05-02  Tor Lillqvist  <tml@iki.fi>
11272
11273         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
11274         draw too narrow or too low arcs, they seem to fail, at least with
11275         some display drivers.
11276
11277         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
11278
11279         Large changes to the Win32 backend, partially made necessary by
11280         the changes to the backend-independent internal
11281         structures. Attempts to implement similar backing store stuff as
11282         on X11. The current (CVS) version of the Win32 backend is *not* as
11283         stable as it was before the no-flicker branch was merged. A
11284         zipfile with that version is available from
11285         http://www.gimp.org/win32/. That should be use by "production"
11286         code until this CVS version is usable. (But note, the Win32
11287         backend has never been claimed to be "production quality".)
11288
11289         * README.win32: Add the above comment about versions.
11290
11291         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
11292
11293         * gdk/gdk.def: Update.
11294
11295         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
11296         presumably be replaced by some more better mechanism as 1.4 gets
11297         closer to release shape.
11298
11299         * gdk/makefile.{cygwin,msc}: Update.
11300
11301         * gdk/win32/*.c: Correct inclusions of the backend-specific and
11302         internal headers. Change code according to changes in these. Use
11303         gdk_drawable_*, not gdk_window_* where necessary.
11304
11305         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
11306         our old DND.
11307
11308         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
11309         to interpret single characters as UTF-8. Thanks to Hans Breuer.
11310         Use correct function name in warning messages.
11311
11312         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
11313         GSourceFuncs gdk_event_prepare and gdk_event_check.
11314         (gdk_event_get_graphics_expose): Do implement, use
11315         PeekMessage. Thanks to Hans Breuer.
11316         (event_mask_string): Debugging function to print an GdkEventMask.
11317         (gdk_pointer_grab): Use it.
11318
11319         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
11320         (old) book I used claimed was Hangul actually is CJK Unified
11321         Ideographs Extension A. Also, Hangul Syllables were missing.
11322         Improve logging.
11323
11324         * gdk/win32/gdkgc-win32.c: Largish changes.
11325
11326         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
11327         g_win32_getlocale() from GLib, and not setlocale() to get current
11328         locale name.
11329
11330         * gdk/win32/gdkprivate-win32.h
11331         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
11332         gdkwin32.h, similarily as in the X11 backend.
11333
11334         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
11335         assignment was used instead of equals in if test. Thanks to Hans
11336         Breuer.
11337
11338         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
11339         the X11 version.
11340
11341         * gdk/win32/makefile.{cygwin,msc}
11342         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
11343         path to the Win32 headers that works also with the mingw compiler.
11344
11345         * gtk/gtkstyle.c: Include <string.h>.
11346
11347 2000-04-26  Havoc Pennington  <hp@redhat.com>
11348
11349         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
11350         replacing the broken gtk_label_get ()
11351
11352 2000-04-15  Havoc Pennington  <hp@pobox.com>
11353
11354         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
11355         this keeps scanner scripts from getting confused.
11356
11357         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
11358         data, rather than void
11359
11360 2000-04-15  Tor Lillqvist  <tml@iki.fi>
11361
11362         * gtk/gtkclist.c (gtk_clist_motion)
11363         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
11364         with is_hint FALSE, get x and y from the event. They used to be
11365         used uninitialised. The Win32 backend never sends motion events
11366         marked as hints. This for instance fixes the annoying file and
11367         font selector behaviour in the Win32 version.
11368
11369 2000-04-14  Tor Lillqvist  <tml@iki.fi>
11370
11371         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
11372         gtk_private_n_signals variables, they are used by some software,
11373         sigh.
11374
11375         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
11376         installation directory from the Registry, where the installer
11377         should have put it.
11378
11379 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
11380
11381         * gdk/x11/Makefile.am: Fix problem with installation directory for
11382         gdkx.h
11383
11384         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
11385         <mrcooger@cyberverse.com> so that when selecting menus with the
11386         mouse, the first item will not be selected, but when selecting
11387         with an accelerator, or navigating left-right on a menubar with
11388         the menus popped up, the first item will be selected.
11389
11390 2000-04-05  Dan Damian  <dand@dnttm.ro>
11391
11392         * configure.in: Added "ro" to ALL_LINGUAS.
11393
11394 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
11395
11396         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
11397         indentation.
11398
11399         * Makefile.am (EXTRA_DIST): Fix typo.
11400
11401         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
11402         to catch gdkconfig.h
11403
11404         * gtk/gtkitemfactory.c: Added FIXME.
11405
11406 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
11407
11408         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
11409         s/return_if_fail/return_val_if_fail/g and add a return value.
11410
11411 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
11412
11413         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
11414         merge slipup.
11415
11416         * gdk/gdkinput.h: Fix missing line from merge.
11417
11418 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
11419
11420         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
11421         instead of gdkprivate.h.
11422
11423 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
11424
11425         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
11426         parent class to correctly be GtkDialogClass.
11427
11428 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
11429
11430         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
11431         toplevel windows and their immediate children by their parents,
11432         since the size of toplevel windows is out of our immediate
11433         control and we don't get any real benefit from trying to track
11434         this size for clipping.
11435
11436         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
11437         for input_only windows.
11438
11439         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
11440         to fix some hacks and make sure that we don't try to set the
11441         background of input only windows.
11442
11443 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
11444
11445         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
11446         the _really_ internal stuff, and leave gdkprivate.h for the fake private
11447         stuff that we've traditionally exposed.
11448
11449         * gdk/**.c: Use gdkinternals.h where appropriate.
11450
11451         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
11452         not include gdkprivate-x11.h, move all stuff of conceivable public
11453         interest into gdkx.h; keep all really private stuff in
11454         uninstalled header gdkprivate-x11.h.
11455
11456         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
11457         image->image_put on windows through a new function _gdk_window_draw_image()
11458         to allow us to do backing store for images. (Sort of ugly)
11459
11460         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
11461         contexts locally so that we can offset them properly when drawing 
11462         onto backing pixmaps.
11463
11464         * gdk/gdkinput.h: Reindented
11465
11466         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
11467         pixmap or color for the window, so we can properly initialize
11468         our double-buffer pixmaps, and also so that we temporarily set
11469         a background of None while scrolling.
11470
11471         * gdk/gdkregion.h: Revise region boolean operators to have an
11472         interface that is actually convenient - switch from creating new
11473         regions on every op, to "methods" that modify existing regions
11474         (A = A OP B). 3 argument forms which allow dest == src, would also
11475         be possible, but the current interfaces seem to map nicely
11476         onto what needs to be done. (There is quite a lot of region
11477         code in GDK now.)
11478
11479         * gdk/gdkregion.h: Add constructor from rectangle and a copy
11480         operator.
11481
11482         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
11483         gdkpoly-generic.h: Copy region code from Xlib, switch it over
11484         to 32 bit coordinates, modify it to be mostly GTK+ style
11485         and to have interfaces that match gdkregion.h.
11486
11487         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
11488         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
11489         create a backing pixmap and redirect all drawing to
11490         that backing pixmap until a matching gdk_window_end_paint().
11491
11492         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
11493         Create a special drawable class for GtkWindow's that 
11494         redirects the drawing to the backing pixmap as necessary
11495         and then calls the real operations in _gdk_windowing_window_class.
11496
11497         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
11498         Store invalid region for each window. Generate expose events for invalid
11499         region in an idle. This replaces both the expose compression
11500         and the redrawing queuing in GTK+. It is both more efficient and
11501         simpler than either one individually and far more so then the
11502         combination.
11503
11504         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
11505         Emulate 32 bit coordinates for windows with 16 bit coordinates
11506         by offsetting drawing, guffaw scrolling techniques and
11507         mapping/unmapping child windows as necessary.
11508
11509         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
11510         where, when invalid regions are processed, the region is stored,
11511         and if expose events come in that are detectably duplicate
11512         the processed exposes (by comparison of event serial numbers),
11513         the stored region is subtracted out of those exposes.
11514
11515         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
11516         regions newly exposed when scrolling or resizing windows.
11517         This, combined with forcing processesing of queued invalidated
11518         regions, gives nice flicker-free scrolling.
11519
11520         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
11521         invalidated regions after every scroll.
11522
11523         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
11524         emulation in GDK. Its, for all practical purposes just a
11525         GtkViewport/GtkFixed hybrid now.
11526
11527         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
11528         (16-bit) structures as necessary instead of just casting.
11529
11530         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
11531         in terms of the structures from gdkregion-generic.c, using appropriate
11532         offsets from GDK to X11 coordinates. Cache clip mask and
11533         origin and ts origin locally and only flush to the server
11534         when drawing, to avoid constantly setting and resetting these
11535         values when offsetting GC's for scrolling and backing pixmaps.
11536
11537         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
11538
11539         * gtk/gtkcontainer.c: Call process_all_updates at end
11540         of resizing to reduce flicker. (Avoids having redraw
11541         lag arbitrarily behind resize under some circumstances)
11542
11543         * gtk/gtkentry.c: Remove old backing store code, and simply take
11544         advantage of the new backing store capabilities of GDK.
11545
11546         * gtk/gtkmain.c: Simple implementation of widget backing
11547         store - simply push a paint while handling each expose.
11548         (Should really be configurable widget for widget.)
11549         
11550         * gtk/gtkwidget.c: Remove all the old complicated redraw
11551         code, and simply invalidate the GDK windows from
11552         gdk_window_queue_clear(), etc. (Sigh, so much carefully
11553         debugged complexity ... gone to the winds.)
11554
11555         Remove all the code for suppressing expose events while
11556         resizes are pending; this isn't needed since the invalid
11557         areas won't be processed until after the resizes are
11558         processed, since they are in a lower priority idle.
11559
11560 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
11561
11562         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
11563         and height of dest rectangle for non-intersecting rectangles.
11564
11565 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
11566
11567         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
11568         for GdkRectangle.
11569
11570 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
11571
11572         * gdk/gdk{events,image,private,types,window}.h
11573          gdk/x11/gdkinputprivate.h: Change all coordinates
11574          from int16 to int. Also, Change width and height from
11575          unsigned to signed to avoid all the stupid C 
11576          signedness bugs.
11577
11578 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
11579
11580         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
11581         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
11582         Add some more detailed checking.
11583
11584         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
11585         New function to retrieve the depth of a drawable.
11586
11587         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
11588         field, reorder fields to save memory. 
11589
11590 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
11591
11592         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
11593         of the background image instead of scaling the background down to
11594         a line.
11595
11596         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
11597         which temporarily set slider to wrong size.
11598
11599         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
11600         queue_clear().
11601
11602 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
11603
11604 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
11605
11606         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
11607
11608 2000-03-17  Tor Lillqvist  <tml@iki.fi>
11609
11610         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
11611         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
11612
11613         * gdk/win32/gdkfont-win32.c
11614         * gdk/win32/gdkproperty-win32.c
11615         * gdk/win32/gdkselection-win32.c
11616         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
11617         now declared such.
11618
11619 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
11620
11621         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
11622
11623 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
11624
11625         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
11626         is called without trapping X errors.
11627
11628 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
11629
11630         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
11631         way into the fontset lists.
11632
11633 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
11634
11635         * gtk/gtkthemes.h: add extern "C" scope.
11636
11637 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
11638
11639         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
11640         to make appends to the list constant. (gtk-guy-990901-0.patch)
11641
11642 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
11643
11644         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
11645         for the typename hash table.
11646
11647 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
11648
11649         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
11650         to make sure we never divide by zero. 
11651         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
11652
11653 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
11654
11655         * gtk/gtkfontsel.c: Apply patch from
11656         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
11657         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
11658
11659         Also, some cleanups in atom handling.
11660
11661 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
11662
11663         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
11664         not GtkWidget.
11665
11666 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
11667
11668         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
11669         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
11670         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
11671         more guint wrap-around bugs before going to bed.
11672
11673 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
11674
11675         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
11676         guint wrap arounds in allocation.width.
11677
11678         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
11679         process untill we fit the allocation given.
11680
11681 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
11682
11683         * gtk/gtkwidget.c:
11684         (gtk_widget_unrealize): guard widget access with ref/unref
11685         around signal emission.
11686         (gtk_widget_hide): same here, but also check its destroyed
11687         state before queueing a resize.
11688
11689 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
11690
11691         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
11692         of gtk_default_insensitive_bg as insensitive base color.
11693
11694         * gtk/gtktext.c (gtk_text_style_set): set the background color according
11695         to the widget's state.
11696         (gtk_text_realize): same here.
11697         (gtk_text_state_changed): same here.
11698         (draw_bg_rect): compare background color against base[] from
11699         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
11700
11701 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
11702
11703         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
11704         grabs are active, unless a delete event is send to the toplevel
11705         of the currently grab holding widget.
11706
11707 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
11708
11709         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
11710         debugging g_print's.
11711
11712 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
11713
11714         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
11715         ever make the scrolled-window requisition ever depend on the 
11716         visibility state of the scrollbars for the AUTOMATIC policy. 
11717         This breaks the GTK+ requisition model, and causes loops.
11718
11719 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
11720
11721         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
11722         the default font to avoid problems with XFree86-4.0 where the
11723         default charset is iso10646-1, not iso8859-1.
11724
11725 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
11726
11727         * acinclude.m4
11728         * config.guess
11729         * config.sub
11730         * ltconfig
11731         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
11732
11733         * gtk/Makefile.am: minor cosmetic consistency tweak
11734
11735 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
11736
11737         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
11738         the activate_time to 0, so that we handle a quick
11739         press/release press/release properly and don't suppress
11740         the second release. (Red Hat bug #7545)
11741
11742 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
11743
11744         * gtk/gtkctree.c (row_delete):
11745         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
11746         bugs with destruction notifier, *always* update internal
11747         structures *before* calling user code.
11748
11749 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
11750
11751         A few more fixes for bug #5487, #2051, #2677.
11752         * gtk/gtkclist.c : 
11753         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
11754         not GDK_BUTTON_PRESS.
11755         (resync_selection): resync only if selection_mode is
11756         GTK_SELECTION_EXTENDED
11757         * gtk/gtkctree.c (resync_selection): same here
11758
11759 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
11760
11761         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
11762         gdk_drag_get_selection() and gtk_menu_detach().
11763
11764         [ From Jeroen Ruigrok/Asmodai ]
11765
11766 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
11767
11768         * gtk/gtknotebook.c (gtk_notebook_size_request): 
11769         page->tab_label can be NULL.
11770
11771 2000-01-25  Havoc Pennington  <hp@pobox.com>
11772         
11773         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
11774         arg is boolean
11775
11776         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
11777
11778         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
11779
11780         * gdk/gdkproperty.c (gdk_property_get): return boolean
11781
11782         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
11783
11784         * gdk/gdkim.c (gdk_im_ready): return boolean
11785
11786         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
11787
11788         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
11789         glib clash, should fix glib)
11790
11791         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
11792         (gdk_get_show_events): return gboolean, and canonicalize 
11793         to TRUE/FALSE
11794
11795         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
11796         colormap is private
11797         (gdk_colors_alloc): gboolean whether to be contiguous
11798         (gdk_color_equal): return gboolean since we are a predicate
11799         and not a qsort() (this looks semi-wrong due to glib breakage,
11800         IMO glib should be fixed)
11801         
11802         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
11803         (gdk_get_use_xshm): return gboolean
11804         (gdk_pointer_is_grabbed): return gboolean
11805
11806         * gdk/gdk.h: Change prototypes to match all the above changes,
11807         and re-run egtk-format-protos as required.
11808
11809 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
11810
11811         * gtk/gtkctree.c (resync_selection): 
11812         * gtk/gtkclist.c (resync_selection):
11813
11814         Return immediately if clist->drag_pos < 0. This is a workaround
11815         for the corrupt state that the clist gets into when a
11816         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
11817
11818         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
11819         
11820         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
11821         variable from recent commit.
11822
11823 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
11824
11825         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
11826
11827 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
11828
11829         * gtk/Makefile.am: prefix all autogenerated source that get build in
11830         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
11831         in builddir. since we subsequently cd into srcdir for autogeneration,
11832         the paths have to be stripped from the target file names, thusly we
11833         use $(@F) as target names now.
11834         put a comment about configure.in's --disable-rebuilds option,
11835         which can be used for non-writable source directories, for development
11836         setups though, srcdir has to be *writable*.
11837
11838 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
11839
11840         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
11841           Finish the job of allowing event to be NULL.
11842           (Fixes bug #4283, reported by Chris Blizzard)
11843
11844         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
11845           things so that the cursor appears on screen, properly
11846           take into account INNER_BORDER.
11847           (Fixes bug #4754, reported by Antonio Campos)
11848
11849 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
11850
11851         * gtk/gtknotebook.c (gtk_notebook_map): Don't
11852           show the tab_label unless it itself is visible.
11853
11854           gtk/gtknotebook.c (gtk_notebook_size_request):
11855           Do a better job of making sure that the visibility
11856           of the tab label corresponds to whether it should
11857           be mapped or not.
11858
11859 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
11860
11861         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
11862           Use the requisition, not the allocation, since the
11863           allocation has not necessarily been computed yet.
11864           (Pointed out by Eugene Osintsev)
11865
11866 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
11867
11868         * gtk/gtkstyle.c (gtk_style_new): Dont' set
11869           style/base[GTK_STATE_INSENSITIVE] both to
11870           gtk_default_insensitive_bg!
11871           (Bug #2187, reported by Jonathan Blandford)
11872
11873         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
11874           Add Alt_L, Alt_R to list of invalid accelerators.
11875           (Bug #3736, reported by Vlad Harchev)
11876
11877 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
11878
11879         * gtk/gtkfilesel.c (open_ref_dir): Fix several
11880         bugs which occured after an attempt to open 
11881         invalid home directory left cmpl_state->reference_dir == NULL.
11882
11883          - completion on files in home directory didn't work
11884          - completion on an empty string caused  segfault
11885
11886          (Bug #3678, reported by Steve Ratcliffe)
11887
11888         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
11889         cut and paste error that was causing scales to
11890         be incorrectly positioned.
11891         (Bug #2956,
11892          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
11893
11894 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
11895
11896         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
11897         when checking for dcgettext, if we've found we needed
11898         it for dgettext.
11899 +
11900 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
11901
11902         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
11903         queue_clear on NO_WINDOW widgets during a reparent,
11904         since at that point the window and widget heirarchies
11905         are out of sync. This stops crashing in some cases
11906         (the scrolled window reparent test, for instance), and
11907         _probably_ won't cause drawing errors.
11908
11909         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
11910         test do what it was supposed to do and be robust against
11911         window closings, etc. (Bug #2443)
11912
11913 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
11914
11915         * gtk/gtkentry.c: Fix return values on mouse events.
11916         (Bug #2686, Sky <seb_sky@yahoo.com>)
11917
11918         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
11919         (pointed out by George Lebl)
11920
11921         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
11922         (From Ettore Perazzoli  <ettore@helixcode.com>)
11923  
11924 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
11925
11926         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
11927         clicks between rows or outside calender area correctly.
11928         (Patch from Damon Chaplin)
11929
11930         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
11931         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
11932           Call destroy function when overwriting existing data. 
11933           (Pointed out by Damon Chaplin)
11934
11935 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
11936
11937         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
11938           which was causing problems on various systems with Xmu.
11939           This hasn't been needed for a very long time.
11940           (Fixes #1185 3167)
11941
11942 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
11943
11944         * gdk/gdki18n.h: Include <ctype.h> when defining
11945           gdk_isw* in terms of is* as a fallback.
11946           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
11947
11948 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
11949
11950         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
11951           realize the widget when it is size allocated!
11952           (old, old bug)
11953
11954         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
11955           Removed unused call to gdk_window_get_size() that
11956           showed up when the above was fixed.
11957
11958 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
11959
11960         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
11961           fix up widget->window when the widget is a
11962           NO_WINDOW container widget.
11963
11964 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
11965
11966         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
11967           to account for the fact that feof() does _not_ 
11968           return TRUE on errors, and thus avoid infinite loops
11969           when trying to use gdk_pixmap_create_from_xpm()
11970           on unreadable values.
11971
11972 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
11973
11974         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
11975
11976 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
11977
11978         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
11979           gdk_gc_set_dashes to take gint8 instead of gchar to
11980           make it clearer that it is _not_ a NULL terminated string.
11981
11982         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
11983           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
11984           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
11985           arguments.
11986
11987 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
11988
11989         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
11990         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
11991         background size relative to our allocation, guard against small
11992         allocations, we may have not yet been size allocated.
11993
11994 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
11995
11996         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
11997         not just version == 3. We implement all 3 + most of 4 - 
11998         (we don't support matching text/plain;charset=iso-8859-1
11999         to a dest that expects text/plain). We'll still advertise
12000         3 to be safe, but any client implementing version >= 3
12001         must interoperate with 3.
12002         
12003 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
12004
12005         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
12006         background and gc members, add a warning in gtk_tooltips_set_color()
12007         indicating that this function is deprecated.
12008
12009 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
12010
12011         * docs/gtkfaq.sgml: FAQ Update:
12012           - Minor cleanups (Emmanuel, me)
12013           - New questions:
12014                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
12015                 How can I retrieve the text from a GtkMenuItem? (timj)
12016                 How do I validate/limit/filter the input to a GtkEntry? (me)
12017                 Memory does not seem to be released when I free the list
12018                         nodes I've allocated (timj)
12019
12020 2000-03-07  Tor Lillqvist  <tml@iki.fi>
12021
12022         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
12023         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
12024         for which it is no use to call GetLastError onWin9x.
12025         (gdk_other_api_failed) New function, for general error
12026         reporting without calling GetLastError.
12027         (gdk_win32_api_failed) OTOH, this function always calls
12028         GetLastError. (gdk_win32_last_error_string) Remove this function,
12029         GLib has the equivalent now.
12030
12031         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
12032         call them with function name, file name and line number in the
12033         arguments.
12034
12035         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
12036         functions.
12037         
12038         * gtk/gtk.def: Add some missing entry points.
12039
12040         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
12041         gtk_paned_set_gutter_size, which don't exist any longer, as void.
12042         
12043         Fixes by Hans Breuer:
12044
12045         * gdk/makefile.msc: Update for debugging.
12046
12047         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
12048         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
12049         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
12050         in the dash_list.
12051
12052         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
12053         the x11 backend.
12054
12055         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
12056
12057         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
12058
12059 2000-03-04  Tor Lillqvist  <tml@iki.fi>
12060
12061         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
12062         just pixel value of background colour.
12063
12064         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
12065         containing code snippet previously duplicated in a couple of
12066         places.
12067         
12068         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
12069         gdk_colormap_color.
12070
12071         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
12072         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
12073         events for autorepeated Shift, Control and Alt keys. Use
12074         gdk_colormap_color.
12075
12076         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
12077         pointer is inside the window the cursor of which we are setting,
12078         call SetCursor immediately.
12079
12080         * gdk/win32/makefile.cygwin
12081         * gtk/makefile.cygwin: If we don't have the build number stamp
12082         file, use zero.
12083
12084         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
12085         gtk_paned_set_gutter_size as empty.
12086
12087         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
12088         
12089 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
12090
12091         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
12092           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
12093           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
12094           docs/gtk_tut.sgml docs/gtk.texi TODO:
12095
12096           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
12097
12098 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
12099
12100         * gtk/gtkcalendar.c: Implement num_marked_dates,
12101           and don't emit mutiple day_selected signals on
12102           month_prev.
12103
12104 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
12105
12106         * docs/make-todo (lineno): let title and logo be configurable so
12107         that GNOME can use this script too.
12108
12109         * TODO.xml: added logourl and a title
12110
12111 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
12112
12113         * TODO.xml: Added some UI items, and an explanatory
12114         comment at the top of the file.
12115
12116 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
12117
12118         * TODO.xml: some updates, added abunch of new entries.
12119         a note for those fiddeling with this file, when done
12120         with it, invoke:
12121         $ ./docs/make-todo TODO.xml >/dev/null
12122         and correct output errors before comitting changes.
12123
12124 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
12125
12126         * TODO.xml: Added XML-structured TODO file.
12127         * docs/make-todo: python script to turn TODO.xml into
12128           pretty XML output. 
12129
12130 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
12131
12132         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
12133         the function to let it draw the seven dots, instead of the old,
12134         much maligned, method.
12135         (draw_dot): New function to draw a dot.
12136
12137         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
12138         to draw the handle inside the border width as opposed to outside.
12139         Use paint function instead of gdk_draw_point.
12140
12141         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
12142         to draw the handle inside the border width as opposed to outside.
12143         Use paint function instead of gdk_draw_point.
12144
12145         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
12146         Change indenting to be more GTK like.
12147
12148 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
12149
12150         * docs/gtk_tut.sgml: New section on GtkCalendar
12151         * examples/calendar: Update example code
12152
12153 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
12154
12155         * docs/gtkfaq.sgml: FAQ Update
12156
12157 2000-02-19  Anders Carlsson  <andersca@gnu.org>
12158
12159         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
12160         to prevent the scroll event to be propagated upwards.
12161
12162 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
12163
12164         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
12165         OwnerGrabButtonMask from button entries for
12166         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
12167
12168         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
12169         to the event mask (which will result in button/press release
12170         being added to the event mask on Unix) so scrolling works
12171         for layouts in scroll windows.
12172
12173         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
12174
12175         Patch from Anders Carlsson  <andersca@gnu.org> to add
12176         a scroll event.
12177
12178         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
12179         scrolling to the "Test Scrolling" part of testgtk.
12180  
12181         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
12182  
12183         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
12184         it against GDK_SCROLL.
12185  
12186         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
12187         way of mouse wheel scrolling.
12188  
12189         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
12190  
12191         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
12192  
12193         * gtk/gtkmain.c: Removed previous mouse wheel hack.
12194  
12195         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
12196         gdk_event_mask_table.
12197  
12198         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
12199         GdkEventScroll handler.
12200  
12201         * gdk/gdkevents.h: Added GdkEventScroll structure.
12202  
12203 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
12204
12205         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
12206         and Anders Carlsson to change the Paned widgets so that they
12207         can be dragged from anywhere along the length. Also change
12208         the way that this is drawn to make this apparent.
12209
12210         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
12211         from George Lebl to check that option_menu->menu is present
12212         before getting history.
12213
12214 2000-02-14  Tor Lillqvist  <tml@iki.fi>
12215
12216         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
12217         before the assertion for non-NULL segment list.
12218
12219         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
12220         Seems that pattern brushes *must* be 8x8 pixels! At least on my
12221         machine, but it might be display driver dependent. Sigh, so make
12222         sure the stipple is that size. Does Windows suck or what?
12223
12224         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
12225         places.
12226
12227 2000-02-13  Havoc Pennington  <hp@pobox.com>
12228
12229         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
12230         refcount to 1
12231         (gdk_cursor_new): init refcount to 1
12232
12233         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
12234
12235 2000-02-13  Tor Lillqvist  <tml@iki.fi>
12236
12237         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
12238         so that we don't have to do unnecessary settings to the HDC.
12239
12240         * gdk/win32/gdkdrawable-win32.c
12241         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
12242         gdk_gc_predraw.
12243
12244         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
12245         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
12246         GDI paths, call WidenPath to get the outline of the stroken path,
12247         and then fill the outline (with the brush that was built from the
12248         stipple).
12249
12250         * gdk/win32/gdkgc-win32.c: Factor out common code from
12251         _gdk_win32_gc_new and gdk_win32_gc_set_values into
12252         gdk_win32_gc_values_to_win32values. Use correct colour for
12253         SetBkColor() (Until now the code actually used a random colour in
12254         the call to SetBkColor()... but that didn't show up as not many
12255         GDI APIs use the background colour. Pattern (opaque stippled)
12256         brushes do.)
12257
12258         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
12259         gdk_win32_api_failed): New functions for error logging.
12260
12261         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
12262         WIN32_API_FAILED to call them, passing function or file name and
12263         line number.
12264
12265         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
12266
12267         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
12268         GdkColor for foreground and background in GdkGCWin32Data.
12269
12270         * gdk/makefile.cygwin: Link in the resource object separately.
12271
12272         * gdk/win32/rc/gdk.rc
12273         * gtk/gtk.rc (New file)
12274         * gdk/win32/makefile.cygwin
12275         * gtk/makefile.cygwin: Update build number in DLLs automatically,
12276         as in GLib.
12277
12278 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
12279
12280         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
12281         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
12282         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
12283         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
12284         parameters given and cursor->ref_count. coding style fixups.
12285
12286         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
12287         not GtkWidget.
12288         
12289         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
12290         fix up widget macros and add _GET_CLASS() variant.
12291         
12292         * gtk/*.c: some GtkType fixups.
12293
12294 2000-02-09  Tor Lillqvist  <tml@iki.fi>
12295
12296         * gdk/win32/gdkproperty-win32.c
12297         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
12298         were reversed.
12299
12300 2000-02-04  Tor Lillqvist  <tml@iki.fi>
12301
12302         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
12303         g_filename_to_utf8 to convert the font names Windows gives us from
12304         whatever is the default codepage to UTF-8.
12305         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
12306         in the other direction.
12307
12308         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
12309         error in debugging output.
12310
12311 2000-02-02  Tor Lillqvist  <tml@iki.fi>
12312
12313         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
12314         and height parameters to gdk_window_clear_area(). Not minus one.
12315
12316 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
12317
12318         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
12319         checks if the widget passed to gtk_drag_get_data() was not the
12320         dest widget.
12321
12322 2000-02-01  Tor Lillqvist  <tml@iki.fi>
12323
12324         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
12325         g_filename_from_utf8 functions (which were added a moment ago to
12326         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
12327         size buffers.
12328
12329         gtk_file_selection_get_filename returns the filename in the C
12330         runtime encoding. It calls g_filename_from_utf8, but copies the
12331         returned string to a static buffer, which is returned. I think
12332         this is better than returning the result from g_filename_from_utf8
12333         directly, which would mean all apps that use it would have to free
12334         the return value. Or should this function care about this issue at
12335         all? Maybe a new function with clearly defined semantics.
12336
12337         * gtk/gtkfilesel.h: Add comment about
12338         gtk_file_selection_get_filename returning the filename in the C
12339         runtime's encoding.
12340
12341         * README.win32
12342         * gdk/gdk.def
12343         * gdk/makefile.{cygwin,msc}
12344         * gtk/gtk.def: Updates.
12345
12346         * gdk/gdkcursor-win32.c: Initialise refcount.
12347
12348 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
12349
12350         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
12351
12352 2000-01-30  Havoc Pennington  <hp@pobox.com>
12353
12354         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
12355         destroy
12356
12357         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
12358
12359         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
12360         implemented in platform-specific code
12361
12362         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
12363
12364         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
12365         underscore in front
12366
12367         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
12368         put an underscore in front
12369
12370         * gdk/gdkcursor.c: new file, implements
12371         gdk_cursor_ref/gdk_cursor_unref
12372
12373         * gdk/gdkcursor.h: Refcount GdkCursor
12374
12375         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
12376
12377 2000-01-29  Tor Lillqvist  <tml@iki.fi>
12378
12379         * gdk/gdkwindow.h
12380         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
12381
12382 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
12383
12384         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
12385         structures to properly inherit from GtkWidget not GtkBin.
12386
12387 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
12388
12389         * gtk+.spec.in: Added lib/gtk+/include/* to %files
12390         (bug #5178 - Peter Wainright)
12391         
12392         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
12393         so that it will be installed.
12394         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
12395
12396 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
12397
12398         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
12399         for the GtkStyleClass vtable const.
12400
12401         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
12402         take a const string argument like GtkTranslateFunc. This will
12403         require changes in use code.
12404
12405 2000-01-19  Tor Lillqvist  <tml@iki.fi>
12406
12407         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
12408         semantics (to mimic the X11 backend, which just calls XClearArea)
12409         is to check for zero width (and height), and in that case use the
12410         window's width minus x (height minus y). This fixes for instance
12411         some redraw problems with gtkclist, which were easily noticeable
12412         in the gtk file selection widget.
12413
12414         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
12415         windows.
12416
12417 2000-01-13  Tor Lillqvist  <tml@iki.fi>
12418
12419         * configure.in
12420         * gdk/Makefile.am
12421         * gdk/x11/Makefile.am
12422         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
12423         (bug #5177).
12424         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
12425         out later.
12426
12427 2000-01-09  Tor Lillqvist  <tml@iki.fi>
12428
12429         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
12430         WM_MOVE for iconified or invisible windows. This fixes various
12431         problems when minimising windows. Thanks to Bernd Herd.
12432
12433 2000-01-05  Tor Lillqvist  <tml@iki.fi>
12434
12435         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
12436         backend's draw_lines method, not draw_points.
12437
12438 2000-01-02  Tor Lillqvist  <tml@iki.fi>
12439
12440         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
12441         before Owen's reorganisation: Don't have queued_events and
12442         queued_tail statics in this file, but use gdk_queued_events and
12443         gdk_queued_tail. This makes exposure event compression work again.
12444
12445         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
12446         seem to be needed?
12447
12448 1999-12-30  Tor Lillqvist  <tml@iki.fi>
12449
12450         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
12451         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
12452         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
12453         doesn't do anything.
12454
12455         * gdk/gdk.def: Add gdk_xid_table_insert.
12456
12457         * gdk/win32/gdkprivate-win32.h
12458         * gdk/win32/gdkevents-win32.c
12459         * gdk/win32/gdkinput-win32.c
12460         
12461         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
12462         extension_events field in the GdkWindowWin32Data struct. Use only
12463         the extension_events field in GdkWindowPrivate. Previously one was
12464         set, and the other one tested, which broke tablet
12465         functionality. Thanks to Keishi Suenaga for pointing this out.
12466
12467 1999-12-18  Tor Lillqvist  <tml@iki.fi>
12468
12469         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
12470         When handling a single character (text length == 1), don't handle
12471         it as if it was UTF-8.
12472
12473 1999-12-11  Tor Lillqvist  <tml@iki.fi>
12474
12475         * Makefile.am: Distribute README.win32.
12476         
12477         * gdk/Makefile.am
12478         * gdk/win32/Makefile.am: Distribute Win32 files.
12479
12480         * gdk/makefile.msc: New file.
12481
12482         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
12483         after label).
12484
12485         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
12486         gdk_error_code as GDKVAR, as they are referred outside GDK.
12487
12488         * gdk/win32/makefile.msc: Update.
12489
12490         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
12491         tweaks. Check only if at least one of those Unicode subrange bits
12492         we care for is set. If no code page bits are set, guess (wildly)
12493         based on the charset.
12494
12495         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
12496
12497         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
12498         non-NULL.
12499
12500         * gtk/gtkdnd.c
12501         * gtk/gtklayout.c
12502         * gtk/gtkplug.c
12503         * gtk/gtkselection.c
12504         * gtk/gtksocket.c
12505         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
12506         appropriate. There must be a cleaner way to handle this?
12507
12508         * gtk/gtkrc.c: Must include windows.h on Win32.
12509
12510         * gtk/testgtk.c: No need to include gdkx.h.
12511
12512         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
12513
12514 1999-12-07  Tor Lillqvist  <tml@iki.fi>
12515
12516         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
12517         the rbearing is set to the same as the width, but this should be
12518         fixed.
12519
12520 1999-12-06  Tor Lillqvist  <tml@iki.fi>
12521
12522         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
12523         function. If Windows doesn't tell us what Unicode subranges a font
12524         covers, guesstimate based on the codepages it covers. This will
12525         hopefully help those Windows versions or fonts that don't give us
12526         any useful Unicode subrange information with GetTextCharsetInfo.
12527         Call this function in gdk_font_load_internal.
12528
12529         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
12530         minor changes.
12531
12532 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
12533
12534         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
12535         New function, long needed.
12536
12537 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
12538
12539         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
12540         only_if_exists argument of gdk_atom_intern to
12541         bool.
12542
12543 1999-11-25  Tor Lillqvist  <tml@iki.fi>
12544
12545         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
12546         Fix two copy&paste errors.
12547
12548         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
12549         win32 has changed.
12550
12551         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
12552         GdkWin32SingleFont struct.
12553
12554         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
12555         subranges of loaded fonts. Clear font signature first, in case
12556         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
12557         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
12558
12559         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
12560         Unoffset clip region.
12561
12562 1999-11-23  Tor Lillqvist  <tml@iki.fi>
12563
12564         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
12565         event->any.window before calling filter functions.
12566
12567 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
12568
12569         * gtk/gtkgamma.h: Adapt cast macros to standard.
12570
12571 [ Merges from 1.2 ]
12572
12573 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
12574
12575         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
12576         If translation does not include a '/', use entire
12577         translation instead of crashing.
12578
12579 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
12580
12581         * docs/gtk_tut.sgml:
12582         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
12583
12584 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
12585
12586         * gtk/gtkselection.c (gtk_target_list_remove): Use
12587         g_list_remove_link, not g_list_remove.
12588
12589         [ From Geert Bevin <gbevin@thunderstorms.org> ]
12590         
12591 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
12592
12593         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
12594         statement upon unselection (how the heck did that slip in?).
12595
12596 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
12597
12598         * gtk/gtktext.c (gtk_text_freeze): 
12599         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
12600         in frozen state (and aparently crashes). patch provided by Anders
12601         Melchiorsen <and@kampsax.dtu.dk>.
12602
12603 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
12604
12605         * fix insensitive default/focus widget activation,
12606         reported by Matt Goodall <mgg@isotek.co.uk>.
12607
12608         * gtk/gtkwindow.c (gtk_window_key_press_event): 
12609         (gtk_window_activate_default):
12610         (gtk_window_activate_focus):
12611         return handled=FALSE for actiavtion of insensitive default
12612         widgets. return handled=TRUE for activation of insensitive
12613         focus widgets. don't activate in either case.
12614
12615 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
12616
12617         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
12618         and $glib_cflags to match library order and in the
12619         theory that an old version of GLib is more likely to
12620         be in the include directory for X then vice-versa.
12621         (Bug #2776)
12622
12623 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
12624
12625         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
12626         to determine the locale for fontsets, not LC_MESSAGES;
12627         the user may want English messages with a handling
12628         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
12629         will still be broken) (Bug #2891)
12630
12631 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
12632
12633         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
12634
12635 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
12636
12637         * gtk/gtkrc.ko: Changed the Korean default fontset.
12638
12639 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
12640
12641         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
12642         where when scrolling to the left or top double exposes
12643         were done, causing major slowdowns.
12644
12645 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
12646
12647         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
12648         names to lowercase and alphanumeric, before looking
12649         them up.
12650
12651         * gtk/Makefile.am: Install codeset variant gtkrc files
12652         with normalized names.
12653
12654 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
12655
12656         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
12657         popup menus when the menu is already visible, but its parent
12658         is still hidden, (happens after tornoff window got hidden).
12659
12660 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
12661
12662         * gtk/Makefile.am (install-data-local): Fix
12663         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
12664         deleted, causing error messages on install.
12665
12666 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
12667
12668         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
12669         the handle as well, since we now sometimes ignore
12670         exposes on the handle while resizing.
12671
12672 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
12673
12674         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
12675         extra g_free introduced in one of the last one or two 
12676         commits.
12677
12678 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
12679
12680         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
12681         consistent, put each style that a gtkrc.* file creates
12682         in a unique namespace, remove old files before installing.
12683
12684 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
12685
12686         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
12687         gtk_rc_init is called multiple times. (Yes, people who
12688         do that have bugs in their code.)
12689
12690 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
12691
12692         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
12693         Remove it since it's generated by the Makefile anyway
12694
12695 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
12696
12697         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
12698         device->info.axes for core pointer.
12699
12700 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
12701
12702         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
12703         idle_id, to deal with obsolete, broken C libraries.
12704
12705 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
12706
12707         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
12708         allocation->x/y twice!
12709
12710         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
12711         consistent with gtk_vscale_pos_trough().
12712
12713 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
12714
12715         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
12716         be queueing a resize on a toplevel container between
12717         the time we show it and when we map it. So, we need
12718         to test GTK_WIDGET_VISIBLE() for toplevels, and only
12719         use GTK_WIDGET_DRAWABLE() for child windows.
12720
12721 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
12722
12723         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
12724         (fixes bug #2144)
12725
12726 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
12727
12728         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
12729         container DRAWABLE (instead of VISIBLE), so we don't queue
12730         resizes on non-toplevel containers.
12731
12732 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
12733
12734         * gtk/gtkselection.[ch]: Make the data argument
12735         const guchar *.
12736
12737 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
12738
12739         * gtk/gtkwindow.c: Try to behave sensibly if 
12740         the focus widget is the window itself. (Should
12741         we allow this at all?)
12742
12743 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
12744
12745         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
12746         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
12747         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
12748         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
12749         in prototypes and implementations consistent (Tomas Ogren).
12750
12751         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
12752         before the widget is unparented (reported by damon).
12753
12754         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
12755         since we provide unsigned data anyways.
12756
12757 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
12758
12759         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
12760         the call to gtk_tooltips_layout_text() until later.
12761
12762         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
12763         Call gtk_widget_ensure_style() before using the style.
12764
12765 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
12766
12767         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
12768         for old widgets that don't propagate draws to all
12769         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
12770
12771 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
12772
12773         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
12774         for a redraw but just the widget that requested the resize.
12775
12776 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
12777
12778         * gtk/gtkcontainer.c: added new widget level method
12779         gtk_container_set_reallocate_redraws() and a GtkContainer flag
12780         reallocate_redraws : 1 to reflect the setting, exported this through
12781         the argument system as a boolean ::reallocate_redraws.
12782
12783         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
12784         on the widget because the allocation changes, do so as well for
12785         widget->parent if the parent has reallocate_redraws set to TRUE.
12786         with that containers requesting reallocation redraws get automatically
12787         redrawn if their children changed allocation (this unfortunately
12788         affects also other children that didn't change allocation, but we
12789         cannot work around that before 1.3).
12790
12791 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
12792
12793         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
12794         _and_ height are >0 (not _or_).
12795
12796         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
12797         instead of gtk_container_queue_resize(), which is a core gtk internal
12798         function (must have been on crack when i queued that).
12799
12800         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
12801         we can check more reliably if we want to discard expose events.
12802         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
12803         flag.
12804         
12805         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
12806         we simply trust these events. for deciding whether to discard exposes,
12807         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
12808         
12809 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
12810
12811         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
12812         queues of areas that are completely off screen.
12813
12814         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
12815         logic for handleboxes.
12816
12817         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
12818         check on width/height.
12819
12820 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
12821
12822         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
12823         we are fine with using $@ the way we do (if we actually encounter
12824         brokeness with $@ in VPATH builds because of additional path prefixes,
12825         we need to use $(@F) actually).
12826
12827 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
12828
12829         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
12830         short lived bugs, that would allow language bindings to do surgeries
12831         to our guts.
12832
12833 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
12834
12835         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
12836         where comparison was being done against an uninitialized
12837         value causing intermittant results depending on
12838         compiler flags. Also make it clearer that we aren't
12839         ever initializing the child as 0x0 (though this will
12840         be caught in gtk_widget_size_allocate())
12841
12842 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
12843
12844         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
12845         gtk_window_unset_transient_for() call after we do checks
12846         involving the old transient parent.
12847         [ From Lance Capser <lmc@cyberhighway.net> ]
12848
12849 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
12850
12851         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
12852         an empty file.
12853
12854 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
12855
12856         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
12857         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
12858
12859 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
12860
12861         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
12862         `$@' is valid only in the build dir, not after we've done 
12863         `cd $srcdir'.  Also use `test -f' instead of less portable
12864         `test -e'.
12865
12866 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
12867
12868         * gtk/gtktext.c (correct_cache_insert): Rewrite
12869          for simplicity, and hopefully correctness.
12870          (Fixes bug #1322, which was a segfault when
12871           on some insertions with the properties around
12872           the insertion set up just wrong.)
12873
12874         * gtk/gtktext.c (gtk_text_adjustment): When we receive
12875          a "changed" signal, clamp the new value to the adjustment
12876          bounds to avoid segfaulting if someone tries to change
12877          the adjustment to a bogus value. (Bug #1795)
12878
12879 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
12880
12881         * gtk/gtkmain.c: Ignore unexpected destroy notifies
12882         for children, for toplevel windows handle them
12883         like delete_event.
12884
12885         * gtk/gtkplug.c: Add an unrealize handler so that
12886         we unref plug->socket_window when we are done
12887         with it.
12888
12889 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
12890
12891         * gtk/gtktext.c (clear_area): Fix stupid signedness
12892          problem that was causing background to sometimes
12893          be misaligned.
12894
12895 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
12896
12897         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
12898         
12899         * gtk/gtkmenu.c (gtk_menu_position): Make
12900          sure we never position menus with negative x, y,
12901          since gtk_widget_set_uposition() can't handle that.
12902
12903         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
12904          Modify the positioning code a bit so that we always
12905          put the top-left corner onscreen. (This is for
12906          UI reasons, gtk_menu_position() now takes care of
12907          gtk_widet_set_uposition() brokeness.)
12908
12909 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
12910
12911         * gtk/Makefile.am: fixed up things for -jx, x > 1.
12912
12913 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
12914
12915         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
12916           RC style that is passed in. The lack of the ref
12917           before was a bug. If people worked around this
12918           bug, this will introduce a slight memory leak
12919           in their code. The code should typically look like:
12920
12921             rc_style = gtk_rc_style_new ();
12922             [...]
12923             gtk_widget_modify_style (widget, rc_style);
12924             gtk_rc_style_unref (rc_style);
12925
12926         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
12927           the style if it was already set.
12928
12929         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
12930           style if it was set before.
12931
12932 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12933
12934         * gtk/testgtk.c (main): Add a check to see if we
12935           are being run from the correct directory and
12936           to quit nicely if we are not.
12937
12938         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
12939           static.
12940
12941 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
12942
12943         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
12944
12945         * gtk/gtkwindow.c:
12946         queue resizes unconditionally (gtk_widget_queue_resize will figure
12947         what to do if the window is not realized).
12948         (gtk_window_move_resize): only recenter the window
12949         for GTK_WIN_POS_CENTER_ALWAYS.
12950         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
12951         the same way as GTK_WIN_POS_CENTER.
12952
12953 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
12954
12955         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
12956         with (!(info->last_flags & GDK_HINT_POS)) instead of
12957         (!info->last_flags & GDK_HINT_POS).
12958
12959         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
12960         new_height unconditionally, because we use these values even if
12961         !default_size_changed && !hints_changed.
12962         comented the (default_size_changed || hints_changed) case with
12963         respect to resize rejects from the window manager.
12964
12965         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
12966         in the zvt condition hack, since this includes the window hints, set
12967         the hints after the handling_resize case.
12968
12969         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
12970         window is initially shown with to the geometry.
12971
12972 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
12973
12974         * gtk/gtkwindow.c (gtk_window_move_resize):
12975         s/size_changed/default_size_changed/g so i know what's
12976         really going on (frying brain on smaller flame now).
12977
12978 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
12979
12980         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
12981         we have size_changed upon handling_resize. this is a gross
12982         workaround for the broken zvt widget and should be removed in
12983         1.3 again (search for FIXME).
12984         Owen provided an accurate comment for this:
12985
12986         /* We could be here for two reasons
12987          *  1) We coincidentally got a resize while handling
12988          *     another resize.
12989          *  2) Our computation of size_changed was completely
12990          *     screwed up, probably because one of our children
12991          *     is broken. It's probably a zvt widget.
12992          *
12993          * For 1), we could just go ahead and ask for the
12994          * new size right now, but doing that for 2)
12995          * might well be fighting the user (and can even
12996          * trigger a loop). Since we really don't want to
12997          * do that, we requeue a resize in hopes that
12998          * by the time it gets handled, the child has seen
12999          * the light and is willing to go along with the
13000          * new size. (this happens for the zvt widget, since
13001          * the size_allocate() above will have stored the
13002          * requisition corresponding to the new size in the
13003          * zvt widget)
13004          *
13005          * This doesn't buy us anything for 1), but it shouldn't
13006          * hurt us too badly, since it is what would have
13007          * happened if we had gotten the configure event before
13008          * the new size had been set.
13009          */
13010
13011 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
13012
13013         * gtk/gtkrc.c: deal properly with the fact that RC
13014           style lists may include rc styles more than once.
13015
13016         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
13017           unused static function.
13018
13019         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
13020           stack of directories of RC files currently being
13021           parsed and implicitely add them to pixmap path.
13022           
13023           This fixes a bug where the directory would get
13024           appended then overwritten by pixmap_path declarations.
13025
13026           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
13027
13028         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
13029           theme's exit function. (Patch from Peter Wainwright,
13030           bug #1454)
13031
13032         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
13033           Add a destroy() handler to take care of removing
13034           group for menu item. (Fixes bug #1197)
13035
13036         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
13037           in warning message.
13038
13039 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
13040
13041         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
13042         roundtrip to figure window's width and height, since we know that
13043         anyways from widget->allocation.
13044
13045 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
13046
13047         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
13048           the hints after we request the new size.
13049
13050 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
13051
13052         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
13053           GTK_WIDGET_REALIZED() assertion - we can compute the
13054           hints before we are realized.
13055
13056         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
13057           hint changing so that we have a value of hints_changed
13058           when we decide whether to constrain the window size.
13059
13060         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
13061
13062         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
13063         change back to G_MAXINT.
13064
13065 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
13066
13067         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
13068         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
13069         contain uncluttered values.
13070         (gtk_window_compute_hints): simply assert that window is realized
13071         and that geometry_info is valid, since we rely on this anyways.
13072         (gtk_window_constrain_size): major cleanups to the code.
13073         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
13074         for the base size, instead of the minimums. use 32767 as max width
13075         and height (like in gtkwindow.c) instead of G_MAXINT.
13076
13077 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
13078
13079         * cleaned up the GtkContainer.need_resize flag handling mess, we
13080         only need to force resize requests when we were prematurely
13081         realized, or our widget tree was modified when we were temporarily
13082         hidden. handling these cases directly upon showing the window (i.e.
13083         while the GdkWindow is still unmapped) avoids the need to wait for
13084         a configure event response and therefore makes the GUI more snappier
13085         and avoids blank windows during the roundtrip.
13086
13087         * gtk/gtkwidget.c:
13088         (gtk_widget_hide): 
13089         (gtk_widget_show): don't queue resizes on toplevels, they know how
13090         to deal with matters.
13091
13092         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
13093         flag directly for not visible resize containers and spare us unecessary
13094         signal emissions.
13095
13096         * gtk/gtkwindow.c:
13097         (gtk_window_realize): if we need to enforce premature size allocation,
13098         queue a container resize so we are correctly resized later on.
13099         (gtk_window_init):
13100         (gtk_window_size_request):
13101         don't freak around with the ->need_resize flag,
13102         gtk_container_queue_resize() will care about that.
13103         (gtk_window_show):
13104         handle initial resizing issues here, we can handle matters better in
13105         this place, especially since we know that our GdkWindow is still
13106         unmapped.
13107         (gtk_window_move_resize):
13108         don't care about ->need_resize at all.
13109         handle size changes properly that occoured while we waited for a
13110         configure event.
13111
13112 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
13113
13114         * gtk/gtkwidget.c (gtk_widget_set_uposition):
13115         * gtk/gtkwindow.[hc] (gtk_window_reposition):
13116         Move the hint setting code from gtk_widget_set_uposition
13117         to here; set the hints so that we respect any previously
13118         set geometry hints.
13119
13120         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
13121         change the window hints here or move the window here,
13122         let that happen in gtk_window_move_resize().
13123
13124 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
13125
13126         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
13127         to already queued resizes (and therefore redraws) on a widget, check
13128         its anchestry as well.
13129
13130         * gtk/gtkcontainer.c:
13131         (gtk_container_queue_resize): clear resize widgets for resize
13132         containers before aborting prematurely. this is especially important
13133         for toplevels which may need imemdiate processing or their resize
13134         handler to be queued.
13135         (gtk_container_dequeue_resize_handler): added new internal function for
13136         gtkwindow.c.
13137
13138         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
13139         configure event, take possible changes in window position into account
13140         as well.
13141         if we request a new window size, queue up a resize handler that will
13142         last until the configure event response arrives.
13143         combined the ->need_resize case (initial show) with the general size
13144         (hints) changed case and added even more comments.
13145         if !auto_shrink, only revert to the old allocation if the new size
13146         is smaller than the current allocation.
13147
13148 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
13149
13150         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
13151                            gtk_window_set_geometry_hints
13152                            gtk_window_set_default_size):
13153         When hints are set, queue a resize so that the hints will
13154         be eventually reset on the toplevel.
13155
13156         * gtk/gtkwindow.c (gtk_window_show): Use
13157         gtk_window_compute_default_size(). Clear the need_resize flag
13158         on the initail map so that we don't unnecessarily trigger the
13159         resize code.
13160
13161         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
13162         into separate functions. Compare the hints we are setting
13163         with what we set last time so that we can accurately
13164         tell when we need to reset the hints.
13165
13166         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
13167         function to figure out the size from requisition
13168         and default_size.
13169
13170         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
13171         from fvwm to constrain a size to the geometry hints.
13172
13173         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
13174         to compare two sets of geometry hints.
13175
13176         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
13177         from gtk_window_set_hints(), just compute the hints,
13178         don't set them.
13179
13180         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
13181         code from gtk_window_move_resize() to separate function,
13182         rationalize a bit.
13183
13184 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
13185
13186         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
13187         structure into a new private structure.
13188
13189         * gtkrc.c: Split GtkRcStyle into public/private.
13190         In the private part, add a list of pointers to the
13191         RcStyle lists this RcStyle participates in.
13192
13193         * gtkrc.c: When a RcStyle is free, remove all
13194         lists referencing it from the 
13195         realized_style_ht hash, and free those lists.
13196         
13197         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
13198         gtk_rc_init(), since that adds the default styles
13199         to the list of parsed RC files again.
13200
13201         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
13202         
13203 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
13204
13205         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
13206         checks that ensure that a widget's allocation is at least 1 in width
13207         and height. (GNOME note: this doesn't affect old panel code anymore,
13208         because GtkSocket will request width and height of at least 1 since
13209         Fri Jul 23).
13210
13211         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
13212         allocated yet (happens if the user realizes the window prematurely),
13213         size request and allocate it.
13214         (gtk_window_size_allocate): guard against guint underflows.
13215
13216 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
13217
13218         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
13219         in gtk_built_sources, so gtk.defs gets built prior to all other
13220         sources.
13221
13222 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
13223
13224         * gtk/Makefile.am:
13225         invoke indent on gtkmarshal.*. 
13226         rewrote source generation rules, use COPYING as oldest source tag for
13227         a piggyback rule to generate all sources from (don't touch it ;).
13228         major cleanups, strip spaces on build rules for GNU Make.
13229
13230         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
13231         source and target files from commandline arguments. don't invoke indent.
13232
13233 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
13234
13235         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
13236         notebook after switch to avoid drawing problems.
13237         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
13238         
13239         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
13240         show them instead. 
13241         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
13242
13243 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
13244
13245         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
13246         notebook after switch to avoid drawing problems.
13247         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
13248         
13249         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
13250         show them instead. 
13251         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
13252
13253 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
13254
13255         * gtk/gtkwindow.c:
13256         we use window->need_resize from configure_event now, to indicate that
13257         the gtkwindow should keep its allocation (e.g. because the user resized
13258         the window through window manager handles). resize_count is now reliably
13259         used to figure whether we got the allocation we requested from the
13260         window manager.
13261         configure events get queued as resizes now, the real stuff (size
13262         computation and allocation) now only goes on in gtk_window_move_resize().
13263         GtkWindow's requisition now contains its *real* requisition (like all
13264         other widgets), *not* taking usize into account.
13265         geometry_info->last_{width|height} is now updated from set_hints() only
13266         so it always contains the last hints we set for the window manager.
13267         made some event handlers return TRUE instead of FALSE.
13268         the overall code should be much more straight forward now, and the
13269         significant code portions are accompanied by comments now.
13270         (gtk_window_set_hints):
13271         removed requisition argument and made it
13272         fetch the requisition through gtk_widget_get_child_requisition.
13273         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
13274         does that now.
13275         (gtk_window_show):
13276         ensure that the widget is realized before calling 
13277         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
13278         ensure that we got properly size requested and allocated before
13279         realization.
13280         (gtk_window_configure_event):
13281         ignore plain window moves, or reallocate the widget tree through the
13282         resize queue otherwise.
13283         (gtk_window_move_resize):
13284         mostly rewrote this function to figure window manager hints more
13285         reliably, coalesce window moves and resizes to reduce configure events
13286         and do actuall size allocations.
13287
13288 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
13289
13290         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
13291         that have a resize pending, because a redraw is already queued for them.
13292
13293         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
13294         hack to clear resize_widgets.
13295
13296         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
13297         for resize containers prior to size allocation. (this is also a bit
13298         ugly, but avoids side effects for stopped emissions and is thus more
13299         reliable).
13300         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
13301
13302         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
13303         function from gtk_tooltips_expose, as we connect to ::expose_event
13304         *and* ::draw now.
13305
13306 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
13307
13308         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
13309         checks.
13310         (gtk_target_list_unref): Likewise.
13311
13312         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
13313
13314 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
13315
13316         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
13317         guard against division by zero. (Fixes bug #1339)
13318
13319 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
13320
13321         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
13322         Prevent the trivial leak of information of allowing
13323         word motion when the entry is not visible.
13324
13325 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
13326
13327         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
13328         modality to error dialog as well as confirmation dialogs.
13329         (Bug #1803, reported by Rosanna Wing Sze Yuen)
13330
13331 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
13332
13333         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
13334         tree->view_lines.
13335         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
13336
13337         * gtk/Makefile.am (install-data-local): Solaris apparently
13338         has various troubles with ln -f; use rm first instead.
13339         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
13340
13341 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
13342
13343         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
13344         use `cp' followed by `rm' (the `rm' was already there).
13345
13346 July 30, 1999 Elliot Lee <sopwith@redhat.com>
13347         
13348         * configure.in: Fix autoconf warnings about cross compilation by
13349         trying to provide sane defaults for AC_TRY_RUN.
13350         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
13351         put them into $(srcdir) when generated. Also add a dependency of
13352         gtksignal.h on gtkmarshal.h for -j builds. 
13353         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
13354
13355 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
13356
13357         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
13358         GDK_THREADS_{LEAVE,ENTER} pair.
13359         (From Paul Fisher <pnfisher@redhat.com>)
13360
13361 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
13362
13363         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
13364         width and height are always >0 (owen).
13365
13366 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
13367
13368         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
13369         change that assured that a widget's allocated with and height are
13370         always >1, since this breaks *buggy* panel code. unfortunately this
13371         back-breaks the gimp's color selector.
13372
13373         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
13374         allocation is always >0 in width and height, before sending the
13375         configure event; this is a *gross* hack to get the gimp back to work.
13376         
13377         * marked both cases with TODO-1.3
13378
13379 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
13380
13381         * gtk/gtktext.c: Don't display wrap indicators when
13382         text is not editable and word wrap is on.
13383
13384 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
13385
13386         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
13387         option menus here as they are not derived from menu shell, assure that
13388         the option menu has a menu we can add items to.
13389
13390 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
13391
13392         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
13393         width/height to (gint) before calculations and check against < 0 to
13394         avoid guint wraparounds.
13395
13396 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
13397
13398         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
13399         width and height is never zero. sanity check both dimensions against
13400         32767 and issue a warning if the allocation is greater than that.
13401
13402 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
13403
13404         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
13405         to g_main_pending() as well.
13406
13407 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
13408
13409         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
13410         call to g_main_iteration() - since that will regrab
13411         GTK+ lock to process events.
13412
13413 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
13414
13415         * gtk/gtkwindow.c
13416         - Regularize with the rest of GTK+ by making widget->requisition
13417           not reflect the set_usize()
13418         - Always recompute geometry hints, then check if they
13419           changed before sending them to the X server. The
13420           previous checks for changes would fail in a number
13421           of circumstances. 
13422
13423 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
13424
13425         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
13426
13427 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
13428
13429         * gtk/gtkdnd.c:
13430         - Code cleanups
13431         - Instantaneously update on modifier key presses
13432         - Allow cancellation of the drag with Escape.
13433
13434 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
13435
13436         * gtk/testgtk.c (create_handle_box): Set the policy
13437         to auto_shrink - otherwise the appearance is rather
13438         strange when flipping between horizontal and vertical.
13439
13440 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
13441
13442         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
13443         (gtk_window_set_default_size): don't change a value if it's < 0.
13444         queue a resize.
13445
13446 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
13447
13448         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
13449
13450 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
13451
13452         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
13453         add an extra "/" when concating "/" + filename.
13454         (From Matt Grossman <mattg@oz.net>)
13455
13456 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
13457
13458         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
13459         for fg_gc if we set it for drawing pixmap.
13460
13461 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
13462
13463         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
13464         
13465         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
13466         already set, call old engine's destroy function and
13467         unref the old engine.
13468
13469 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
13470
13471         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
13472
13473 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
13474
13475         * gtk/gtkaccelgroup.h: mark certain functions as internal.
13476
13477 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
13478
13479         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
13480         expand behaviour changed.
13481
13482         * gtk/gtklabel.c (gtk_label_set_pattern):
13483         (gtk_label_set_justify):
13484         (gtk_label_set_line_wrap):
13485         don't bother invoking queue_clear, the reallocation does
13486         that for us, always free_words so the upcoming resize will
13487         relayout the label's contents.
13488
13489 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
13490
13491         * applied argument implementation patches from Elena Devdariani
13492         <elena@cogent.ca>.
13493
13494         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
13495         ::space_style, ::relief
13496         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
13497         * gtk/gtkpreview.c: ::expand
13498         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
13499         * gtk/gtknotebook.c: ::homogeneous
13500         * gtk/gtklabel.c: ::wrap
13501         * gtk/gtklist.c: ::selection_mode
13502         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
13503         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
13504         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
13505         * gtk/gtkclist.c: ::sort_type
13506         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
13507         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
13508
13509 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
13510
13511         * gtk/gtkstyle.c: Removed ill-thought-out part of last
13512         comment.
13513
13514 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
13515
13516         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
13517         counting right when we have to attach a new style
13518         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
13519
13520         * gtk/gtkstyle.c: Documented the refcounting
13521         peculularities of gtk_style_attach.
13522
13523 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
13524
13525         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
13526         window types.
13527
13528         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
13529         of GTK_TOPLEVEL for creating the window.
13530
13531 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
13532
13533         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
13534         the last argument (reported by Per Winkvist).
13535         
13536 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
13537
13538         Fixes for invisible XOR lines (Frank Loemker
13539         <floemker@TechFak.Uni-Bielefeld.DE>)
13540         
13541         * gtk/gtkclist.c (gtk_clist_realize): Always use
13542         a non-zero pixel for GDK_XOR.
13543
13544         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
13545         Use GDK_INVERT instead of GDK_XOR.
13546
13547 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
13548
13549         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
13550         signals if h/voffsets differ from adjustment values.
13551         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
13552
13553 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
13554
13555         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
13556         ::selection-done emissions up to the topmost menu shell.
13557
13558 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
13559
13560         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
13561         the user data on the window before destroying it.
13562
13563         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
13564         unrealize handler to take care of destroying 
13565         notebook->panel properly. 
13566         (Bug #1198 - Morten Welinder <terra@diku.dk>)
13567
13568         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
13569         of g_new and g_realloc to stop memory leak. (Actually,
13570         we could just use g_realloc(), but I'm not 100% sure
13571         that is portable).
13572         (Bug #1196 - Morten Welinder <terra@diku.dk>)
13573
13574 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
13575
13576         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
13577
13578         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
13579         for fontsets.
13580
13581         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
13582         with bin/button confusion.
13583
13584 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
13585
13586         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
13587         and show how preselection of radio items is done.
13588
13589 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
13590
13591         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
13592         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
13593         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
13594         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
13595         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
13596         * gtk/gtktable.c (gtk_table_attach): 
13597         * gtk/gtklist.c (gtk_list_insert_items): 
13598         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
13599         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
13600         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
13601         * gtk/gtkbin.c (gtk_bin_add): 
13602         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
13603         * gtk/gtkfixed.c (gtk_fixed_put): 
13604         * gtk/gtklayout.c (gtk_layout_put):
13605         general fixups to container_add logic. always realize child if
13606         child->parent is realized, only map the child and queue a resize
13607         if child and child->parent are both visible.
13608
13609 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
13610
13611         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
13612         instead of gtk_container_foreach to walk and unrealize children, so
13613         composite children get also unrealized.
13614         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
13615         (gtk_widget_map): assert that the widget is visible (basic constrain).
13616         (gtk_widget_real_map): assert that the widget is realized (basic
13617         constrain).
13618
13619 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
13620
13621         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
13622
13623 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
13624
13625         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
13626         file for iso-8859-2 locales.
13627
13628         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
13629
13630 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
13631
13632         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
13633          (Pointed out by andy@rz.uni-karlsruhe.de and others).
13634          Remove some suspicious and useless lines. 
13635
13636 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
13637
13638         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
13639         width,height = 0, 0 to mean - here to edge of window,
13640         instead of -1, -1, since the former is all we support.
13641
13642 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
13643
13644         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
13645         when removing from quit_functions list.
13646
13647 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
13648
13649         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
13650
13651 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
13652
13653         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
13654          When redrawing characters on non-visible entry, use appropriate
13655          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
13656
13657 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
13658
13659         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
13660         from drag coordinates.
13661         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
13662         use drag_dest_cell.
13663
13664         * gtk/gtktree (drag_dest_cell)
13665         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
13666         (Bug #1129)
13667
13668 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
13669
13670         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
13671         translate_* fields.
13672         (gtk_item_factory_finalize): invoke translate_notify independant from
13673         translate_data.
13674         (gtk_item_factory_set_translate_func): likewise.
13675         (gtk_item_factory_destroy): only remove ifactory pointer from those
13676         widgets that belong to us (stupid me).
13677
13678 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
13679
13680         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
13681         rc_style list when lookup succeeeds.
13682
13683 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
13684
13685         * gtk/gtkctree.c (resync_selection): 
13686         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
13687         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
13688         bug.
13689
13690 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
13691
13692         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
13693         Add some missing GDK_THREADS_ENTER()/LEAVE around
13694         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
13695
13696 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
13697
13698         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
13699         rather than emit_by_name.
13700
13701         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
13702         on the widget across multiple signal emissions.
13703         (gtk_editable_delete_text): same here.
13704         (gtk_editable_class_init): set widget_class->activate_signal after
13705         editable_signals[ACTIVATE] has been created.
13706
13707 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
13708
13709         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
13710         position here prematurely -- we might not have the
13711         right ->min_position and ->max_position yet.
13712
13713 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
13714
13715         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
13716         Add error traps so if the other end of the connection
13717         dies, we survive.
13718
13719         * gtk/gtkselection.c (gtk_selection_notify): Clean
13720         up properly when selection property retrieval fails.
13721         
13722         * gtk/gtkselection.c (gtk_selection_request): Correctly
13723         reject SelectionRequest notifies where the handler
13724         returns no data.
13725
13726 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13727
13728         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
13729         when we've previously highlighted.
13730
13731         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
13732         emit two "drag_leave" signals for Motif drops.
13733
13734         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
13735         back the correct status messages when dropping from
13736         Motif onto a proxy window that is rejecting the
13737         drop.
13738
13739 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
13740
13741         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
13742         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
13743         to compare two argument values. added gtk_arg_to_valueloc() to set a
13744         variable from an arg through its location (pointer).
13745
13746         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
13747         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
13748         as gfloat*, uchars are collected as guchar*, ints are collected as
13749         gint*, etc...
13750
13751 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
13752
13753         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
13754         Include <string.h> instead of <strings.h>.
13755
13756         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
13757         (actually, a lot more duplicate includes occur if
13758          you trace through the sequence of #include's)
13759         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
13760         
13761 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
13762
13763         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
13764         gtk-a-higuti-990322-[0-3]
13765
13766         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
13767         that was causing -DX_LOCALE not to work.
13768
13769         * gtk/gtkrc.c (gtk_rc_init):
13770         X_LOCALE will never have LC_MESSAGES defined
13771
13772 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
13773
13774         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
13775         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
13776
13777         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
13778         left/right as well (gtk-michael-980726-0.patch.gz).
13779
13780         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
13781         for pointer values, use gchar instead of char. fixed uline allocation
13782         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
13783         chunks instead of G_ALLOC_ONLY.
13784         (gtk_label_size_request): always alter requisition as passed and leave
13785         widget->requisition alone.
13786         (gtk_label_set_text): allow NULL strings.
13787         (gtk_label_new): likewise.
13788
13789 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
13790
13791         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
13792
13793 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
13794
13795         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
13796         *and* mapped (i.e. drawable).
13797         (gtk_bin_expose): only send exposes to drawable children.
13798
13799         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
13800         (gtk_box_expose): only send exposes to drawable children.
13801
13802         * gtk/gtkhscale.c (gtk_hscale_draw): 
13803         * gtk/gtkvscale.c (gtk_vscale_draw):
13804         hm, this is an ugly one. we first compute the size of our trough area
13805         here (window relative) and then check intersection with the draw_area
13806         which is parent relative because we're a NO_WINDOW widget, so we need
13807         to offset the trough area by allocation.x and allocation.y before the
13808         check. (this must not be done for the background area though, since
13809         that's already computed parent relative).
13810
13811 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
13812
13813         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
13814         unrealize title buttons.
13815
13816 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
13817
13818         * gtk/gtkclist.c (gtk_clist_column_title_passive)
13819         (gtk_clist_column_title_active): 
13820         only connect/disconnect to GtkWidgetClass::event to block mouse events.
13821
13822         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
13823         zero initialize event, removed superfluous gdk_window_get_pointer call
13824
13825         * gtk/gtklist.c (gtk_list_vertical_timeout)
13826         (gtk_list_horizontal_timeout): removed superfluous
13827         gdk_window_get_pointer call
13828
13829 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
13830
13831         * plugging problems reported by "Bruce Mitchener, Jr."
13832         <bruce@puremagic.com> due to a purify session.
13833
13834         * gtk/gtkstyle.c:
13835         (gtk_style_ref): 
13836         (gtk_style_unref): assert ref_count to be > 0.
13837
13838         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
13839         the requisition.
13840         (gtk_clist_set_shift): likewise.
13841
13842         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
13843         adjustments.
13844
13845         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
13846         event before sending it and set send_event to TRUE (which needs to
13847         be done for *all* synthesized events).
13848         (gtk_list_vertical_timeout): likewise.
13849
13850         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
13851         leaks.
13852
13853         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
13854         to TRUE when synthesizing events.
13855
13856 [ *** end of merges from 1.2 *** ]      
13857         
13858 1999-11-21  Tor Lillqvist  <tml@iki.fi>
13859
13860         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
13861         (or copied from gdkconfig.h.win32 on Win32, sigh).
13862
13863         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
13864
13865         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
13866
13867         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
13868
13869         * gdk/gdkconfig.h.win32: New file.
13870
13871         * gdk/win32/makefile.cygwin: Build just a static archive here.
13872
13873         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
13874         for the DLL from the static archive built above.
13875
13876         * gdk/gdk.def: Moved here from the win32 subdirectory.
13877
13878         * gdk/win32/*: Adapt for the changed private struct organisation.
13879
13880         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
13881
13882 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
13883
13884         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
13885         for wheel mice (buttons 4 and 5).
13886
13887 1999-11-18  Tor Lillqvist  <tml@iki.fi>
13888
13889         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
13890         drawables use just the pixel field in the foreground and
13891         background GdkColor of the GdkGC.
13892
13893         gdk_gc_set_{fore,back}ground() are called in the GIMP with
13894         GdkColors containing uninitialized (red,green,blue) fields, and
13895         just the pixel field filled in, and furthermore in the
13896         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
13897         It thus turns out that we really don't need to have the full
13898         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
13899         it later to have just the pixel values.
13900
13901 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
13902
13903         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
13904
13905 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
13906
13907         * docs/gtkfaq.sgml: threads example from Erik Mouw.
13908         New question on GtkLabel background colors.
13909
13910         * docs/gtk_tut.sgml:
13911           - Correct the example code callback
13912             function definitions.
13913           - Update the gtkdial example code, from Frans van Schaik.
13914           - Update setselection.c to current API.
13915
13916         * examples/Makefile examples/*/*.c: Update to code
13917         listed in tutorial.
13918
13919 1999-11-10  Tor Lillqvist  <tml@iki.fi>
13920
13921         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
13922         subrange table (from the "Developing International Software for
13923         WIndows 95 and Windows NT" book) was missing the Hangul syllable
13924         block... Get the loaded font's charset correctly.
13925
13926         (Note that this, and the other *-win32.c files, still really are
13927         the old ones, the win32 subdirectory is not ready for compilation
13928         yet after the reorg.)
13929
13930 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
13931
13932         * gtk/gtkclist.c: Fix off-by-one bug in parameter
13933         check.
13934
13935 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
13936
13937         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
13938         on results of XQueryDeviceState().
13939
13940 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
13941
13942         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
13943         we need to accesss only ->children. We need an accessor
13944         for the children.
13945
13946         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
13947         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
13948         to get rid of gdkx.h include.
13949         
13950         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
13951         and random references to 'None'.
13952
13953         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
13954         Get rid of unused #include <gdk/gdkx.h>
13955
13956         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
13957         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
13958         gdkconfig.h.
13959
13960 1999-11-08  Tor Lillqvist  <tml@iki.fi>
13961
13962         * gdk/win32/gdkdraw.c
13963         * gdk/win32/gdkfont.c
13964         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
13965         following yesterday's changes. (Unrelated to Owen's reorg.)
13966
13967 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
13968
13969         * gdk/x11/gdkinput-gxi.c: Add missing include,
13970           fix GdkWindowPrivate => GdkDrawablePrivate.
13971
13972         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
13973
13974         * gdk/x11/Makefile.am (xinput_sources): Add missing
13975         backslash to fix building with --with-xinput=none
13976
13977 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
13978
13979         Move all X specific code into the x11/ directory.
13980         Aside from shuffling things around, did the following:
13981
13982        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
13983          gdk_arg_context_* - a simple argument parsing system
13984          in the style of popt.
13985
13986        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
13987          gdk/x11/gdkprivate-x11.h:
13988          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
13989          add ->klass and ->klass_data fields. The klass_data
13990          field points to an auxilliary structure that is
13991          windowing system dependent.
13992
13993        * gdk/gdkfont.c: Make most of the measurement functions
13994          simply wrappers around gdk_text_extents().
13995
13996        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
13997          _gdk_font_strlen() function that hides the weird
13998          behavior in gtk+-1.[02] where a string is interpreted
13999          differently for 8-bit and 16-bit fonts.
14000
14001        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
14002          to store common code for synthesizing double/triple
14003          press events.
14004         
14005        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
14006          Make all the function that modify an existing GC
14007          simply wrappers around gdk_gc_set_values().
14008          
14009        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
14010          for throwing out later.
14011
14012        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
14013          GdkImagePrivate and GdkColormapPrivate to have a
14014          windowing system dependent part (GdkFontPrivateX etc.)
14015          that "derives" from the system-independent part.
14016
14017        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
14018          Got rid of the included-source-files for XInput in
14019          favor of automake conditionals. (Which didn't exist
14020          when XInput support was originally added.)
14021
14022        * gdk/gdkrgb.c: Remove the visual id from the debugging
14023          statements since that is X11 specific; print out
14024          type/depth info instead.
14025          
14026
14027 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
14028
14029         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
14030         loading duplicates of hashed fonts.
14031
14032         * gdk/gdk.c (gdk_keysym_convert_case): rename
14033         gdk_XConvertCase to gdk_keysym_convert_case, allow
14034         results to be NULL in the GTK+ style.
14035
14036         * gdk/gdkcompat.h: Started compatibility header
14037         for renames.
14038
14039 1999-11-07  Tor Lillqvist  <tml@iki.fi>
14040
14041         * gdk/win32/gdkprivate.h: New font private structures, related to
14042         fontsets.
14043
14044         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
14045         gdk_font_list_free(). On X11, will just be wrappers to
14046         XListFonts() and XFreeFontNames(). On Win32, the code previously
14047         in gtkfontsel.c is now here.
14048
14049         New function gdk_font_xlfd_create(). On X11 will get the FONT
14050         property of the font (for GDK_FONT_FONTs), or call
14051         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
14052         builds a XLFD style name from the font information in the LOGFONT
14053         struct(s).
14054
14055         New function gdk_font_xlfd_free(), which correspondingly frees the
14056         string returned by gdk_font_xlfd_create().
14057
14058         Implement fontsets on Win32. Add a function that iterates over a
14059         wide char string and calls a callback function for each substring
14060         of wide chars from the same Unicode subrange (and thus probably
14061         available in the same real font).
14062
14063         Improve the XLFD emulation a bit.
14064
14065         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
14066
14067         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
14068         Beta3, WM_IME_CHAR messages don't seem to contain the composed
14069         multi-byte char as with the Active IMM on Win9x. Oh well, handle
14070         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
14071         ImmGetCompositionStringW() to get the composed Unicode chars.
14072
14073         * gdk/win32/gdkgc.c
14074         * gdk/win32/gdkdraw.c: Changes needed because of the font private
14075         struct changes.
14076
14077         * gdk/win32/gdk.def: Add the new functions.
14078
14079 1999-11-04  Tor Lillqvist  <tml@iki.fi>
14080
14081         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
14082         get the Platform SDK to get <dimm.h>.
14083
14084         * gdk/win32/gdkevents.c: More event handling fixes and
14085         simplification. Never generate motion events with is_hint true. We
14086         used to do that on bogus grounds earlier. Windows sends
14087         WM_MOUSEMOVE messages on button events even if the mouse hasn't
14088         moved, ignore these.
14089
14090         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
14091
14092         * gdk/win32/gdkglobals.c
14093         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
14094         the TrackMouseEvent function, and use it.
14095
14096         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
14097         char before calling WideCharToMultiByte in order to get a string
14098         for the window title.
14099
14100         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
14101
14102         * gdk/win32/gdk.def: Remove obsolete functions.
14103
14104         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
14105         /nodefaultlib and /defaultlib switches.
14106
14107         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
14108
14109 1999-10-31  Tor Lillqvist  <tml@iki.fi>
14110
14111         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
14112         EuroSign).
14113
14114         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
14115         same type as GdkWChar, especially on Win32.
14116
14117         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
14118
14119         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
14120         before passing to Windows GDI for drawing etc. Convert to the
14121         system default codepage before passing to Windows as window
14122         titles.
14123
14124         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
14125         support changing input locale on the fly.
14126
14127         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
14128         on-the-fly changes. Convert incoming characters from the current
14129         codepage to Unicode (and then to a UTF-8 multi-byte string) based
14130         on the current input language. Use keysym<->Unicode mapping tables
14131         and functions borrowed from xterm sources.
14132
14133         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
14134         editions of Win9x, use the ActiveX-based Active IMM (Input Method
14135         Manager) if available. IMEs and the Active IMM are available under
14136         the disguise of Chinese, Korean and Japanese support for IE and
14137         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
14138         support is present in all editions (as long as you install it).
14139
14140         Call DispatchMessage from gdk_events_queue() (and thus
14141         gdk_WindowProc()), instead of duplicating the code in
14142         gdk_WindowProc().
14143
14144         Reworked the grab handling and propagation code, factored out
14145         duplicated code snippets into separate functions. Other cleanups,
14146         too.
14147
14148         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
14149         the <dimm.h> header describing the Active IMM.
14150
14151         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
14152         just do the same as for "single" fonts.
14153
14154         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
14155         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
14156         the new keysyms from gdkkeysyms.h.
14157
14158         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
14159         fontset, so that gtkentry uses wide characters.
14160
14161         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
14162         GTk+'s system directory "gtk+", not "gtk".
14163
14164 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
14165
14166         * docs/gtkfaq.sgml: FAQ update
14167
14168 1999-10-21  Tor Lillqvist  <tml@iki.fi>
14169
14170         * gdk/win32/gdkprivate.h: Add more font private data.
14171
14172         * gdk/win32/gdkfont.c
14173         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
14174         fonts and strings. Now works much better. You still have to
14175         have a correct font selected, though. No fontset emulation yet.
14176
14177 1999-10-19  Tor Lillqvist  <tml@iki.fi>
14178
14179         * gtk/maketypes.awk: Use G_OS_WIN32.
14180
14181         * gtk/gtk.def: Add some missing entry points. Also some non-public
14182         ones, but PyGTK porter claims to need them.
14183
14184         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
14185         built-in type generation.
14186
14187 1999-10-14  Tor Lillqvist  <tml@iki.fi>
14188
14189         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
14190         GDK_FONT_FONT fonts (which is all we have for now, we don't
14191         emulate fontsets). The X11 version uses plain XDrawString in that
14192         case, too. The string passed to gdk_draw_text_wc seems to be in
14193         fact (at least, when used by gtkentry and gtktext) either in a
14194         single-byte charset, or a DBCS. Not Unicode.
14195
14196         This fixes the problem in gtkfontsel, where even if you had
14197         selected a font with a non-Latin1 charset (windows-greek, for
14198         instance), the preview still used Latin-1 glyphs.
14199
14200         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
14201         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
14202         (gdk_font_load): Recognize the demibold etc weights, even if we
14203         don't have the corresponding constants in the headers.
14204         (gdk_font_hash_insert): Use same hash mechanism as in the X11
14205         version. Should save font resources a bit, when we don't have
14206         multiple HFONTs for the same font.
14207
14208         * gdk/win32/gdkprivate.h: Add the names field as in the X11
14209         version.
14210
14211 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
14212
14213         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
14214         X values
14215
14216 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
14217
14218         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
14219         layout support (as mentioned on
14220         http://www.jcinteractive.com/gnome-ui/software/widgets/)
14221
14222 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
14223
14224         * gtk/fnmatch.c
14225         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
14226
14227 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
14228
14229         * configure.in (ALL_LINGUAS): Added Galician (gl)
14230
14231 1999-10-05  Tor Lillqvist  <tml@iki.fi>
14232
14233         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
14234
14235         * gdk/win32/gdkcompat.c: New file, actually provide an
14236         implementation for the deprecated functions. (Just temporarily.)
14237
14238         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
14239
14240         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
14241
14242         * gdk/win32/gdk.def gtk/gtk.def: Updates.
14243
14244 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
14245
14246         * configure.in: Added "uk" to ALL_LINGUAS.
14247         
14248 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
14249
14250         * configure.in: correct checking for BeOS check
14251
14252         * gdk/gdktypes.h
14253         * gtk/fnmatch.c
14254         * gtk/gtkfilesel.c
14255         * gtk/gtkitemfactory.c
14256         * gtk/gtkmain.[ch]
14257         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
14258
14259 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
14260
14261         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
14262         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
14263         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
14264         by Bulgarian). 
14265
14266 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
14267
14268         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
14269         Fix a reference to window_private->destroyed.   
14270
14271         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
14272         (ugly) setting of an internal GdkWindow member to use
14273         a _slightly_ cleaner macro.
14274
14275         * gdk/gdkprivate.h: Split GdkWindowPrivate into
14276         GdkDrawablePrivate and GdkWindowPrivate.
14277         Add extra macros for accessing GDK_DRAWABLE_ components.
14278
14279         * *.[ch]: Massive adjustments for the above, use the
14280         new macros in a lot of places.
14281
14282 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
14283
14284         * gdk/gdktypes.h: Make GdkDrawable the base type,
14285         not GdkWindow.
14286
14287 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
14288
14289         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
14290
14291 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
14292
14293         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
14294
14295 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
14296
14297         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
14298         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
14299
14300         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
14301
14302         * docs/gtk-config.1: Now autogenerated.
14303         * docs/Changes-1.4.txt: started
14304         
14305 1999-10-03  Tor Lillqvist  <tml@iki.fi>
14306
14307         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
14308         to #ifdef also here.
14309
14310         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
14311         Owen did to the X11 backend.
14312
14313         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
14314         ScrollWindowEx when blitting inside a window, it can't be correct
14315         in the general case.
14316
14317         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
14318         WM_GETMINMAXINFO is easier.
14319
14320         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
14321         depth equal to the bitspixel value, not the visual's depth.
14322
14323         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
14324         to 24 even if the bitspixel value is 32.
14325
14326         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
14327         need to check for depth==32 when bpp==32, depth will always be 24.
14328
14329 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
14330
14331         * docs/Changes-1.4.txt: Started
14332         
14333         * gtk/Makefile.am (gdk_headers): Include all the new headers.
14334
14335         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
14336         
14337         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
14338         into C file.
14339         
14340         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
14341         header to gdkinputprivate.h.
14342
14343         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
14344         unused since before 1.2.
14345
14346 1999-09-30  Tor Lillqvist  <tml@iki.fi>
14347
14348         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
14349         expand possible hex escapes in the font family (put there by
14350         logfont_to_xlfd if the font name isn't a legal XLFD font family,
14351         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
14352         On Win32, add hex escapes here, too.
14353
14354 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
14355
14356         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
14357         to #ifdef GDK_WINDOWING_X11.
14358
14359 [ Merges from gtk-1-2 ]
14360
14361 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
14362
14363         * configure.in: fixed "GNU Make" check to pass with new make version
14364         3.77.95.
14365
14366 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
14367
14368         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
14369         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
14370         AM_PATH_GTK() macros don't get confused by the -pre1.
14371
14372 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
14373
14374         * configure.in (REBUILD): Change check for perl5
14375           to check explicitely for v >= 5.002. (5.001
14376           does not work with our scripts.)
14377
14378 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
14379
14380         * configure.in: evaluate $PERL for the perl version check. added
14381         --disable-rebuilds to give the user an option to completely disable
14382         any source autogeneration rules.
14383
14384 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
14385
14386         * configure.in: evaluate $ac_make when checking for GNU Make.
14387
14388 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
14389
14390         * docs/Makefile.am: added generation.txt.
14391
14392         * Makefile.am: require automake 1.4, build README from README.in and
14393         INSTALL from INSTALL.in in dist-hook.
14394         
14395         * README.in:
14396         * INSTALL.in: new files to autogenerate README and INSTALL from.
14397
14398         * configure.in: figure whether we have GNU Make
14399
14400         * docs/generation.txt: minor additions/corrections.
14401
14402 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
14403
14404         * docs/gtkfaq.sgml: FAQ Update
14405
14406 July 30, 1999 Elliot Lee <sopwith@redhat.com>
14407         
14408         * configure.in: Fix autoconf warnings about cross compilation by
14409         trying to provide sane defaults for AC_TRY_RUN.
14410
14411 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
14412
14413         * ltconfig
14414         * ltmain.sh: upgrade to libtool 1.3.3
14415
14416 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
14417
14418         * INSTALL: Indicate that the --with-glib= configure
14419         time flag is unsupported.
14420
14421 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
14422
14423         * docs/generation.txt: Added a file that gives
14424         documenation about the autogeneration process for
14425         various autogenerated files.
14426         
14427 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
14428
14429         * configure.in (LIBS): Look for libgmodule in the
14430         right location.
14431
14432 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
14433
14434         * docs/gtk_tut.sgml: Removed references to
14435         code examples in my directory on gtk.org as
14436         they should all be in the tutorial now.
14437
14438         * docs/gtk_tut.sgml: Added sources for dial-test
14439         and scribble-xinput programs that were previously
14440         missing.
14441
14442 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
14443
14444         * TODO: Added entry about menu keyboard navigation, removed
14445         some finished items.
14446
14447 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
14448
14449         * acinclude.m4: Standardize on func_dgettext
14450         not func_gettext, so that the checks for dgettext
14451         actually are paid attention to.
14452
14453 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
14454
14455         * configure.in (LIBS): Add $INTLLIBS into $LIBS
14456         directly, rather than repeating the checks for
14457         gettext.
14458
14459         * INSTALL: Added information about gettext and
14460         NLS support.
14461
14462         * acinclude.m4 (LIBM): Check for dgettext, not
14463         just gettext. This should hopefully fix things wrt
14464         systems with old versions of GNU gettext installed.
14465
14466 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
14467
14468         * configure.in (LIBS): Look for libgmodule in the
14469         right location.
14470
14471 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
14472
14473         * autogen.sh: add --enable-maintainer-mode
14474
14475         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
14476
14477 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
14478
14479         * docs/gtk-config.1.in:
14480           docs/Makefile.am:
14481           configure.in: gtk-config is now generated.
14482
14483         * docs/gtk-config.1: Removed, now generated.
14484
14485 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
14486
14487         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
14488         handle CreateNotify itself, still put out a debuging message for
14489         --gdk-debug=events. made the ReparentNotify debugging message more
14490         verbose.
14491         wrap xcoords translation for ConfigureEvents into an error trap,
14492         a destroy event may already be pending, and in that case, the
14493         actuall coordinate values are not at all critical.
14494
14495 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
14496
14497         * gdk/gdkcc.c: Stop leaking the color_hash all over
14498         the place. Simplify and improve the logic.
14499
14500 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
14501
14502         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
14503         for prototypes and function implementations consistent (reported
14504         by Tomas Ogren).
14505
14506 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
14507
14508         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
14509         send_event set in debugging output.
14510         (gdk_compress_exposures): default initialize the event so we don't
14511         operate on bogus values (namely send_event).
14512
14513 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
14514
14515         * gdk/gdkwindow.c: When we receive an unexpected
14516         destroy notify on one of our windows, don't just
14517         warn about it, also mark our windows as destroyed.
14518
14519 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
14520
14521         * gdk/gdkfont.c (gdk_font_hash_insert): Add
14522           name => font and name => fontset hashes. The 
14523           name => fontset hash is a _big_ win since we
14524           weren't previously caching fontsets at all and loading
14525           fontsets is expensive. The name => font hash
14526           is less of a win, but it does save us from doing
14527           repeated XQueryFont calls on the same font.
14528
14529         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
14530           list so we can remove font/fontset from hash.
14531
14532 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
14533
14534         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
14535           and slightly confusing test. [ XInternAtom (,,TRUE)
14536           will never return None ].
14537
14538 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
14539
14540         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
14541           gdk/gdkwindow.c (gdk_window_set_hints):
14542
14543         Don't omit setting the properties if flags == 0 -
14544         there may be an existing set of properties there
14545         already. (Very old bug. Would it be better to
14546         delete the property instead?)
14547
14548         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
14549           spelling error in comment.
14550
14551 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
14552
14553         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
14554           to avoid stomping over gdk_error_warnings.
14555
14556         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
14557           as (bits_per_pixel + 7) / 8. This gives the same
14558           result as before for multiples of 8, but actually
14559           a "reasonable" value for 1bit or 4bit displays.
14560
14561 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
14562
14563         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
14564         GNU Make.
14565
14566 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
14567
14568         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
14569         discarding configure events.
14570
14571 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
14572
14573         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
14574         refcount is greater than zero.
14575
14576         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
14577
14578         * gdk/gdkfont.c (gdk_font_unref): Likewise.
14579
14580         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
14581
14582         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
14583
14584 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
14585
14586         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
14587         that format 32 => sizeof(item) == 4. It really is
14588         sizeof(long).
14589
14590 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
14591
14592         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
14593         core dump at all on X IO errors, only core dump
14594         if --enable-debug for X errors.
14595
14596 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
14597
14598         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
14599         unknown window:" message. disabled ConfigureNotify discarding code,
14600         because it led to events being processed out of order.
14601
14602 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
14603
14604         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
14605
14606         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
14607         we export this function, supress error warnings and don't reset the
14608         error code in the first half of this function.
14609
14610         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
14611         code (instead of just -1) so gdk_error_trap_pop() reveals something
14612         actually informative about the error that happened.
14613
14614         * gdk/*.c:
14615         don't rely on gdk_error_code being -1 if an error occoured, but just
14616         gdk_error_code != 0.
14617
14618 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
14619
14620         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
14621         pointer *before* invoking the filter function, so we at least don't
14622         crash if a filter is removed that is currently executed. window filters
14623         *really* need to be made truely reentrant at some point.
14624
14625 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
14626
14627         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
14628         PropertyNotify debug messages.
14629
14630 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
14631         
14632         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
14633         
14634         * gdk/gdkim.c: Fix cut-and-paste errors for 
14635         x/y and PreeditAttributes/StatusAttributes.
14636
14637 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
14638
14639         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
14640         G_MAXINT to 2^16 to alleviate overflow problems in
14641         various window managers.
14642
14643 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
14644
14645         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
14646         for fontsets.
14647
14648 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
14649
14650         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
14651         Initialize size_hints.x and size_hints.y because kwm
14652         brokenly pays attention to them.
14653         (Bug #1181 -  Lars Heete <hel@admin.de>)
14654
14655 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
14656
14657         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
14658         return value of gdk_list_visuals(). 
14659         (Bug #1193 - Morten Welinder <terra@diku.dk>)
14660
14661 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
14662
14663         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
14664         XSetIMValues to (void *) when comparing to NULL, to workaround
14665         the problem of some compilers barfing since older X headers don't
14666         have the prototype for it.
14667
14668 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
14669
14670         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
14671         for pseudocolor where colormap->colors was double
14672         allocated.
14673
14674         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
14675         color value in the hash table with the pixel filled
14676         in so when we do later hash table lookups, the color
14677         value is correct.
14678         
14679 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
14680
14681         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
14682         making the call
14683
14684 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
14685
14686         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
14687         pointed out by Morten Welinder <terra@diku.dk>.
14688
14689 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
14690
14691         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
14692           default filter from the list
14693
14694 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
14695
14696         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
14697           default filter from the list
14698
14699 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
14700
14701         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
14702
14703         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
14704         g_strdup_printf instead of calcing the length separately
14705
14706 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
14707
14708         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
14709         that we don't do in many other places. (Fixing duplicate 
14710         #include of config.h)
14711
14712         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
14713         Otherwise, #ifndef XINPUT_NONE check in the latter
14714         doesn't work. (Bug #546)
14715
14716 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
14717
14718         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
14719         "None" case insensitive.
14720
14721 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
14722
14723         * gdk/gdkselection.c: 
14724         Add error traps so if the other end of the connection
14725         dies, we survive.
14726
14727 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
14728
14729         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
14730         dest_xid field into two fields - one for the window
14731         to send in messages, one to indicate the last looked
14732         up window for caching purposes. This is needed, so
14733         that Leave messages get the correct window.
14734
14735 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
14736
14737         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
14738         Fix warning created by people mucking around
14739         with the gsource API.
14740
14741         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
14742         Change mapping between GIOCondition and GdkInputCondition
14743         to match the way the Linux kernel does it. This should
14744         fix problems where closed pipes were no longer signalling
14745         GDK_INPUT_READ on systems with a native poll().
14746
14747 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
14748
14749         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
14750         explicitly for the string "None" - it is in the XPM
14751         spec and some servers treat unknown colors in odd ways
14752         (like asking the user!)
14753
14754 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
14755
14756         * gdk/gdkevents.c: made "->" into a "." of previous change so
14757         it compiles
14758
14759 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
14760
14761         * gdk/gdkevents.c (gdk_compress_exposures): Set the
14762         window field of the event structure before calling
14763         user filters.
14764
14765 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
14766
14767         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
14768         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
14769
14770 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
14771
14772         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
14773         intermediate text property - prevents major memory
14774         leak when gdk_use_mb.
14775         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
14776
14777 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
14778
14779         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
14780         gtk-a-higuti-990322-[0-3]
14781
14782         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
14783         sizeof(wchar_t) != sizeof (GdkWChar)
14784
14785         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
14786         that was causing -DX_LOCALE not to work.
14787
14788         * gtk/gtkrc.c (gtk_rc_init):
14789         X_LOCALE will never have LC_MESSAGES defined
14790
14791         * gdk/gdk.c (gdk_init_check):
14792         Remove --xim-preedit and --xim-status from argv properly.
14793
14794         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
14795         that the client window is present on the X server
14796         before we pass it to the input method.
14797
14798 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
14799
14800         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
14801         if --display is specified on the command line, than
14802         the drag window will not be created on that display.
14803         
14804 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
14805
14806         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
14807         lookups with only_if_exists == TRUE were inserting
14808         bogus values into the atom cache.
14809
14810 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
14811
14812         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
14813         then reset it to NULL.
14814
14815         * gdk/gdkcolor.c:
14816         (gdk_colors_free): 
14817         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
14818         key for g_hash_table_remove() in both functions, this prevents us
14819         from accessing possibly uninitialized portions of a GdkColor structure
14820         where we are only interested in its pixel value.
14821
14822 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14823
14824         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14825         font hash table, if we have a GdkFontPrivate entry for this font
14826         already, simply increment its reference count, provided by Olaf Dietsche
14827         <olaf.dietsche+list.gtk@netcologne.de>.
14828
14829 1999-09-21  Tor Lillqvist  <tml@iki.fi>
14830
14831         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
14832         just to be sure.
14833
14834         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
14835         unused variables, leftovers from the X11 version.
14836
14837         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
14838
14839         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
14840         downcase fields on X11.
14841
14842 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
14843         
14844         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
14845         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
14846
14847 1999-09-17  Tor Lillqvist  <tml@iki.fi>
14848
14849         * gdk/win32/gdk.def: Add gdk_threads_mutex.
14850
14851         * gtk/makefile.msc: Correct path to libintl.
14852
14853         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
14854         use of gint vs. int, and gint vs. gboolean in headers and
14855         definitions. Use GtkType for the *_get_type functions. Note that
14856         these changes preserve binary compatibility.
14857
14858         * gdk/gdk.c
14859         * gdk/win32/gdk.c
14860         * gdk/gdk.h: Fix inconsistencies: gint vs int.
14861
14862         * gtk/gtkmain.c
14863         * gtk/gtkclist.c
14864         * gtk/gtkmenufactory.c
14865         * gtk/gtknotebook.c
14866         * gtk/gtkwidget.c: Fix inconsistencies, also gint
14867         vs. gboolean.
14868
14869         * gtk/gtkcolorsel.[ch]
14870         * gtk/gtkcombo.[ch]
14871         * gtk/gtkdrawingarea.[ch]
14872         * gtk/gtkgamma.[ch]
14873         * gtk/gtkhandlebox.[ch]
14874         * gtk/gtkhpaned.[ch]
14875         * gtk/gtkhruler.[ch]
14876         * gtk/gtkplug.[ch]
14877         * gtk/gtkpreview.[ch]
14878         * gtk/gtkruler.[ch]
14879         * gtk/gtksocket.[ch]
14880         * gtk/gtkstatusbar.[ch]
14881         * gtk/gtktoolbar.[ch]
14882         * gtk/gtkvbbox.[ch]
14883         * gtk/gtkvpaned.[ch]
14884         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
14885         functions.
14886
14887         * gtk/gtkgamma.h: Fix bug, missing () in call of
14888         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
14889
14890 1999-09-14  Tor Lillqvist  <tml@iki.fi>
14891
14892         * gdk/gdkcolor.c (gdk_colormap_new)
14893         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
14894         colormap->colors was allocated twice.
14895
14896         * gdk/win32/gdk.c: Remove some unused stuff.
14897
14898         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
14899         colormap.
14900
14901         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
14902         * gtk/gtklabel.h (gtk_label_get_type)
14903         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
14904         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
14905         in a couple of places, not guint.
14906
14907 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
14908
14909         * configure.in,po/et.po: added Estonian language file
14910
14911 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
14912
14913         * configure.in,po/da.po: added Danish file
14914
14915 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
14916
14917         * docs/gtkfaq.sgml: Minor FAQ Update
14918
14919 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
14920
14921         * docs/gtkfaq.sgml: FAQ update
14922
14923 1999-08-27  Tor Lillqvist  <tml@iki.fi>
14924
14925         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
14926         way to get window contents continually refreshed while resizing. I
14927         didn't like the effects myself, so it's not on by default.
14928
14929         * gdk/win32/gdkprivate.h: New flag variable
14930         gdk_event_func_from_window_proc, FALSE by default.
14931
14932         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
14933         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
14934         are passed --gdk-event-func-from-window-proc.
14935
14936         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
14937         and we have am event_func, call it instead of enqueing the event.
14938
14939 1999-08-23  Tor Lillqvist  <tml@iki.fi>
14940
14941         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
14942         Kelley: Set expose_count in GdkEventExposes correctly.
14943
14944         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
14945         MULTIPLE_WINDOW_CLASSES).
14946
14947         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
14948         for bug in NT, apparently NT *does* draw the end pixel, too, in
14949         LineTo with a one-pixel pen, so we don't have to do it ourselves.
14950
14951 1999-08-21  Tor Lillqvist  <tml@iki.fi>
14952
14953         Improvements by Hans Breuer: 
14954
14955         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
14956
14957         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
14958         CS_?REDRAW flags as they cause lots of (late) redraws when "show
14959         window contents while dragging" is turned on. Allocate at least
14960         one unique class for every GdkWindowType. If support for single
14961         window-specific icons is ever needed (eg. Dialog specific), every
14962         such window should get its own class.
14963
14964 1999-08-19  Tor Lillqvist  <tml@iki.fi>
14965
14966         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
14967         error that caused crashes.
14968
14969 1999-08-17  Tor Lillqvist  <tml@iki.fi>
14970
14971         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
14972         window, use ScrollWindowEx, and call UpdateWindow. This prevents
14973         bugs when for instance part of the window was outside the
14974         display. Thanks to Philippe Colantoni for finding and fixing this.
14975
14976 1999-08-16  Tor Lillqvist  <tml@iki.fi>
14977
14978         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
14979         endpoint calculations which were totally wrong. (A little RTFMing
14980         helps a lot ;-)
14981
14982         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
14983         from a separate directory, not from gettext, because of licensing
14984         issues (we want to use the LGPL version).
14985
14986         * README.win32: Mention the intl from glibc vs from gettext issue.
14987
14988 1999-08-13  Tor Lillqvist  <tml@iki.fi>
14989
14990         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
14991         in the key event handling: Now AltGr chars work again. Also,
14992         now Alt-digits are passed up as well as Control-digits.
14993         Pass keypad plus and minus as normal plus and minus.
14994
14995 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
14996
14997         * docs/gtkfaq.sgml: FAQ Update
14998
14999 1999-07-25  Tor Lillqvist  <tml@iki.fi>
15000
15001         * README.win32
15002         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
15003         the Wintab SDK.
15004
15005         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
15006         OK, but getting closer. Guard against bogus tilt data from Wacom
15007         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
15008         enable easier building without Wintab.
15009
15010         * gdk/win32/gdkinput.h
15011         * gdk/win32/gdkevents.c 
15012         * gdk/win32/gdkwindow.c: Minor changes related related to above.
15013         
15014         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
15015         code. As we have just one visual on Win32, no sense to have it in a
15016         table, and no need for the hash table.
15017
15018         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
15019         better on white background.
15020
15021 1999-07-21  Tor Lillqvist  <tml@iki.fi>
15022
15023         * README.win32: Update gcc build instructions. Mention gettext is
15024         GPL.
15025
15026         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
15027         supported cursor size with GetSystemMetrics.
15028
15029         * gdk/win32/gdkfont.c
15030         * gtk/gtkfontsel.c: Guard against some font weight and charset
15031         symbols being undefined (in mingw32 headers).
15032
15033         * gdk/win32/makefile.cygwin
15034         * gtk/makefile.cygwin
15035         * gtk/gtkthemes.c: No longer need to have differently named
15036         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
15037
15038 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
15039
15040         * docs/gtkfaq.sgml: Long awaited FAQ update.
15041
15042 1999-07-15  Tor Lillqvist  <tml@iki.fi>
15043
15044         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
15045         it. Obscure bit manipulation needed.
15046
15047         * gdk/win32/gdkevents.c: Logging.
15048         
15049         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
15050         style (file name include compiler name) for theme engines.
15051
15052 1999-07-13  Tor Lillqvist  <tml@iki.fi>
15053
15054         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
15055
15056         * gdk/win32/gdkevents.c: Fix long-standing bug in key
15057         events. The key.string wasn't zero-terminated, still we strdup'ed
15058         it in gdk_event_copy(). Synthesize crossing events for button
15059         events before possible propagation.
15060
15061         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
15062
15063         * gdk/win32/makefile.cygwin
15064         * gtk/makefile.cygwin: Use new DLL naming style for the
15065         GCC-compiled ones.
15066
15067         * gdk/win32/makefile.msc
15068         * gtk/makefile.msc: Cosmetics mostly.
15069
15070         * gtk/gtk.def: Add missing entry points.
15071
15072         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
15073
15074 1999-07-09  Tor Lillqvist  <tml@iki.fi>
15075
15076         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
15077         or height is zero. Don't print a warning if Pie or Arc fails, they
15078         always fail (?) for very narrow ellipses.
15079
15080         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
15081         the part or the destination window corresponding to source area
15082         outside of the source drawable's boundary.
15083
15084         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
15085         anything if less than two points.
15086
15087         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
15088         return NULL. Gtk cut-and-paste inside a single program works
15089         better this way. (It always gets the clipboard contents from
15090         Windows, not from its own copy, which is cleared anyway. I can't
15091         say I fully understand what happens... Emulating the X selection
15092         and property stuff is a bit of a mess.)
15093
15094         * gdk/win32/gdkevents.c
15095         * gdk/win32/gdkproperty.c: A bit more verbose logging.
15096
15097         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
15098         that never got deleted). Revamp gdk_region_shrink.
15099
15100         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
15101         after use.
15102
15103         * gtk/gtk.def: Add some missing entry points.
15104
15105         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
15106         component.
15107
15108 1999-07-04  Tor Lillqvist  <tml@iki.fi>
15109
15110         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
15111         Control-digits specially.
15112
15113 1999-07-03  Tor Lillqvist  <tml@iki.fi>
15114
15115         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
15116
15117 1999-06-28  Tor Lillqvist  <tml@iki.fi>
15118
15119         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
15120         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
15121         finding this.)
15122
15123 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
15124
15125         * gtk+.spec.in: Corrected some typos in files section.
15126         
15127 1999-06-15  Tor Lillqvist  <tml@iki.fi>
15128
15129         * README.win32: Mention using GNU gettext.
15130         * config.h.win32: Enable NLS stuff.
15131         * gtk/makefile.msc: Use GNU gettext.
15132         * gdk/win32/gdkdnd.c: Minor header reorg.
15133         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
15134         cosmetics.
15135         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
15136         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
15137
15138 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
15139
15140         * acinclude.m4
15141         * config.guess
15142         * config.status
15143         * ltconfig
15144         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
15145
15146 1999-05-30  Tor Lillqvist  <tml@iki.fi>
15147
15148         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
15149         SafeAdjustWindowRectEx. Don't override all calls to
15150         AdjustWindowRectEx by it, but use it only in two places: When
15151         creating a new top-level window and when moving a top-level
15152         window.
15153
15154         Use screen coordinate rectangle, not client rectangle, in
15155         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
15156         when we try to place a window so that the decoration (mainly,
15157         title bar) isn't visible.
15158
15159         These changes fix the bug that showed up for instance as the
15160         GIMP's saved top-level windows moving right and down (by an amount
15161         equal to the window decoration) for each session. This bug showed
15162         up also in testgtk's "Saved Position".
15163
15164         gdk_window_resize also redone a bit.
15165
15166 1999-05-25  Tor Lillqvist  <tml@iki.fi>
15167
15168         * gtk/testgtkrc: Add (commented out) Windows-style theme
15169         include line.
15170
15171         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
15172
15173 1999-05-18  Tor Lillqvist  <tml@iki.fi>
15174
15175         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
15176         gdkx.h to a gdk subdirectory, so that applications can include
15177         these with <gdk/*.h> without trouble.
15178
15179         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
15180         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
15181         have their bitmap destroyed.
15182
15183         * gdk/win32/gdk.def: Add gdk_root_parent.
15184
15185 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
15186
15187         * configure.in
15188           gtk-config.in
15189           ltconfig
15190           ltmain.sh     
15191           gtk/Makefile.am: changes to compile nicely (with xlib) 
15192           on BeOS
15193
15194 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
15195
15196         * acinclude.m4
15197         * config.guess
15198         * config.sub
15199         * ltconfig
15200         * ltmain.sh: upgrade to libtool 1.3
15201
15202 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
15203
15204         * gtk/gtkclist.c:
15205         * gtk/gtkctree.c: merges from gtk-1-2
15206
15207 1999-04-25  Tor Lillqvist  <tml@iki.fi>
15208
15209         Support added for building using a GNU toolchain on Win32,
15210         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
15211
15212         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
15213         * config.h.win32: Changes for gcc.
15214         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
15215         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
15216         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
15217         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
15218         Protect shl stuff unavaiilable with mingw32 headers.
15219         * gdk/win32/gdkevents.c: Fix typo.
15220         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
15221         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
15222         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
15223         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
15224         the mingw32 headers.
15225         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
15226         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
15227         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
15228         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
15229         Test for NATIVE_WIN32, not _MSC_VER.
15230         * gtk/gtkmain.c: No use warning about developer version on Win32,
15231         there aren't any non-developer versions anyhow.
15232         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
15233         * gtk/makefile.msc: Use pthread from another directory. Minor other
15234         changes. 
15235
15236 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
15237
15238         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
15239           default filter from the list
15240
15241 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
15242
15243         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
15244          when gtk_widget_grab_default() is called for a widget that
15245          is not within a GtkWindow.
15246
15247 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
15248
15249         * docs/gtk_tut.sgml, examples/clist.c: use a
15250           scrolled window in the clist example. Minor
15251           tutorial fixes.
15252
15253 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
15254
15255         * docs/gtk_tut.sgml: Style check from David King
15256           <dking@youvegotmail.net>
15257
15258 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
15259
15260         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
15261         compile with unknown value of GDK_WINDOWING
15262
15263 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
15264
15265         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
15266         after the rule is fired.
15267         (install-exec-local): Install gdkconfig.h only if the contents are
15268         different from the currently installed gdkconfig.h.
15269
15270 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
15271
15272         * gdk/Makefile.am (configexecincludedir): Rename from 
15273         configincludedir so that gdkconfig.h will be installed 
15274         as part of `make install-exec'. 
15275
15276 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
15277
15278         * acinclude.m4
15279         * config.guess
15280         * config.sub
15281         * ltconfig
15282         * ltmain.sh: upgrade to libtool 1.2f
15283
15284         * autogen.sh: libtool is not required to autogen gtk+
15285
15286         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
15287         needed)
15288
15289 1999-03-18  Tor Lillqvist  <tml@iki.fi>
15290
15291         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
15292         declaring gdk variables exported/imported from the DLL. New image
15293         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
15294         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
15295         GDK_DRAG_PROTO_OLE2.
15296
15297         * gdk/gdk.h: Merge in Win32 version: Two new functions,
15298         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
15299         declared only for the Win32 version, but could be in the X11
15300         version as well. (Needed for a Xlib-less gdk_imlib.)
15301         gdk_color_hash should have only one parameter. Declare
15302         gdk_threads_mutex with GDKVAR.
15303         
15304         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
15305         just one parameter.
15306
15307         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
15308         per pixel, not bits.
15309
15310         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
15311         Fetch bpp (which means bits-per-pixel here) from another place on
15312         Win32. Accept also depth==32 (which we might get on Win32) with
15313         bpp==32.
15314
15315         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
15316         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
15317         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
15318         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
15319         in the backend-dependent directory, not in the common gdk
15320         directory.
15321
15322         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
15323         headers.
15324
15325 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
15326
15327         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
15328         want to use the Gtk+ devel version (which is true, and yes - even i am
15329         currently working with the 1.2.x branch). so everyone reading this, you
15330         probably want to issue
15331         cvs checkout -r glib-1-2 glib
15332         and
15333         cvs checkout -r gtk-1-2 gtk+
15334         as your next two comands.
15335
15336 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
15337
15338         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
15339         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
15340
15341         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
15342         file. strongly deprecated the GTK_HAVE_* macros, we provide
15343         GTK_CHECK_VERSION() for people that need to check for certain
15344         Gtk+ versions.
15345
15346         * gtk/gtkcompat.h: removed this from CVS.
15347         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
15348         idea right from the start, it just didn't seem like that back then.
15349
15350 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
15351
15352         * merges from gtk-1-2:
15353
15354 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
15355
15356         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
15357         item factory class has been created.
15358         (gtk_item_factory_parse_rc): likewise.
15359
15360         * gtk/gtkmenu.c:
15361         keep proper references for old_active_menu_item.
15362         (gtk_menu_reparent): unset the usize of the new parent,
15363         so the menu can sanely be size requested and we don't get nasty screen
15364         artefacts upon next reparentation.
15365         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
15366         enter notify. only synthesize enter notifies if the pointer really is
15367         inside the event window.
15368         (gtk_menu_popdown): use gtk_menu_shell_deselect().
15369         (gtk_menu_popup): move the background setting stuff into
15370         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
15371
15372         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
15373         gtk_menu_shell_select_item() to select the new item.
15374         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
15375         do the right thing for deselection as well.
15376
15377 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
15378
15379         * gtk/gtkwidget.[hc]:
15380         (gtk_widget_accelerators_locked): return whether a widget's accelerators
15381         are locked.
15382
15383         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
15384         existing accelerators if the widget's accelerators are locked.
15385
15386 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
15387
15388         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
15389
15390         * gtk/gtkmenu.c: truely forward key press and key release events to
15391         the menu widget from the toplevel or tearoff window. we can't simply
15392         connect to that, we need to stop further processing of the events as
15393         well.
15394
15395 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
15396
15397         * gtk/gtkmenu.c:
15398         (gtk_menu_key_press): pass event->keyval, event->state to
15399         gtk_accelerator_valid, instead of event->keyval twice.
15400         refuse to install single letter accelerators for menus that use
15401         single letter shortcuts.
15402
15403         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
15404         gtk_menu_ensure_uline_accel_group().
15405
15406         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
15407         which will always return an uline accel group, made
15408         gtk_menu_get_uline_accel_group() return NULL if the group isn't
15409         yet created.
15410
15411 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
15412
15413         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
15414
15415         * gtk/gtkclist.c (gtk_clist_column_title_passive):
15416         Leave button sensitive, trap  button_press, button_release,
15417         motion_notify, enter_notify and leave_notify events instead.
15418         (gtk_clist_column_title_active): disconnect event handler.
15419         (gtk_clist_drag_data_get): fixed memory leak. Reported by
15420         Guillaume Laurent <glaurent@worldnet.fr>
15421
15422 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
15423
15424         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
15425         width/height mixups.
15426
15427         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
15428         if needed.
15429
15430 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
15431
15432         * gtk/testgtk.c (create_item_factory): unref the item factory after
15433         window's destruction.
15434
15435         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
15436         count on the menu shell around the menu item's activation, since the
15437         signal emission may cause menu shell destruction.
15438
15439         * gtk/gtkitemfactory.c:
15440         the previous code leaked one accel group per menu. we use
15441         gtk_menu_get_uline_accel_group() now to fix that, and with that
15442         also create the underline accelerator group of the menus only if
15443         required (i.e. an underline accelerator has been specified).
15444         (gtk_item_factory_construct):
15445         (gtk_item_factory_create_item): removed code that would create an
15446         extra accel group for the menu (and leak references).
15447         (gtk_item_factory_create_item): adapted the underline accelerator
15448         installation code to properly feature gtk_menu_get_uline_accel_group().
15449
15450         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
15451         menu->accel_group, this may return NULL if the accelerator group
15452         hasn't been set yet.
15453         added gtk_menu_get_uline_accel_group() to retrive the underline
15454         accelerator group of the menu, this will be created on demand
15455         and proper care is taken about its reference count.
15456
15457         * gtk/gtkitemfactory.h:
15458         * gtk/gtkitemfactory.c:
15459         dumped the approach of keeping a widgets by action list on the
15460         factory since the factory<->widget destroy negotiation didn't work
15461         and would be hard to get going at all. instead we keep a list of
15462         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
15463         persistant throughout a program's life time).
15464         also, i removed the static const gchar *key_* variables, and made
15465         them inline strings (they weren't actually used anyways).
15466         (gtk_item_factory_add_item): update ifactory->items.
15467         (gtk_item_factory_destroy): destroy ifactory->items (and remove
15468         the item factory pointer from the remaining ifactory widgets).
15469         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
15470         list to find the widget.
15471         (gtk_item_factory_get_item): new function that works around
15472         gtk_item_factory_get_widget() limitations, this function will only
15473         return menu items, even for <Branch> entries.
15474
15475 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
15476
15477         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
15478         font hash table, if we have a GdkFontPrivate entry for this font
15479         already, simply increment its reference count, provided by Olaf Dietsche
15480         <olaf.dietsche+list.gtk@netcologne.de>.
15481
15482         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
15483         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
15484
15485 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
15486
15487         * gtk/gtkcontainer.c:
15488         (gtk_container_add_with_args):
15489         (gtk_container_addv):
15490         (gtk_container_add): before adding a child to a conatiner, make sure
15491         it is (default) constructed, this is neccessary because under certain
15492         circumstances the child will get relized and mapped immediatedly, in
15493         which case it has to be constructed already.
15494
15495 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
15496
15497         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
15498         values > 1 as TRUE also.
15499
15500 1999-03-16  Tor Lillqvist  <tml@iki.fi>
15501
15502         * README.win32: New file.
15503                 
15504         * configure.in: Check for lstat.
15505
15506         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
15507         completeness.
15508
15509         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
15510
15511         * gtk/gtk.def: Removed CRs.
15512
15513         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
15514         ..\gdk\win32).
15515
15516         * gdk/win32/makefile.msc: Correct upwards relative paths.
15517         
15518 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
15519
15520         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
15521           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
15522           it was connecting a void function to expose_event and the int
15523           returning function to the draw signal
15524
15525 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
15526
15527         * configure.in:
15528         Use correct path to libgmodule.la when ref'ing uninstalled copy
15529         of glib.  (Already in stable branch, Bug #417)
15530
15531 1999-03-15  Tor Lillqvist  <tml@iki.fi>
15532
15533         Win32 merge and general portability stuff:
15534                 
15535         * acconfig.h,configure.in: Check for <sys/time.h>.
15536
15537         * gdk/win32: New directory (actually, been there for a while).
15538         
15539         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
15540         NATIVE_WIN32, and use these. Always case fold on Win32. No
15541         backslashed escapes on native Win32.
15542
15543         * gtk/{gtk.def,makefile.msc}: New files.
15544
15545         * gtk/Makefile.am: Add above new files.
15546         
15547         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
15548         instead of <strings.h>.
15549
15550         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
15551         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
15552         <unistd.h> appropriately.
15553
15554         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
15555         Use ABS() (from <glib.h>) instead of abs().
15556         
15557         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
15558         of gtk (and thus glib) headers, so that WIN32 will be
15559         defined. With MS C, include <direct.h> for mkdir prototype.
15560
15561         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
15562         some casts, needed by MS C.
15563
15564         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
15565         implemented).
15566
15567         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
15568         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
15569         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
15570
15571         * gtk/gtkmain.h: Mark variables for export/import on Win32.
15572                 
15573         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
15574         the event is not a hint, or its window is not the slider. Needed
15575         on Win32, at least.
15576
15577         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
15578         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
15579         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
15580         a subdirectory of the Windows directory as gtk system
15581         configuration directory.
15582
15583         * gtk/gtkselection.c: No chunks on Win32.
15584
15585         * gtk/gtksocket.c: Not implemented on Win32.
15586
15587         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
15588
15589         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
15590
15591         * gtk/maketypes.awk: Declare variables with a macro that expands to
15592         necessary export/import magic in the case of Win32.
15593                 
15594         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
15595
15596 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
15597
15598         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
15599         since those were meant only for gdki18n.h.  
15600         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
15601         for widechar tests.
15602         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
15603
15604 1999-03-13  Tor Lillqvist  <tml@iki.fi>
15605
15606         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
15607         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
15608
15609         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
15610         installed) to CFLAGS.
15611
15612         * gdk/Makefile.am: Add rules for gdkconfig.h.
15613
15614         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
15615         APIs.
15616
15617         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
15618         gdkx.h anyway when compiling for X11.
15619         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
15620         general): Merge in Win32 version.
15621         
15622         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
15623         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
15624         expansion (if we don't have HAVE_PWD_H), allow for drive
15625         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
15626         included code from Craig Setera's port to Win32 (the one that uses
15627         X11, and the cygwin dll), even if it probably will be abandoned.
15628
15629         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
15630         the user entered one herself.  This way one can complete *.h and
15631         don't get matches on any .help files, for instance.
15632         
15633 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
15634
15635         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
15636         font hash table, if we have a GdkFontPrivate entry for this font
15637         already, simply increment its reference count, provided by Olaf Dietsche
15638         <olaf.dietsche+list.gtk@netcologne.de>.
15639
15640         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
15641         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
15642
15643 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
15644
15645         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
15646         the number of calls to gdk_draw_point() (and thus to X) by
15647         clipping the points by hand.
15648
15649         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
15650         the clip parameter.
15651         (gtk_handle_box_paint): Only paint the handle if the expose area
15652         intersects it.
15653
15654 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
15655
15656         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
15657
15658 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
15659
15660         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
15661         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
15662
15663 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
15664
15665         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
15666          textmode (O_TEXT) for OS/2 version.
15667
15668 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
15669
15670         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
15671         GtkSpinButton, "input" and "output", to make the output more flexible.
15672         The user has to provide a mapping between adjustment->value and the
15673         output string (and vice versa, if the spin button is editable). 
15674         See testgtk for examples.
15675
15676 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
15677
15678         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
15679         new one.
15680         
15681         * configure.in: set gtk+ version to 1.3.0.