]> Pileus Git - ~andy/gtk/blob - ChangeLog
new function. (gtk_tree_view_move_column_after): Clean up interface.
[~andy/gtk] / ChangeLog
1 Sun Apr 29 20:13:40 2001  Jonathan Blandford  <jrb@redhat.com>
2
3         * gtk/gtktreeview.c (gtk_tree_view_get_columns): new function.
4         (gtk_tree_view_move_column_after): Clean up interface. 
5
6 Sun Apr 29 03:02:02 2001  Tim Janik  <timj@gtk.org>
7
8         * gtk/gtkpacker.h:
9         * gtk/gtkenums.h: moved GtkAnchorType and GtkSideType from gtkpacker.h
10          to gtkenum.h.
11
12         * gtk/gtkmain.c (gtk_main_do_event): silence compiler (GDK_SETTING not
13         handled in switch).
14
15         * gtk/Makefile.am:
16         (gtk.defs): generate enum portions with  glib-mkenums.
17         (gtktypebuiltins_evals.c): generate this with glib-mkenums.
18         got rid of makeenums.pl and makeenums.awk in distributed tarballs.
19         
20         * gtk/gtkaccelgroup.c (gtk_accel_group_add): refined havocs warning
21         addition.
22
23         * docs/Changes-2.0.txt: keep a note on signal handlers now
24         not getting emitted during the emission they were connected within.
25
26 2001-04-28  Havoc Pennington  <hp@pobox.com>
27
28         * gtk/gtkcolorsel.c (palette_new): fix bug in tooltip
29
30 2001-04-24  Havoc Pennington  <hp@redhat.com>
31
32         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_previous_line): 
33         (gtk_text_layout_move_iter_to_next_line): fix these two for
34         invisible text, lots of other stuff still hosed.
35
36         * gtk/gtkcolorsel.c (gtk_color_selection_set_change_palette_hook):
37         new function, replaces the get/set palette stuff. This function 
38         is intended for use by libgnomeui which should set the hook to a
39         thing which sets the palette in GConf, and we need the
40         GConf-to-xsettings proxy which will result in the change being
41         propagated back to the GTK app.
42
43         * gtk/gtkaccelgroup.c (gtk_accel_group_add): add note to warning 
44         about unusable signals that it may be because the signal has 
45         parameters.
46
47         * gtk/gtkwidget.c (gtk_widget_modify_style): always copy the
48         style, otherwise gtkrc.c won't know to create a new GtkStyle for
49         it.
50         (gtk_widget_modify_color_component): call
51         gtk_widget_modify_style() so the rc style will get copied.
52         (gtk_widget_modify_font): ditto
53
54         * gtk/gtkrc.c: make a couple variables static
55
56         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): hide
57         help button by default, since it does nothing
58
59         * gtk/gtkcolorsel.c: add tooltips, work on key navigation, fool
60         around with UI
61
62         * gtk/gtkentry.c (gtk_entry_realize): request enter/leave notify
63         so we can have tooltips
64
65         * gtk/gtkhsv.c (gtk_hsv_realize): request enter/leave notify so we
66         can have tooltips
67
68         * gdk/gdkimage.h: mark gdk_image_new_bitmap with
69         GDK_ENABLE_BROKEN, because its memory behavior is completely
70         hosed.
71
72         * gtk/gtknotebook.c: remove key press handler, replace with
73         binding set, add numeric keypad support
74
75         * gtk/gtktextview.c (gtk_text_view_class_init): accept KP_Delete
76
77         * gtk/gtktext.c (gtk_text_key_press): add a bunch of KP keysyms
78
79         * gtk/gtkentry.c (gtk_entry_class_init): accept GDK_KP_Delete in
80         addition to plain Delete
81
82         * gtk/gtktextview.c (gtk_text_view_key_press_event): accept
83         GDK_KP_Enter in addition to GDK_Return
84
85         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): connect to
86         activate on entry instead of key press
87         (gtk_font_selection_on_clist_key_press): get
88         rid of this signal handler, not needed with new font sel.
89
90         * gtk/gtkfilesel.c (gtk_file_selection_key_press): remove a
91         no-longer-needed emit_stop_by_name(), just return TRUE
92
93         * gtk/gtkhscrollbar.c, gtk/gtkvscrollbar.c: remove keybindings
94         cruft, this widget is no longer focusable.
95
96         * gtk/gtkrange.h, gtk/gtkrange.c, gtk/gtkvscale.c,
97         gtk/gtkhscale.c: Get rid of trough_keys virtual function, add
98         move_slider action signal, add binding set for vscale/hscale, in
99         the process support numeric keypad
100
101         * gtk/gtkentry.c (gtk_entry_class_init): Add keypad bindings; 
102         make GDK_Return and GDK_KP_Enter activate the entry via 
103         binding set, instead of hardcoded.
104
105 Fri Apr 27 20:27:21 2001  Jonathan Blandford  <jrb@redhat.com>
106
107         * gtk/gtktreeview.[hc]: Massive reorder/cleanup of a lot of the
108         code.  Some documentation added.
109
110 2001-04-27  Havoc Pennington  <hp@redhat.com>
111
112         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fix warning
113
114         * gtk/gtkmessagedialog.c (gtk_message_dialog_init): make messages selectable
115
116         * gtk/gtkentry.c (gtk_entry_real_insert_text): don't strip
117         line/para separators
118         (gtk_entry_create_layout): set single paragraph mode on the layout
119
120         * gtk/gtkbutton.c (gtk_button_new_from_stock): don't put much
121         spacing between the image and label; instead, inside a button box 
122         the button will get extra space that will go there, but if people 
123         configure button box for 0 chubbiness, then there's no spacing.
124
125         * gtk/gtkbbox.c (gtk_button_box_class_init): Make child ipadding
126         and min/max size style properties, so people can tune their
127         chubbiness.
128
129         * tests/testgtk.c (make_toolbar): remove calls to removed toolbar
130         functions
131
132         * gtk/gtktoolbar.c (gtk_toolbar_class_init): Make space_size,
133         space_style, and button_relief into style properties, remove
134         functions for setting them
135         
136         * gtk/gtkmenu.c (gtk_menu_key_press): handle menu bar accel to pop 
137         it back down
138
139         * gtk/gtkoptionmenu.c (gtk_option_menu_get_props): free boxed
140         types from gtk_widget_style_get
141
142         * gtk/gtkmenubar.c (gtk_menu_bar_set_shadow_type): Remove, replace
143         with a style property.
144
145         * gdk/x11/gdkevents-x11.c: namespace the settings
146
147         * gtk/gtkmenubar.c: Add F10 accelerator to move between menubars.
148
149         * gtk/gtksettings.c (gtk_settings_class_init): remove code with
150         side effects from inside g_assert(), so that G_DISABLE_ASSERT can
151         be used. Also, translate doc strings for settings. Also, namespace
152         the double-click-time property. Also, remove bell properties crap.
153
154 2001-04-27  Sven Neumann  <sven@gimp.org>
155
156         * Makefile.am: before creating links, check if pkg-config files
157         exist for the default target. Otherwise link to the pkg-config files
158         that got installed with this build.
159
160 Thu Apr 26 19:11:46 2001  Jonathan Blandford  <jrb@redhat.com>
161
162         * gtk/gtktreeview.c (gtk_tree_view_motion): clean up column
163         dragging code.  Revealed some (potential) GdkWindow bugs.
164
165         * gdk/x11/gdkwindow-x11.c (gdk_window_reparent): add
166         _gdk_window_init_position to the end of reparent to fix the case
167         of reparenting when new_x != old_x and new_y != old_y.
168
169 Thu Apr 26 10:54:50 2001  Owen Taylor  <otaylor@redhat.com>
170
171         * gtk/gtkentry.c (strstr_len): Fix optimization that
172         was correct for the use here, but completely incorrect
173         in general.
174
175 Thu Apr 26 10:40:41 2001  Owen Taylor  <otaylor@redhat.com>
176
177         * gtk/gtkwindow.h: Remove deprecation of gtk_window_set_default_size()
178         until patch adding gtk_window_set_size() is recommitted. 
179
180         * **Makefile.am configure.in gdk/x11/gdkim-11.c
181           gtk/gtkmain.c gtk/gtkimmulticontext.c gtk/gtkmain.c
182           gtk/gtkrc.c: Remove all traces of -DX_LOCALE support.
183           (#10784)
184
185 Wed Apr 25 12:16:36 2001  Owen Taylor  <otaylor@redhat.com>
186
187         * gdk/X11/gdkevents-x11.c (gdk_event_translate): Test for 
188         window == NULL in a number of cases.
189
190         * tests/testdnd.c: Set module path for gdk-pixbuf.
191
192 Thu Apr 19 16:11:07 2001  Owen Taylor  <otaylor@redhat.com>
193
194         * gtk/Makefile.am xembed.h: File containing #defines
195         for XEMBED protocol.
196
197         * gtk/gtkplug.[ch] gtk/gtksocket.[ch]: 
198
199         - Change protocol from old plug/socket specific protocol
200           to XEMBED draft
201         - Various fixes to work with GTK+-2.0
202
203         Still quite a bit of work to do here to handle initiation
204         from the socket side (as specified by XEMBED), to handle
205         the more advanced features of XEMBED, and to figure out
206         a good way to handle same-app embedding with less overhead
207         than using full XEMBED.
208
209 Wed Apr 18 16:04:28 2001  Owen Taylor  <otaylor@redhat.com>
210
211         * gtk/gtkwindow.[ch] (gtk_window_real_set_focus): Keep
212         track of whether the toplevel has the focus; only send
213         focus-in events to the focus widget when the window
214         actually has the focus.
215
216 2001-04-25  Havoc Pennington  <hp@pobox.com>
217
218         * gtk/gtkwindow.h: set_decorations_hint and set_functions_hint
219         were still in the header
220
221 2001-04-24  Alexander Larsson  <alexl@redhat.com>
222
223         * gtk/gtkclist.[ch]:
224         * gtk/gtkctree.c:
225         When there is a row highlighted for D'n'D it must alse
226         be painted hightlighted on exposes. Otherwise exposes from
227         the icon being dragged will mess up the hightlight.
228
229         * gtk/gtkfontsel.c:
230         Don't recenter selected font when exposing the font family
231         clist. This means you can now actually scroll the font family
232         list.
233
234         * gtk/gtknotebook.c:
235         Fix focus movement on scrolling tabs that are placed on the left
236         and right.
237
238 2001-04-21  Havoc Pennington  <hp@pobox.com>
239
240         * gtk/gtktextdisplay.c (gtk_text_layout_draw): handle 0-height
241         empty/invisible lines.
242
243         * gtk/gtktextiter.c (gtk_text_iter_set_visible_line_offset)
244         (gtk_text_iter_set_visible_line_index): new functions to set
245         indexes excluding invisible text
246
247         * gtk/gtktextlayout.c (line_display_iter_to_index): get visible 
248         index
249
250         * gtk/gtktextiter.c (gtk_text_iter_get_visible_line_index)
251         (gtk_text_iter_get_visible_line_offset): new functions to 
252         get indexes excluding invisible text
253
254         * gtk/gtkmessagedialog.c (gtk_message_dialog_init): strip out a
255         bunch of extra padding that served no purpose
256
257         * gtk/gtkdialog.c: Make all the spacings configurable via style
258         properties, for chubbiness configuration in themes
259
260         * tests/testtext.c: fix path to the immodules.
261         
262 Mon Apr 23 18:57:03 2001  Jonathan Blandford  <jrb@redhat.com>
263
264         * gtk/gtksocket.c (gtk_socket_filter_func): add missing '}' that
265         got munched by #endif.
266
267         * gtk/Makefile.am (gtk_plug_c_sources): add missing '\'
268
269         * gtk/gtktreeview.c: Refactored code to clean up a number of
270         events.
271
272         * gtk/gtktreemodel.c (gtk_tree_path_compare): Switched return
273         values to make consistent with other functions.  Spotted by Jeff
274         Franks <jcf@tpg.com.au>.
275
276         * gtk/gtktreeview.h (struct _GtkTreeViewClass): Fixes to signal
277         declaration spotted by Jeff Franks <jcf@tpg.com.au>.
278
279 2001-04-23  Sven Neumann  <sven@gimp.org>
280
281         * gtk/Makefile.am
282         * gtk/gtkplug.c
283         * gtk/gtksocket.c: on request of Owen, reverted my last change 
284         and exclude gtkplug.c/gtksocket.c from the build for non-X11 targets
285
286 2001-04-23  Sven Neumann  <sven@gimp.org>
287
288         * gtk/gtkplug.c: put into #ifdef GDK_WINDOWING_X11 to make GTK+
289         compile for non-X11 targets again
290
291 2001-04-20  Alexander Larsson  <alexl@redhat.com>
292
293         * gtk/gtkcolorsel.[ch]:
294         API Change. Take GdkColor arguments instead of gdouble *.
295         Leave the old gtk_color_selection_set_color for compatibility,
296         but marked deprecated.
297         Do correct rounding when converting RGB <-> HSV.
298         
299         * gtk/gtkcolorseldialog.c:
300         * tests/testgtk.c:
301         Use new GtkColorSelection API.
302
303         * gtk/gtkhsv.c:
304         Fix problem selecting colors in triangle when Hue is 330.
305         Fix some black dots around the HSB triangle.
306         
307         * gtk/gtkfilesel.c:
308         return FALSE from the focus_in_event handler to fix focus problems.
309
310 2001-04-18  Havoc Pennington  <hp@redhat.com>
311
312         * gtk/gtkwindow.c (gtk_window_class_init): add signals and binding
313         set, so keybindings are configurable    
314         (gtk_window_activate_default): Change to activate the focus widget
315         instead if there's a focus widget, to be consistent with the
316         behavior that previously existed in key_press_event
317
318 2001-04-18  Havoc Pennington  <hp@redhat.com>
319
320         * gdk/gdkkeyuni.c: Handle numeric keypad keysyms; bug #50201
321
322 2001-04-18  Havoc Pennington  <hp@redhat.com>
323
324         Close bug #50615:
325         
326         * gtk/gtkstyle.c (gtk_default_draw_layout): Use text_gc to draw
327         the layout
328
329         * gtk/gtktext.c: Use base/text instead of bg/fg throughout
330
331         * gtk/gtkentry.c: Use base/text instead of bg/fg throughout
332
333         * gtk/gtktextdisplay.c: Use base/text instead of bg/fg throughout
334         
335         * gtk/gtkstyle.c (gtk_style_init): make GTK_STATE_SELECTED default
336         to blue for base, in addition to bg
337         
338 2001-04-18  Havoc Pennington  <hp@redhat.com>
339
340         * tests/testgtk.c (create_image): allow shrinking the image window
341         to test that we clip to allocation.
342
343         * gtk/gtkimage.c (gtk_image_expose): clip to allocation,
344         #9845
345
346         * gtk/gtkenums.h: move GtkWrapMode in here, #50472
347
348 Wed Apr 18 14:23:14 2001  Owen Taylor  <otaylor@redhat.com>
349
350         * gdk/x11/gdkimage-x11.c (gdk_image_new): Try changing
351         mode on shm segments to 0600. We'll see who complains.
352
353         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Call
354         _gdk_windowing_window_destroy() AFTER recursing through
355         children.
356
357         * tests/Makefile.am (noinst_PROGRAMS): Build testsocket,
358         testsocket_child on X.
359
360         * tests/testsocket[_child].c: Fix uses of
361         gtk_window_get_default_accel_group().
362
363         [ Merge patch from Ramiro Estrugo  <ramiro@eazel.com> from gtk-1-2 ]
364
365         * gdk/gdkimage.c: (gdk_image_get):
366         Deal with the possibility that XGetImage() might return NULL.
367         Allocate the GdkImagePrivate structure only after XGetImage()
368         succeeds in order not to dereference a NULL ximage pointer.  This
369         prevents a core dump when XGetImage() fails - which is unlikely,
370         but can happen due to race conditions accessing the geometries of
371         drawables.  An x error will still be triggered, but the gdk image
372         wrapper at least wont seg fault.
373         
374 2001-04-18  Havoc Pennington  <hp@redhat.com>
375
376         * gtk/gtkimage.c: fix to properly queue resizes when the image is
377         set
378
379         * gtk/gtktextview.c (gtk_text_view_do_popup): desensitize Paste
380         if the insertion point isn't editable
381
382         * demos/gtk-demo/images.c: Added a GtkImage demo
383
384         * demos/gtk-demo/drawingarea.c: drawing area demo
385         
386         * demos/gtk-demo/menus.c (create_menu): cleanups
387
388 Wed Apr 18 12:15:52 2001  Owen Taylor  <otaylor@redhat.com>
389
390         * gdk/x11/gdkwindow-x11.c gdk/x11/gdkwindow-x11.h 
391           gdk/x11/gdkevents-x11.c: Introduce an extra child
392         of toplevel windows that serves to hold the focus to
393         avoid events being delivered to embedded windows.
394
395         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Introduce
396         some extra variables to clean up code and reduce the
397         number of casts.
398
399         * gdk/x11/gdkwindow-x11.h (struct _GdkXPositionInfo): Use
400         guint for 1 bit bit fields, not gboolean.
401
402 Wed Apr 18 10:04:23 2001  Owen Taylor  <otaylor@redhat.com>
403
404         * gtk/gtktooltips.c (gtk_tooltips_paint_window): Return FALSE,
405         not TRUE. (Fixes #52925)
406
407 Tue Apr 17 18:05:34 2001  Owen Taylor  <otaylor@redhat.com>
408
409         * Released 1.3.4
410
411         * NEWS: Updated
412
413         * gtk/gtktextview.c (gtk_text_view_class_init): Fix to not
414         use GTK_TYPE_ENUM.
415
416 Tue Apr 17 13:47:12 2001  Owen Taylor  <otaylor@redhat.com>
417
418         * configure.in: Don't put -lgthread in GLIB_LIBS, GLIB_DEPLIBS
419
420         * gtk/gtktypeutils.h gtk/gtksignals.h: Restore proper parameter
421         names to compatibility #defines so docs work.
422
423         * gtk/gtkenums.h: Remove GtkMenuFactoryType
424
425         * gtk/gtkwindow.c gtk/gtkdnd.c: Docs cleanups.
426
427         * configure.in: Don't include -lgthread in GLIB_LIBS, GLIB_DEPLIBS
428
429         * tests/testgtkrc: No magenta cursors, please.
430
431         * README.in INSTALL.in HACKING README.cvs-commits: Updated.
432
433         * gtk/gtkenums.h (enum): Remove left over GtkMenuFactoryType.
434         
435 Mon Apr 16 14:38:41 2001  Owen Taylor  <otaylor@redhat.com>
436
437         * gtk/gtklist.c gtk/gtklistitem.c: Remove explicit pointer
438         grabs, since they are no longer necessary.
439
440         * gtk/gtkcombo.c (gtk_combo_popup_button_press): Fix #52926
441         by signal_connect() and call gtk_button_pressed() rather
442         than signal_connect_after().
443
444         * tests/testgtk.c: Restore radio menu items to combos 
445         since they'll look OK with Raleigh, and it is easier
446         than finishing the process of removing them that was
447         started earlier.
448
449 2001-04-16  Hans Breuer  <hans@breuer.org>
450
451         * gdk/gdk.def :
452         * gtk/gtk.def : added all exports required to link PyGtk 0.7.1
453
454         * gdk/gdkfont.h : #define GDK_TYPE gdk_font_get_type ()
455         we are interested in the functions return value not the function address
456         * gdk/gdkvisual.h : same for GDK_TYPE_VISUAL
457
458         * gtk/makefile.msc.in : reflect movement of GDK_TYPEs from gtk to gdk
459
460 2001-04-14  Hans Breuer  <hans@breuer.org>
461
462         * gdk/gdk.def :
463         * gdk/makefile.msc : updated
464
465         * gdk/win32/gdkdrawable.win32 (gdk_win32_draw_rectangle) : if modus is 
466         "fill with tile" do so with new helper function gdk_win32_draw_tiles 
467         (the testgtk::text backgound pixmap is drawn again)
468         Changed SetTextAlign before pango_win32_render to TA_BASELINE to reflect 
469         Win32 Pango change
470         * gdk/win32/gdkprivate-win32.h : prototype for gdk_win32_draw_tiles
471
472         * gdk/win32/gdkproperty-win32.c : first implementation of gdk_setting_get
473         Not sure if the returned settings have the right unit, because I couldn't
474         find any docs for the X version ...
475
476         * gtk/gtk.def :
477         * gtk/makefile.msc.in : updated
478
479 Thu Apr 12 17:41:17 2001  Owen Taylor  <otaylor@redhat.com>
480
481         * gtk-2.0.m4: Fix up to refer to GTK+, not to GLib; fix some
482         wording problems. (Compared to version from Johannes Stezenbach to
483         check correctness.)
484
485 Thu Apr 12 21:04:26 2001  Tim Janik  <timj@gtk.org>
486
487         * gtk/gtktreeview.c (_gtk_tree_view_column_start_drag): get
488         this to compile.
489
490 2001-04-12  Anders Carlsson  <andersca@codefactory.se>
491
492         * gtk/gtkcellrenderertextpixbuf.c (gtk_cell_renderer_text_pixbuf_class_init): It's pixbuf_pos,
493         not pixbufpos.
494
495         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): Fix small typo.
496
497         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property): xpad and ypad
498         are unsigned insts, therefore use g_value_set_uint.
499         (gtk_cell_renderer_set_property): Likewise, use g_value_get_uint.
500
501 Sun Apr  8 05:36:06 2001  Jonathan Blandford  <jrb@webwynk.net>
502
503         * gtk/gtktextview.c (gtk_text_view_class_init): fix a fixme.
504
505         * gtk/gtkcellrendertoggle.c: change GTK_TYPE_POINTER to
506         GTK_TYPE_STRING.
507
508         * gtk/gtktreeview.c: New functions to allow initial column
509         dragging work.
510
511         * gtk/gtktreeviewcolumn.c: Initial column dragging support.
512
513         * tests/testtreefocus.c: give dave some love.
514
515         * tests/testtreesort.c: Modify test to check really long samples.
516
517 2001-04-11  Alexander Larsson  <alexl@redhat.com>
518
519         * gtk-2.0.m4: Pass pkg-config options
520         before the other args so it works even if
521         POSIXLY_CORRECT is set.
522
523 Mon Apr  9 19:02:07 2001  Tim Janik  <timj@gtk.org>
524
525         * configure.in (GTK_MICRO_VERSION): increment version to 1.3.4 (binary
526         0, interface 0).
527
528 2001-04-04  Denis Oliver Kropp  <dok@convergence.de>
529
530         * gtk/gtkcalendar.c (gtk_calendar_button_press):
531         check for action_func != NULL
532
533 2001-04-04  Sven Neumann  <sven@gimp.org>
534
535         * tests/testgtk.c (test_init): corrected path to gtk.immodules
536
537 Wed Apr  4 09:18:18 2001  Tim Janik  <timj@gtk.org>
538
539         * Released Gtk+-1.3.3.
540
541 Wed Apr  4 07:42:23 2001  Tim Janik  <timj@gtk.org>
542
543         * gdk/Makefile.am (EXTRA_DIST): add makeenums.pl to EXTRA_DIST.
544
545 Wed Apr  4 04:13:18 2001  Tim Janik  <timj@gtk.org>
546
547         * gtk/stock-icons/Makefile.am: stay in builddir and read/write
548         files to/from source dir. (if we don't stay in builddir, we
549         can't reach make-inline-pixbuf.
550
551         * gdk/Makefile.am (gdkenumtypes.c): add $(srcdir) to mekeenums.pl
552         deps.
553
554         * configure.in (GTK_MICRO_VERSION): up and away (1.3.3 bin/interface
555         ages 0).
556
557 Tue Apr  3 15:04:45 2001  Jonathan Blandford  <jrb@redhat.com>
558
559         * gtk/gtktreemodelsort.h:  removed set_sort_column, as it was
560         moved to the GtkTreeSortable interface.
561
562         * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
563         Make more efficient (fixes #50262).
564
565 Tue Apr  3 13:55:37 2001  Owen Taylor  <otaylor@redhat.com>
566
567         * NEWS: Updated.
568
569         * configure.in: Remove support for uninstalled glib.
570
571         * gtk/gtkdnd.c (gtk_drag_highlight_expose): Return FALSE as
572         so as not to stop emission.
573
574         * gtk-config-2.0.in: Exit with an error message that gtk-config-2.0
575         is no longer supported.
576
577         * Makefile.am gtk/Makefile.am tests/*: Moved all tests
578         into tests, change build order to build modules before
579         gtk/.
580
581         * modules/input/Makefile.am: Move gtk-query-immodules-2.0 invocation
582         to here.
583
584 Tue Apr  3 13:52:57 2001  Tim Janik  <timj@gtk.org>
585
586         * gtk/gtkitemfactory.[hc]: changed gtk_item_factory_dump_items()
587         and gtk_item_factory_dump_rc() GtkPatternSpec argument to
588         GPatternSpec. this is actually unlikely to cause breakage in
589         third-party apps since except for gle, pretty much ever caller
590         passes NULL here.
591
592         * gtk/gtkbindings.[hc]: removed gtk_pattern_*() API.
593
594         * *.c: use g_pattern_*() API.
595
596         * docs/Changes-2.0.txt: GtkPatternSpec->GPatternSpec updates.
597
598         * gtk/gtkstyle.c (gtk_default_draw_resize_grip): assert unhandled
599         directions aren't passed in.
600
601         * gtk/gtksettings.[hc] (_gtk_settings_parse_convert): export conversion
602         functionality to be usable from gtkstyle.c as well, give precedence
603         for conversion to user-supplied parsers.
604         s/_gtk_rc_property_parser_for_type/_gtk_rc_property_parser_from_type/;
605
606         * gtk/gtkstyle.c (_gtk_style_peek_property_value): use
607         _gtk_settings_parse_convert() for rcporperty value conversion.
608
609 2001-04-03  Alexander Larsson  <alexl@redhat.com>
610
611         * gdk/linux-fb/gdkevents-fb.c:
612         Add empty gdk_setting_get().
613
614 Tue Apr  3 05:09:07 2001  Tim Janik  <timj@gtk.org>
615
616         * gtk/gtkmain.c (_gtk_boolean_handled_accumulator): use more elaborate
617         variable names.
618         
619         * gtk/makeenums.pl: touch this so enum files get remade.
620
621 Mon Apr  2 19:36:57 2001  Jonathan Blandford  <jrb@redhat.com>
622
623         * gtk/gtktreestore.c (gtk_tree_store_init):  Bug fix to make trees
624         work again when not sorted.
625
626         * gtk/gtktreeview.c (gtk_tree_view_class_init): Add "collapse_row"
627         and "expand_row" signal, closing bug 52578.
628
629         * gtk/gtktreeview.c (gtk_tree_view_expand_row): Add signal
630         support.
631
632         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): Add signal
633         support.
634
635 Mon Apr  2 18:18:07 2001  Owen Taylor  <otaylor@redhat.com>
636
637         * gdk/gdkevents.h: Add GdkEventSetting event for notification
638         of changes to system settings, gdk_setting_get() to retrieve
639         a single system setting.
640
641         * gdk/x11/gdkevents-x11.c: Bridge gdk_setting_get() and GdkEventSetting
642         to the draft XSETTINGS mechanism.
643
644         * gdk/x11/xsettings-{common,client}.[ch]: Sample-implementation of
645         XSETTINGS.
646
647         * gtk/gtkmain.c gtk/gtksettings.[ch]: Propagate notification
648         of GDK settings changes to the GtkSettings object.
649
650         * gdk/gdkevents.[ch] gdk/gtk/gtksettings.c: Hook up the
651         double-click-timeout property to GDK.
652
653         * gdk/gdkcolor.[ch] gdk/gdkvisual.h gdk/gdkevent.[ch] gdk/gdkfont.[ch]:
654         Define GDK boxed types here.
655
656         * gdk/Makefile.am gdk/makeenums.pl: Generate source files
657         gdk/gdkenumtypes.[ch] for enum definitions.
658
659         * gtk/gtkcompat.h: Add defines for GTK_TYPE_GDK_*
660         * gtk/gtk-boxed.defs: Comment out GDK types
661         * gtk/gtktypeutils.h: Remove GDK types
662         * gtk/Makefile.am: No longer scan GDK headers for enumerataions
663
664 Mon Apr  2 16:41:08 2001  Owen Taylor  <otaylor@redhat.com>
665
666         * Applied patch from Ron Steinke to add signal accumulators
667         so that signals with the convention 'TRUE return means
668         handled' stop emission on a TRUE return.
669
670         * gtk/gtkmain.[ch]: Add private accumulator 
671         _gtk_boolean_handled_accumulator, used throughout GTK+.
672         
673         * gtk/gtkspinbutton.c: Add accumulator for ::output.
674
675         * gtk/gtktipsquery.c: Add accumulator for ::widget_selected
676         
677         * gtk/gtkwidget.c: Add accumulators for event signals,
678         ::drag_motion, ::drag_drop. Use _gtk_boolean_handled_accumator
679         for ::mnemonic-activate.
680
681         * gtk/gtkwindow.c: Add accumulator for ::frame_event
682
683 Mon Apr  2 16:24:21 2001  Owen Taylor  <otaylor@redhat.com>
684
685         * gtk/gtkwidget.c: Add missing include.
686
687 Mon Apr  2 16:56:15 2001  Jonathan Blandford  <jrb@redhat.com>
688
689         * gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new
690         marshaller.
691
692         * gtk/gtktreemodel.c (gtk_tree_model_range_changed): change
693         "changed" signal to "range_changed".
694
695         * gtk/gtktreeview.c (gtk_tree_view_set_model): fix small bug where
696         removing a tree from one model would remove all trees from that
697         model.
698         * gtk/gtktreeview.c (gtk_tree_view_range_changed): use range
699         changed signal instead.
700
701 Mon Apr  2 16:13:58 2001  Owen Taylor  <otaylor@redhat.com>
702
703         * gtk/gtkinvisible.c (gtk_invisible_style_set): Avoid
704         chaining up to parent impl, since we have a INPUT_ONLY
705         window.
706
707         * gtk/gtkentry.[ch]: Add a cursor_color property to set the
708         foreground color for the cursor.
709
710 Mon Apr  2 15:06:13 2001  Owen Taylor  <otaylor@redhat.com>
711
712         * gtk/gtkstyle.c (_gtk_style_peek_property_value): Reference 
713         param spec when caching property values, since we unref it
714         later when we free the style.
715
716         * gtk/gtkoptionmenu.c (gtk_option_menu_get_props): Dont' free
717         values since they are retrieved with G_VALUE_NO_COPY_CONTENTS.
718
719 Mon Apr  2 10:47:57 2001  Owen Taylor  <otaylor@redhat.com>
720
721         * gtk/gtkwidget.c (gtk_widget_class_init): Fix 
722         G_VALUE_NO_COPY_CONTENTS instead of G_SIGNAL_TYPE_STATIC_SCOPE
723         stupidity.
724
725 Mon Apr  2 00:51:11 2001  Owen Taylor  <otaylor@redhat.com>
726
727         [ First pass at adding style properties. Still needs some definite
728         fine-tuning. ]
729
730         * gtk/gtkbutton.c: Add ::default_spacing style property.
731          
732         * gtk/gtkcheckbutton.[ch] gtkradiobutton.c: Add ::indicator_size,
733         ::indicator_spacing style properties.
734
735         * gtk/gtkoptionmenu.c: Add ::indicator_size, ::indicator_spacing
736         style properties.
737
738         * gtk/gtk{,h,v}paned.[ch]: Make handle_size a style property
739         rather than a normal property.
740
741         * gtk/gtkwidget.c: Add an ::interior_focus style property to
742         draw focus inside buttons, in the Windows/Java Metal/etc. style.
743
744         * gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtktogglenbutton.c:
745         Honor ::interior_focus.
746         
747         * gtk/gtkentry.c: Don't draw focus at all when ::interior_focus is 
748         TRUE.
749
750         * gtk/gtkrange.[ch] gtk/gtk{h,v}scrollbar.c gtk/gtk{h,v}scale.c:
751         Add ::slider_width, ::trough_border, ::stepper_size,
752         ::stepper_spacing style properties.
753
754         * gtk/gtkscale.[ch] Add ::slider-length style property.
755
756 2001-04-02 Alexander Larsson   <alexl@redhat.com>
757
758         * gdk/linux-fb/gdkwindow-fb.c:
759         Add gdk_window_begin_resize_drag and gdk_window_begin_move_drag. Remove some
760         warnings that were spewed on startup.
761
762         * gtk/gtkwindow-decorate.c:
763         gtk_window_reposition -> _gtk_window_reposition
764
765 Sun Apr  1 21:37:22 2001  Owen Taylor  <otaylor@redhat.com>
766
767         * gtk/gtkwidget.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
768         Add boxed type for GtkRequistion. Use it for ::size-request.
769
770         * gtk/gtkstyle.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
771         Add a new GtkBorder structure useful for geometry properties
772         for widgets. Add corresponding GTK_TYPE_BORDER.
773         
774         * gtk/gtkwidget.c (gtk_widget_class_install_style_property):
775         Support automatic parser selection like
776         gtk_settings_install_property_parser().
777
778         * gtk/gtksettings.c (_gtk_rc_property_select_parser): Export
779         functionality for use by gtk_widget_class_install_style_property.
780         Support GTK_TYPE_BORDER, GTK_TYPE_REQUISITION.
781
782 Sun Apr  1 20:48:59 2001  Owen Taylor  <otaylor@redhat.com>
783
784         * gtk/gtkentry.c (gtk_entry_class_init): Make invisible-char
785         g_param_spec_unichar(). 
786
787 Sun Apr  1 23:41:37 2001  Tim Janik  <timj@gtk.org>
788
789         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): raise window for non
790         _NET window managers.
791
792         * gtk/gtkmenufactory.[hc]: cvs removed those files now.
793
794 Sun Apr  1 08:00:13 2001  Tim Janik  <timj@gtk.org>
795
796         * gtk/gtkwidget.[hc]: got rid of gtk_widget_popup(), a function that
797         bad needs to be nuked, not just deprecated.
798
799         * gtk/gtktooltips.c (gtk_tooltips_draw_tips): don't use 
800         gtk_widget_popup().
801
802         * gtk/*.[hc]: s/activate_mnemonic/mnemonic_activate/g;
803         
804         * gtk/gtkmenufactory.[hc]: removed this long-standingly deprecated
805         widget.
806         
807         * docs/Changes-2.0.txt: updates.
808         
809 Sun Apr  1 01:02:54 2001  Jonathan Blandford  <jrb@redhat.com>
810
811         * gtk/gtktreestore.c (gtk_tree_store_sort_iter_changed):
812         for (i = 0; i < 100; i ++)
813           g_print ("I will confirm it compile before committing\n");
814
815 Sun Apr  1 00:52:06 2001  Jonathan Blandford  <jrb@redhat.com>
816
817         * gtk/gtktreestore.c: Initial work on implementing the
818         GtkTreeSortable interface.  Basicaly a big cut'n'paste job.
819
820 Sun Apr  1 03:28:14 2001  Tim Janik  <timj@gtk.org>
821
822         * gtk/gtkwidget.c: fixed a bunch of notifications, added
823         reference counts around emissions where the widget is used afterwards.
824         added freeze/thaws around multiple properties being notified.
825         (_gtk_widget_get_aux_info): cleanups.
826         
827         * gtk/gtksettings.c (gtk_settings_install_property): provide
828         default parsing functions for gdkcolor, enums and flags.
829
830         * gtk/gtkwindow.[hc]: partially reverted patch from havoc,
831         applied by owen.
832         backed out gtk_window_get_location(), gtk_window_set_location(),
833         gtk_window_get_size() and gtk_window_set_size(), these
834         have to be sorted out wrg x/y/width/height/default_with/default_height
835         properties.
836         kept a flag in GtkWindowGeometryInfo to handle user
837         resetting default sizes.
838         cleaned up ZVT comments.
839         bunch of assorted bug fixes, notification fixes.
840         (_gtk_window_reposition): make this a really internal function.
841         
842         * gtk/testgtk.c: fixups.
843         
844 2001-03-31  Hans Breuer  <hans@breuer.org>
845
846         * config.h.win32.in : disable USE_MMX for msvc build cause
847         the assembler doesn't fit and is out of my scope. Disable
848         USE_GMODULE for msvc build as wel. The right way to share
849         binaries on win32 would be to use libtiff.dll etc. To reduce
850         installation hassles IMO it's better to include all fileformats
851         builtin to gdk-pixbuf
852
853         * gdk-pixbuf/makefile.msc : new file
854
855         * gdk/gdk.def : updated
856
857         * gdk/win32/gdkevents-win32.c : don't erase the background if
858         .no_bg is set. It improves the scrolling (e.g. of testgtk main
859         buttons
860         * gdk/win32/gdkgeometry-win32.c : added comment about the above
861
862         * gdk/win32/gdkwindow-win32.c : added three new functions like
863         the X version. Only one is implemented, because the other two
864         "gdk_window_begin_(resize|move)_drag" got no docs and appear to
865         be default behaviour on win32 anyway ...
866
867         * gtk/gtk.def : updated
868
869         * gtk/makefile.msc.in : update for new files, use glib-genmarshal
870         from where it was built and add an additional rule to automagically
871         build gtkmarshal.[hc]
872
873         * gtk/gtkfilesel.c (open_new_dir) : don't increase n_entries
874         before array access for the current entry isn't finished
875
876         * gtk/gtktreeitem.c (gtk_tree_item_subtree_button_click) :
877         use g_return_val_if_fail
878
879         * gtk/testgtk.c (window_controls) : don't use the *wrong* size
880         for the static array, but let the compiler calculate it. It
881         makes me wonder if gcc isn't capable to catch bugs like this ...
882
883 2001-03-31  James Henstridge  <james@daa.com.au>
884
885         * gtk/gtkwidget.c (gtk_widget_size_adjust): fix use of magic
886         constant "-1" in the aux info structure.
887
888 2001-03-30  Alexander Larsson  <alexl@redhat.com>
889
890         * gtk/gtkbutton.c (gtk_button_get_property):
891         * gtk/gtklabel.c:
892         Remove leaks.
893         
894         * gtk/gtkcontainer.c:
895         * gtk/gtkhscale.c:
896         * gtk/gtkhscrollbar.c:
897         * gtk/gtklayout.c:
898         * gtk/gtkmisc.c:
899         * gtk/gtkprogress.c:
900         * gtk/gtkprogressbar.c:
901         * gtk/gtkrange.c:
902         * gtk/gtktable.c:
903         * gtk/gtkviewport.c:
904         * gtk/gtkvscale.c:
905         * gtk/gtkvscrollbar.c:
906         * gtk/gtkwidget.c:
907         Property patches, based on patches from John Margaglione and Lee Mallabone.
908
909 Thu Mar 29 21:20:38 2001  Mike Kestner  <mkestner@ameritech.net>
910
911         * gtk/gtkspinbutton.c : added value_changed signal which proxies for the
912         adjustment. Cleaned redundant preconditions (spin != NULL). Added
913         inline API function docs.
914         (gtk_spin_button_new_with_range): New convenience constructor.
915         (gtk_spin_button_set_increments): New adjustment helper.
916         (gtk_spin_button_set_range): New adjustment helper.
917
918         * gtk/testgtk.c : added test of the new convenince constructor and
919         value_changed signals.
920
921 Thu Mar 29 20:20:38 2001  Jonathan Blandford  <jrb@redhat.com>
922
923         * gtk/gtktreemodel.c (gtk_tree_row_ref_reordered_callback): Now we
924         listen to the reorder signal.
925
926 Wed Mar 28 20:30:26 2001  Owen Taylor  <otaylor@redhat.com>
927
928         * gtk/gtkwidget.[ch] (_gtk_widget_get_aux_info): Add private function
929         to get the aux info structure fo the widget.
930
931         * gtk/gtklabel.c gtk/gtkscrolledwindow.c gtk/gtkwindow.c: Use
932         above function.
933
934         [ Patch from  Havoc Pennington  <hp@redhat.com> ]
935
936         * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): function
937         to get the size of the window manager frame, basically the same
938         code that gdk_window_get_root_origin() had
939         (gdk_window_get_root_origin): use gdk_window_get_frame_extents()
940
941         * gtk/gtkwindow.c (gtk_window_set_default_size): use
942         gdk_window_resize() if the window is realized and resizeable
943
944         * gdk/x11/gdkwindow-x11.c (gdk_window_set_geometry_hints): fix
945         typo so that setting gravity works
946
947         * gtk/gtkwindow.c (gtk_window_move_resize): don't ever use
948         allocation if auto_shrink is on, even if the default size
949         has not changed.
950
951         * gtk/gtkwidget.c (gtk_widget_render_icon): remove bogus
952         g_return_if_fail
953
954 Thu Mar 29 16:29:12 2001  Jonathan Blandford  <jrb@redhat.com>
955
956         * gtk/gtkliststore.c (gtk_list_store_iter_changed): Massive
957         reordering/sorting work.  Now pretty much works.
958
959         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): Lots of work to make
960         reorder mostly work.  Still need to get the parity correct.
961
962         * gtk/gtktreeviewcolumn.c: Listen for "model" property changed
963         signal, so I can listen for the sort_column_changed signal so I
964         can change my "sort_indicator" property.  Cool.
965
966 Wed Mar 28 00:03:10 2001  Owen Taylor  <otaylor@redhat.com>
967
968         [ Patch from Havoc Pennington, hp@redhat.com ]
969
970         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c:
971         Add functions gdk_window_begin_resize_drag/begin_move_drag
972         to start resizing or moving a toplevel window. This
973         is done either using the _NET_WM_MOVERESIZE protocol,
974         or, if that isn't present, by emulation.
975
976         * gtk/gtkwindow.[ch]: Add functions gtk_begin_move/resize_drag
977         to export the above to GTK+-land.
978
979         * gtk/gtkstyle.[ch]: Add ->draw_resize_grip() paint func.
980         
981         * gtk/gtkwindow.c gdk/gdkwindow.[ch] (gdk_window_constrain_size):
982         Move this function into gdkwindow, since we need it
983         when implementing fallback resizing.
984
985         * gdk/x11/gdkwindow-x11.c: gdk_window_set_geometry_hints.
986         Fix typo when setting gravity.
987
988         * gtk/gtkstatusbar.[ch] (gtk_statusbar_set_has_resize_grip):
989         Add an optional (but on by default) resize grip for resizing 
990         the parent window.
991
992 01-03-29  Alexander Larsson  <alexl@redhat.com>
993
994         * gtk/gtktooltips.c (gtk_tooltips_event_handler):
995         Don't return TRUE from the event handler, that blocks all
996         event signals on the tooltip widget. Now you can press buttons
997         in toolbars again.
998
999 Wed Mar 28 19:20:43 2001  Owen Taylor  <otaylor@redhat.com>
1000
1001         * gtk/testtext.c (create_buffer): Add missing NULL on
1002         valist.
1003
1004         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Fix
1005         c-n-p problem with INCONSISTENT property.
1006
1007         [ Patch from Havoc Pennington  <hp@redhat.com> ]
1008
1009         * gtk/gtkentry.h (struct _GtkEntryClass): add same populate_popup
1010         hook.
1011
1012         * gtk/gtktextview.h (struct _GtkTextViewClass): add populate_popup
1013         signal as a hook for extending the default popup menu
1014
1015         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
1016         use radio menu items for the input method menuitems
1017
1018         * gtk/gtkimcontextsimple.c (check_hex): do better validation of 
1019         inserted unicode from Ctrl-Shift-hex input method
1020
1021         * gtk/gtktextbtree.c (_gtk_text_btree_insert): remove utf8
1022         validatation here, already done at GtkTextBuffer level.
1023
1024         * gtk/gtkwidget.c (gtk_widget_class_init): add binding set, add
1025         popup_menu run action signal and Shift+F10 and Menu keybindings.
1026
1027         * gtk/gtkentry.c: implement a default handler for popup_menu
1028
1029         * gtk/gtktextview.c: implement a default handler for popup_menu
1030
1031         * gtk/gtkmenu.c (gtk_menu_popup): select first item if popup is
1032         from a key event
1033         
1034         * gtk/gtklabel.c: remove "trailer" cruft
1035
1036 Wed Mar 28 17:27:12 2001  Jonathan Blandford  <jrb@redhat.com>
1037
1038         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): new function to
1039         handle reordering of trees.  Seems to mostly work w/ the exception
1040         of the parity flag.
1041
1042         * gtk/gtktreeview.c (gtk_tree_view_reordered): handle "reordered"
1043         signal.
1044
1045 Wed Mar 28 21:12:37 2001  Tim Janik  <timj@gtk.org>
1046
1047         * gtk/gtkwidget.h: c++ fixes.
1048
1049 Sun Mar 25 15:51:28 2001  Owen Taylor  <otaylor@redhat.com>
1050
1051         * gtk/gtksettings.c (gtk_settings_init): Fix use of uninitialized
1052         memory.
1053
1054 Tue Mar 27 22:36:07 2001  Owen Taylor  <otaylor@redhat.com>
1055
1056         * gtk/gtkwidget.h gtk/gtkrange.h: Apply patch from 
1057         Nils Barth fixing event return values. (#51041)
1058
1059         * gtk/gtkwidget.c: Fix some return values for default
1060         functions.
1061
1062         * gtk/gtk[vh]scrollbar.c gtk/gtk[vh]range.c: Fix
1063         return values for trough_keys functions.
1064
1065         * gtk/gtkwidget.h (struct _GtkWidgetClass): Fix return
1066         value for add_accelerator (shoudl have been a void
1067         return.)
1068
1069         * gtk/gtkcellrenderer.[ch]: gtkcellrenderertoggle.h:
1070         Fix return type of EVENT.
1071
1072         * gtk/gtkmarshal.list gtk/gtktexttag.c: Make EVENT
1073         signal return a boolean.
1074
1075 Tue Mar 27 22:07:44 2001  Jonathan Blandford  <jrb@redhat.com>
1076
1077         * gtk/gtkliststore.c (gtk_list_store_sort): Fix arguments to
1078         reordered signal.
1079
1080         * tests/testtreesort.c (main): fix spelling.
1081
1082 Tue Mar 27 20:55:29 2001  Jonathan Blandford  <jrb@redhat.com>
1083
1084         * gtk/gtkliststore.c: More work on implementing sortable
1085         interface.
1086
1087 Mon Mar 26 15:48:45 2001  Owen Taylor  <otaylor@redhat.com>
1088
1089         * gtk/gtkwindow.c (gtk_window_list_toplevels): Don't
1090         reference the widgets in the resulting list. (#11821)
1091         This makes this consistent with gtk_container_children.
1092
1093         * gtk/gtkwindow.c gtk/gtkwidget.c: Fix up the two
1094         uses of gtk_window_list_toplevels.
1095
1096 Mon Mar 26 15:26:17 2001  Owen Taylor  <otaylor@redhat.com>
1097
1098         * gtk/gtkimcontext.c (gtk_im_context_set_use_preedit): Add
1099         a virtual function to set whether the IM context should use 
1100         the preedit string. (#51922)
1101         
1102 Mon Mar 26 14:42:59 2001  Owen Taylor  <otaylor@redhat.com>
1103
1104         * gdk/gdkpango.h: Remove stale FIXME comment.
1105
1106 2001-03-26  Alexander Larsson  <alla@lysator.liu.se>
1107
1108         * gtk/gtkfilesel.c (gtk_file_selection_get_filename):
1109         Fixed bug that returned NULL if a filename was selected.
1110
1111 2001-03-24  Havoc Pennington  <hp@pobox.com>
1112
1113         * gtk/gtkthemes.c (gtk_theme_engine_load): improve error message
1114         to contain the word "theme"
1115
1116 2001-03-24  Havoc Pennington  <hp@pobox.com>
1117
1118         * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much
1119         slower but finer-grained
1120         (gtk_hsv_focus): get initial focus on the ring or triangle 
1121         according to tab direction
1122
1123         * gtk/testgtk.c (main): get rid of weird sleep(1) on exit
1124
1125 2001-03-23  Havoc Pennington  <hp@pobox.com>
1126
1127         * gtk/gtkhsv.c: make this somewhat key-navigable
1128
1129         * gtk/gtkfontsel.c: mnemonics
1130
1131         * gtk/gtkgamma.c: mnemonics
1132
1133         * gtk/gtkcolorsel.c: add mnemonics to labels
1134
1135 2001-03-22  Havoc Pennington  <hp@pobox.com>
1136
1137         Applied big patch from Seth Lytle to fix event handler return
1138         values, slightly modified.
1139
1140         * gtk/gtkcalendar.c (gtk_calendar_button_press): return TRUE if
1141         handled.
1142         (gtk_calendar_key_press): return TRUE for GDK_space triggers
1143         select_day
1144
1145         * gtk/gtkclist.c (gtk_clist_button_press): return TRUE if handled
1146         (gtk_clist_button_release): return TRUE if handled
1147
1148         * gtk/gtkcolorsel.c (mouse_release):
1149         (palette_activate): 
1150         (palette_press): 
1151         (palette_new): 
1152         (mouse_press): 
1153         (get_screen_color): 
1154         fixed return type (void to gboolean), return TRUE,
1155         added GTK_SIGNAL_FUNC cast
1156
1157         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fixed return type
1158         (void to gboolean), and return TRUE
1159         (gtk_combo_button_release): changed return value to TRUE after
1160         gtk_grab_add on combo->popwin
1161
1162         * gtk/gtkctree.c (gtk_ctree_button_press): return TRUE if triggers a
1163         collapse or expand
1164
1165         * gtk/gtkcurve.c (gtk_curve_graph_events): return TRUE for
1166         button/motion
1167
1168         * gtk/gtkdnd.c (gtk_drag_source_event_cb): return TRUE for button
1169         press/release and motion that trigger act
1170
1171         * gtk/gtkentry.c (gtk_entry_button_release): return TRUE
1172
1173         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): return TRUE
1174         for GDK_Return
1175         
1176         * gtk/gtklist.c (gtk_list_button_press): return TRUE mostly
1177         (gtk_list_button_release): return TRUE if selection
1178
1179         * gtk/gtklistitem.c (gtk_list_item_button_press): return TRUE on
1180         press
1181
1182         * gtk/gtkmenushell.c (gtk_menu_shell_button_press):
1183         (gtk_menu_shell_button_release): chain parent_menu_shell retval
1184
1185         * gtk/gtknotebook.c (gtk_notebook_button_press): return FALSE if
1186         nothing triggered
1187         (gtk_notebook_button_release): return TRUE if we do anything
1188
1189         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): 
1190         (gtk_spin_button_button_release): return TRUE or chained retval
1191
1192         * gtk/gtktext.c (gtk_text_button_press): 
1193         (gtk_text_button_release): return TRUE
1194         (gtk_text_key_press): remove redundant retval code
1195         
1196         * gtk/gtktreeitem.c (gtk_tree_item_button_press): return TRUE if button
1197         and sensitive
1198         (gtk_tree_item_subtree_button_click): changed type to gint, and return
1199         TRUE if sensitive
1200
1201         * gtk/gtktooltips.c (gtk_tooltips_event_handler): deactivate implies 
1202         return TRUE
1203
1204 2001-03-23  Havoc Pennington  <hp@redhat.com>
1205
1206         * gtk/testgtk.c: fix warnings
1207
1208         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): fix return value
1209
1210         * gtk/gtktextview.c: fix warnings
1211
1212         * gtk/gtktext.c (find_cursor_at_line): fix warning
1213
1214         * gtk/gtkselection.c (gtk_selection_notify): fix warning 
1215
1216         * gtk/gtkitemfactory.c (gtk_item_factory_menu_pos): fix signature
1217         of this function
1218
1219         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
1220         fix warning
1221
1222         * gtk/gtkhandlebox.c (gtk_handle_box_style_set): fix warning
1223
1224         * gtk/gtkfontsel.c: fix warning
1225
1226         * gtk/gtkcolorsel.c: fix warnings
1227
1228 2001-03-23  Havoc Pennington  <hp@redhat.com>
1229
1230         * gtk/gtkhandlebox.c: Apply property patch from Lee Mallabone
1231
1232         * gtk/gtkbox.c: Apply property patch from Lee Mallabone
1233
1234         * gtk/gtkcheckmenuitem.c: Apply property patch from Lee Mallabone,
1235         and deprecated gtk_check_menu_item_set_show_toggle().
1236         
1237         * gtk/gtkbutton.c: Apply property patch from Lee Mallabone
1238
1239         * gtk/gtkfilesel.c: Apply property patch from Lee Mallabone
1240
1241         * gtk/gtkframe.c: Apply property patch from Lee Mallabone
1242
1243 2001-03-23  Havoc Pennington  <hp@redhat.com>
1244
1245         * gtk/gtktoolbar.c, gtk/gtkimcontext.c, gtk/gtklabel.c: fix up
1246         some docs
1247
1248 Fri Mar 23 16:13:43 2001  Jonathan Blandford  <jrb@redhat.com>
1249
1250         * gtk/gtktreeviewcolumn.h (GtkCellDataFunc): Forgot to namespace
1251         this.
1252
1253         * gtk/gtktreestore.c (gtk_tree_store_set_value): change from
1254         set_cell to set_value
1255
1256         * gtk/gtkliststore.c (gtk_list_store_set_value): change from
1257         set_cell to set_value
1258
1259 Thu Mar 22 19:27:34 2001  Jonathan Blandford  <jrb@redhat.com>
1260
1261         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
1262         fix braino.
1263         * gtk/gtktreesortable.[ch]: New interface to add cleanup sortable
1264         support.
1265
1266         * gtk/gtktreeview.c: Addition of initial sortable support.
1267
1268         * gtk/gtktreestore.c: Addition of initial sortable support.
1269
1270         * gtk/gtkliststore.c: Addition of initial sortable support.
1271
1272         * gtk/gtkmarshal.list: yet another marshaller.
1273
1274         * gtk/gtktreedatallist.[ch]: shared code between the store models
1275         for handling sorting headers.
1276
1277 2001-03-22  Havoc Pennington  <hp@redhat.com>
1278
1279         * gtk/gtkcontainer.c (gtk_container_set_focus_chain): 
1280         (gtk_container_unset_focus_chain): Add ability to override the 
1281         focus chain for a container explicitly
1282
1283 Thu Mar 22 13:01:44 2001  Tim Janik  <timj@gtk.org>
1284
1285         * gtk/gtklabel.[hc]: some cleanups, fixed mnemonic_widget handling,
1286         added PROP_MNEMONIC_WIDGET.
1287
1288         * gtk/gtkwindow.c (gtk_window_activate_mnemonic): 
1289         (gtk_window_remove_mnemonic): 
1290         (gtk_window_add_mnemonic): fixed assertions.
1291         (gtk_window_activate_mnemonic): constrain modifier checks to those
1292         permitted by gtk_accelerator_get_default_mod_mask().
1293         got rid of gtk_window_get_default_accel_group().
1294
1295         * gtk/gtkwidget.c (gtk_widget_real_activate_mnemonic): handle non
1296         activatable widgets either by focussing or a warning.
1297         added a signal accumulator to ::activate_mnemonic which stops the
1298         emission once a handler returned TRUE.
1299
1300 2001-03-22  Havoc Pennington  <hp@pobox.com>
1301
1302         * gtk/gtktoolbar.c (gtk_toolbar_insert_stock): handle mnemonics in
1303         the stock item label
1304
1305         * gtk/gtklabel.c: s/@gtk_func/gtk_func()/ in docs
1306
1307         * gtk/gtkstock.c (builtin_items): add mnemonics where missing
1308
1309         * demos/gtk-demo/*.c: Add mnemonics all over the place
1310
1311         * gtk/gtklabel.h: mark parse_uline deprecated
1312
1313 2001-03-21  Alexander Larsson  <alexl@redhat.com>
1314
1315         * gtk/gtkitemfactory.[ch]:
1316         Add support for stock and normal imagemenuitems.
1317         
1318         * gtk/testgtk.c:
1319         Add some tests for mnemonics, stock toolbars, stock
1320         and image menuitems in itemfactory and gdk_window_scroll.
1321
1322 2001-03-21  Alexander Larsson  <alexl@redhat.com>
1323
1324         * gtk/gtkbutton.[ch]:
1325         * gtk/gtkdialog.c:
1326         Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and
1327         removed accel_group argument. Renamed gtk_button_new_accel() to
1328         gtk_button_new_with_mnemonic() and removed accel_group argument.
1329
1330         * gtk/gtkcheckbutton.[ch]:
1331         New function gtk_check_button_new_with_mnemonic().
1332
1333         * gtk/gtkentry.c:
1334         Override activate_mnemonic and just grab focus.
1335
1336         * gtk/gtkitemfactory.c:
1337         Don't add menu uline accel group, instead use mnemonics support.
1338
1339         * gtk/gtklabel.[ch]:
1340         New support for mnemonics.
1341
1342         * gtk/gtkmarshal.list:
1343         Needed BOOLEAN:BOOLEAN for activate_mnemonic.
1344
1345         * gtk/gtkmenu.[c]:
1346         * gtkmenushell.c:
1347         Use mnemonics instead of accel groups for uline
1348         support in menu items.
1349         Removed gtk_menu_get_uline_accel_group() and
1350         gtk_menu_ensure_uline_accel_group().
1351
1352         * gtk/gtkmenuitem.c:
1353         Override activate_mnemonic to handle switching between
1354         menu items if there are collisions.
1355         
1356         * gtk/gtknotebook.c:
1357         Connect to activate_mnemonic on the tab_label, so that
1358         activating it switches to that notebook page.
1359
1360         * gtk/gtkwidget.[ch]:
1361         Add activate_mnemonic signal. New function
1362         gtk_widget_activate_mnemonic() to emit it.
1363         Default implementation does activate/grab_focus.
1364
1365         * gtk/gtkwindow.[ch]:
1366         Add support for mnemonics in windows.
1367         New functions:
1368         gtk_window_add_mnemonic, gtk_window_remove_mnemonic,
1369         gtk_window_activate_mnemonic, gtk_window_set_mnemonic_modifier
1370
1371         * gtk/testgtk.c:
1372         Update to function name changes.
1373         
1374 2001-03-21  Alexander Larsson  <alexl@redhat.com>
1375
1376         * gtk/gtkimagemenuitem.[c]:
1377         Add gtk_image_menu_item_new_from_stock()
1378
1379 Tue Mar 20 15:00:43 2001  Jonathan Blandford  <jrb@redhat.com>
1380
1381         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
1382         Fix buglet in meeting.
1383
1384 2001-03-19  Havoc Pennington  <hp@redhat.com>
1385
1386         * gtk/gtkiconfactory.c: Make GtkIconSource an opaque datatype, and
1387         add a bunch of accessor functions. This is because we have
1388         reasonable expectations of extending what fields it contains in
1389         the future.
1390
1391         * gtk/gtkstyle.c (gtk_default_render_icon): adapt to icon source
1392         changes
1393
1394         * gtk/gtkrc.c (gtk_rc_parse_icon_source): fix to use new
1395         GtkIconSource   
1396
1397 Mon Mar 19 15:53:36 2001  Owen Taylor  <otaylor@redhat.com>
1398
1399         * gtk/gtkitemfactory.c gtk/testgtk.c: Handle quoting of / with \; properly
1400         handle __ in paths, quote " and \n in gtk_item_factory_dump_items().
1401
1402         * gtk/gtkadjustment.[ch] gtk/gtkclist.c gtk/gtkhruler.c gtk/gtklayout.c 
1403           gtk/gtklist.c gtk/gtkprogress.[ch] gtk/gtkprogressbar.[ch] gtk/gtkrange.[ch]
1404           gtk/gtkruler.[ch] gtk/gtkscale.c gtk/gtkscrolledwindow.c gtk/gtkspinbutton.[ch]
1405           gtk/gtktext.c gtk/gtktextview.c gtk/gtkvruler.c gtk/testgtk.c:
1406         Change float to double everywhere with the exception of 0<->1.0 alignment
1407         and GtkCurve.
1408
1409 2001-03-19  Tor Lillqvist  <tml@iki.fi>
1410
1411         * gdk/win32/gdkdrawable-win32.c
1412         * gdk/win32/gdkimage-win32.c: Use correct casts in debugging
1413         output.
1414
1415         * demos/testpixbuf-drawable.c: If GDK_WINDOWING_WIN32, include
1416         gdkwin32.h.
1417
1418 2001-03-18  Tor Lillqvist  <tml@iki.fi>
1419
1420         * gdk/win32/gdkevents-win32.c (print_window_state): New function.
1421         print_event_state, print_event): Use preprocessor macro to make
1422         code more compact. Print also GDK_WINDOW_STATE events.
1423         (synthesize_crossing_events): Remove the old #ifdeffed-out code.
1424         
1425         * gtk/gtk.def
1426         * gtk/makefile.mingw.in: Update.
1427
1428         * gtk/gtkmain.h: Check for G_PLATFORM_WIN32, not only G_OS_WIN32,
1429         to catch also Cygwin.
1430
1431 Sun Mar 18 01:15:30 2001  Tim Janik  <timj@gtk.org>
1432
1433         * gtk/gtkspinbutton.[hc]: added rc-style argument
1434         GtkSpinButton::shadow_type.
1435         removed spin_button->shadow_type, gtk_spin_button_set_shadow_type()
1436         and ARG_SHADOW_TYPE as it doesn' make much sense to try to override
1437         rc-style settings.
1438
1439         * gtk/gtkfixed.c: removed gtk_fixed_paint() (was unused).
1440
1441         * gtk/gtkwidget.c: quark cleanups.
1442
1443         * gtk/gtkrc.[hc]: added gtk_rc_scanner_new() to create an rc-file
1444         scanner with appropriate configuration, renamed GtkRcStyleClass.clone
1445         to create_rc_style() (we don't do cloning in standard OO sense).
1446         added per rc style properties.
1447         
1448         * gtk/gtkstyle.[hc]: added code to retrive pspec conformant rc-style
1449         property values and for caching those. some cleanups.
1450         
1451         * gtk/Makefile.am: -DG_DISABLE_CONST_RETURNS.
1452         
1453         * gtk/gtksettings.[hc]: new file for global rc-file properties
1454         (at least currently, should get extended to support X properties
1455         and other communication mechanisms).
1456         
1457         * gtk/gtkwidget.[hc]: added style property support:
1458         (gtk_widget_class_install_style_property_parser): install style
1459         property pspec with parser function for rc-file values other
1460         than LONG, DOUBLE or STRING.
1461         (gtk_widget_class_install_style_property): same as above without
1462         parser (parsers are going to be needed quite infrequently).
1463         (gtk_widget_style_get_property): retrive style property value.
1464         (gtk_widget_style_get_valist): same as above with varargs support,
1465         has NOCOPY semantics.
1466         (gtk_widget_style_get): wrapper around gtk_widget_style_get_valist().
1467
1468 Fri Mar 16 18:24:53 2001  Jonathan Blandford  <jrb@redhat.com>
1469
1470         * demos/gtk-demo/main.c (row_activated_cb): modified to use
1471         "row_activated" signal.
1472
1473         * gtk/gtktreeview.c (gtk_tree_view_row_activated): oh, the
1474         stupidity.  Lets actually pass in the row with this signal...
1475
1476 Fri Mar 16 18:01:17 2001  Jonathan Blandford  <jrb@redhat.com>
1477
1478         * gtk/gtktreeviewcolumn.[ch]: s/GTK_TREE_COLUMN/GTK_TREE_VIEW_COLUMN
1479
1480         * gtk/gtktreeview.c (gtk_tree_view_row_activated): New signal.
1481
1482         * gtk/gtktreeview.c (gtk_tree_view_destroy): moved pretty much
1483         everything into the ::destroy function, and freed a lot more.
1484
1485 2001-03-16  Havoc Pennington  <hp@redhat.com>
1486
1487         * gtk/gtkwidget.h (struct _GtkWidgetAuxInfo): change to use gint
1488         instead of gint16, to avoid overflow issues, since sizes > 16-bit
1489         are now allowed.
1490
1491 2001-03-16  Havoc Pennington  <hp@redhat.com>
1492
1493         * Applied patch from Nils Barth (bug # 51041) to 
1494         replace "gint" with "gboolean" and 0/1 with TRUE/FALSE
1495         in various places.
1496
1497 2001-03-15  Havoc Pennington  <hp@redhat.com>
1498         
1499         * gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): add varargs 
1500         for properties to set on the tag.
1501
1502         * gtk/testtext.c: fixups to reflect create_tag change
1503         
1504         * gtk/gtktexttag.c (gtk_text_tag_set_property):
1505         background/foreground stipple are objects, not boxed.
1506
1507         * demos/gtk-demo/textview.c: intellihancing
1508
1509 Fri Mar 16 11:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
1510
1511         * gtk/gtktreeview.c (gtk_tree_view_set_model): Fixed some
1512         braindeadness spotted by Jamie Strachan <frostfreek@yahoo.com>.
1513
1514 2001-03-16  Alexander Larsson  <alexl@redhat.com>
1515
1516         * gdk/x11/gdkgeometry-x11.c (_gdk_window_process_expose):
1517         Fix sign error with queued region translations.
1518
1519 2001-03-15  HideToshi Tajima  <tajima@happy>
1520
1521         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_set_cursor_location): 
1522         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_location):
1523         * gtk/gtkentry.c (update_im_cursor_location): 
1524         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_location):
1525         * gtk/gtkimcontext.h (struct _GtkIMContextClass): rename
1526         set_cursor_pos to set_cursor_location in GtkInputContext class
1527
1528 Thu Mar 15 18:22:44 2001  Jonathan Blandford  <jrb@redhat.com>
1529
1530         * gtk/gtkcellrenderer.h: Changed prototype to allow for getting
1531         the location of the cell relative to its area.
1532         * gtk/gtkcell*: modified for above change
1533         * gtk/gtktreeview.c: modified for above change.
1534
1535 Wed Mar 14 13:58:32 2001  Jonathan Blandford  <jrb@redhat.com>
1536
1537         * gtk/gtktreeview.c (gtk_tree_view_set_model): Ref the model.
1538          (gtk_tree_view_finalize): actually unref the model.  Thanks to
1539         Jamie Strachan <frostfreek@yahoo.com> for noticing this error.
1540
1541 2001-03-14  Havoc Pennington  <hp@redhat.com>
1542
1543         * gtk/gtkdata.h, gtk/gtkdata.c: Delete.
1544         
1545         * gtk/gtk.h: remove gtkdata.h
1546
1547         * gtk/Makefile.am: remove gtkdata
1548         
1549         * gtk/gtktext.c (gtk_text_set_adjustments): connect to "destroy"
1550         not "disconnect" on the adjustments.
1551         
1552         * gtk/gtktooltips.h, gtk/gtktooltips.c: derive from GtkObject not
1553         GtkData
1554
1555         * gtk/gtkadjustment.h, gtk/gtkadjustment.c: derive from GtkObject
1556         not GtkData
1557
1558         * configure.in: handle case where X render exists, but Pango lacks
1559         Xft support.
1560
1561 2001-03-15 Alexander Larsson  <alexl@redhat.com>
1562
1563         * gtk/gtktoolbar.[ch]:
1564         New functions gtk_toolbar_set_icon_size and gtk_toolbar_insert_stock
1565         to add stock items to toolbars.
1566
1567         * gtk/Makefile.am:
1568         Remove ../gdk/gdkim.h from gdk_headers.
1569
1570 2001-03-15  Sven Neumann  <sven@gimp.org>
1571
1572         * gdk/gdkim.h: removed
1573         
1574         * gdk/gdkprivate.h
1575         * gdk/x11/gdkim-x11.c: do not include gdkim.h 
1576
1577 2001-03-14  HideToshi Tajima  <tajima@happy.sunsoft.eng.sun.com>
1578
1579         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos):
1580         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos):
1581         * gtk/gtkimcontext.h (struct _GtkIMContextClass): add
1582         set_cursor_pos() virtual method
1583
1584         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init):
1585         (gtk_im_context_xim_set_cursor_pos): add implementation for
1586         set_cursor_pos() method
1587
1588         * gtk/gtkentry.c (recompute_idle_func): set current cursor
1589         position to input methods
1590
1591 Mon Mar 12 21:02:08 2001  Jonathan Blandford  <jrb@redhat.com>
1592
1593         * gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus
1594         code a lot.
1595
1596         * gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use
1597         g_mem_chunk.
1598         (_gtk_tree_data_list_alloc): use g_mem_chunk.
1599         (_gtk_tree_data_list_node_to_value): Fix to switch on
1600         G_TYPE_FUNDAMENTAL.
1601         (_gtk_tree_data_list_value_to_node): Fix to switch on
1602         G_TYPE_FUNDAMENTAL.
1603         (_gtk_tree_data_list_node_copy): Fix to switch on
1604         G_TYPE_FUNDAMENTAL.
1605
1606 2001-03-12  Havoc Pennington  <hp@redhat.com>
1607
1608         * gtk/gtkwindow.c (gtk_window_class_init): Patch from John Margaglione 
1609         to convert to new property API. Also, change default_width and
1610         default_height get_property to return 0 as the flag value for
1611         "unset"; -1 is not a valid value for these fields.
1612
1613 2001-03-12  Havoc Pennington  <hp@redhat.com>
1614
1615         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an
1616         enum with registration for icon sizes, instead of strings.
1617
1618         * gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, 
1619         gtkwidget.c: Fix to reflect GtkIconSize
1620         
1621 2001-03-12  Alexander Larsson  <alexl@redhat.com>
1622
1623         Make GtkFB compile and link.
1624         
1625         * gdk/linux-fb/gdkdrawable-fb2.c:
1626         window->mapped to GDK_WINDOW_IS_MAPPED(). 
1627         
1628         * gdk/linux-fb/gdkwindow-fb.c:
1629         window->mapped to GDK_WINDOW_IS_MAPPED(). 
1630         Added gdk_window_shape_combine_region.
1631         Added assorted placeholders for unimplemented new GdkWindow API calls.
1632
1633 2001-03-12  Alexander Larsson  <alexl@redhat.com>
1634
1635         * gtk/gtkfilesel.c:
1636         Add more test when converting filenames from/to utf-8.
1637         Don't allow entering text in the filename entry which isn't allowed in
1638         a filename. Just beep instead.
1639
1640 2001-03-12  Alexander Larsson  <alexl@redhat.com>
1641
1642         * gtk/gtkclist.c:
1643         Scroll using gdk_window_scroll(). Don't wait for exposes.
1644         Move the column headers in an order that makes them flash less.
1645
1646 2001-03-10  Hans Breuer  <hans@breuer.org>
1647
1648         * gdk/gdk.def : updated
1649
1650         * gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
1651         to offseting the clip_mask at the right place
1652
1653         * gdk/win32/gdkwindow-win32.c : don't create background brushes
1654         for all the gdkClasses, especially not for the input_only case.
1655         Otherwise flickering wont be avoidable, because we don't get
1656         WM_ERASEBKGND message for these windows.
1657
1658         * gdk/win32/gdkevents-win32.c : initialize event->expose.region
1659         and fixed massive redraw problems apparently triggered by Alexanders 
1660         recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
1661         but it seems to work quite well :-)
1662
1663         * gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose
1664         prototype
1665
1666 Sat Mar 10 12:15:31 2001  Jonathan Blandford  <jrb@redhat.com>
1667
1668         * gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
1669         (gtk_list_store_set_cell): Fix a stupid typo.
1670
1671 Fri Mar  9 20:36:21 2001  Jonathan Blandford  <jrb@redhat.com>
1672
1673         * gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
1674         select_all not work if you're in SINGLE mode (it doesn't make that
1675         much sense, anyway.)
1676
1677         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
1678         handle types more sanely.
1679         (_gtk_tree_data_list_value_to_node): handle types more sanely.
1680         (_gtk_tree_data_list_node_copy): handle types more sanely.
1681
1682         * gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
1683         GValue better. Converts the type as well.
1684
1685         * gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
1686         GValue better. Converts the type as well.
1687
1688 Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
1689
1690         * gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
1691         gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c 
1692         gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
1693         gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
1694
1695         * gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
1696         gdk_im/gdk_ic.
1697
1698 2001-03-09  Hans Breuer  <hans@breuer.org>
1699
1700         * gdk/gdk.def : updated
1701
1702         * gdk/win32/gdkevents-win32.c : don't ask input_only windows
1703         for their palette
1704
1705         * gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
1706         removing
1707
1708         * gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
1709         removing and implemented Havoc's GdkWindow state functions; 
1710         stick/unstick only as no-op, cause I don't know how to emulate 
1711         on win32 ...
1712
1713         * gtk/gtk.def : updated
1714
1715         * gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
1716
1717         * gtk/gtktypeutils.c : #include <string.h>
1718
1719         * gtk/gtkwindow.h : declare gtk_window_set_decorated ()
1720
1721 Fri Mar  9 09:31:55 2001  Tim Janik  <timj@gtk.org>
1722
1723         * gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with
1724         GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object,
1725         not a boxed.
1726
1727 2001-03-09  Alexander Larsson  <alexl@redhat.com>
1728
1729         * docs/Changes-2.0.txt:
1730         Document expose event->region change and that gtk_widget_event
1731         doesn't allow passing expose events.
1732
1733         * gdk/gdkevents.h:
1734         Add region to expose event.
1735         
1736         * gdk/gdkevents.c:
1737         Handle event->region in gdk_event_copy() and gdk_event_free().
1738
1739         * gdk/gdkwindow.c (gdk_window_process_updates_internal):
1740         Generate expose_event->region when creating expose events.
1741
1742         * gdk/x11/gdkevents-x11.c:
1743         Generate expose events with regions when translating X events.
1744
1745         * gtk/gtkcontainer.[ch]:
1746         Default expose handler that propagates expose events to NO_WINDOW
1747         children. New function gtk_container_propagate_expose()
1748
1749         * gtk/gtkwidget.[ch]:
1750         Moved gtk_widget_event implementation to gtk_widget_event_internal.
1751         gtk_widget_event calls gtk_widget_event_internal but doesn't allow
1752         expose events. New function gtk_widget_send_expose() to send expose
1753         events. New function gtk_widget_region_intersect() to calculate
1754         window/region intersections.
1755         
1756         * gtk/gtkmain.c (gtk_main_do_event):
1757         Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
1758         Use gtk_widget_send_expose() to send expose events.
1759         
1760         * gtk/gtkbin.c:
1761         * gtk/gtkbox.c:
1762         * gtk/gtkfixed.c:
1763         * gtk/gtkimagemenuitem.c:
1764         * gtk/gtklist.c:
1765         * gtk/gtkpacker.c:
1766         * gtk/gtktable.c:
1767         * gtk/gtktree.c:
1768         Remove expose handler, using the default container implementation
1769         instead.
1770         
1771         * gtk/gtkbutton.c:
1772         * gtk/gtkcheckbutton.c:
1773         * gtk/gtkeventbox.c:
1774         * gtk/gtkfixed.c:
1775         * gtk/gtkhandlebox.c:
1776         * gtk/gtklayout.c:
1777         * gtk/gtklistitem.c:
1778         * gtk/gtkmenu.c:
1779         * gtk/gtkmenubar.c:
1780         * gtk/gtkmenuitem.c:
1781         * gtk/gtknotebook.c:
1782         * gtk/gtkoptionmenu.c:
1783         * gtk/gtkpaned.c:
1784         * gtk/gtkscrolledwindow.c:
1785         * gtk/gtktogglebutton.c:
1786         * gtk/gtktoolbar.c:
1787         * gtk/gtktreeitem.c:
1788         * gtk/gtkviewport.c:
1789         Chain expose handler to parent class handler. Use
1790         gtk_container_propagate_expose() to propagate exposes.
1791
1792         * gtk/gtkclist.c (check_exposures):
1793         * gtk/gtktext.c (process_exposes):
1794         Use gtk_widget_send_expose instead of gtk_widget_event.
1795
1796 Thu Mar  8 19:40:28 2001  Jonathan Blandford  <jrb@redhat.com>
1797
1798         * gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function.
1799
1800 Thu Mar  8 19:18:27 2001  Jonathan Blandford  <jrb@redhat.com>
1801
1802         * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually
1803         unref the nodes.   Fixes bug #50058.
1804
1805         * gtk/gtktreemodel.c (gtk_tree_model_ref_node): change
1806         "::ref_iter" to "::ref_node".
1807         (gtk_tree_model_unref_node): change "::unref_iter" to
1808         "::unref_node". Fixes bug #50064.
1809
1810 Thu Mar  8 17:40:09 2001  Jonathan Blandford  <jrb@redhat.com>
1811
1812         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add
1813         support for invisible cells.
1814          (gtk_tree_view_bin_expose): ditto
1815
1816 Thu Mar  8 16:36:00 2001  Jonathan Blandford  <jrb@redhat.com>
1817
1818         * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
1819         on gobjects.
1820
1821         * tests/testtreefocus.c (main): New test file.
1822
1823         * tests/testtreeview.c: update to latest glib changes.
1824
1825         * tests/testtreecolumns.c: update to latest glib changes.
1826
1827 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
1828
1829         * gtk/testgtk.c: re-enabled event watcher emission hooks.
1830
1831 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
1832
1833         * *.c: added accumulator data argument to g_signal_newc()
1834         functions.
1835
1836         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
1837         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
1838         * gtk/treestoretest.c (make_window):
1839         s/g_signal_connect/g_signal_connectc/.
1840
1841         * gtk/gtktextbuffer.c: completed signal arg fixups,
1842         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
1843
1844 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
1845
1846         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
1847         G_CONST_RETURN.
1848
1849         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
1850         ::hierarchy-changed signal when a widget changes
1851         from anchored to unanchored or vice versa.
1852         (anchored means 
1853          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
1854         Use a private flag to keep track of this efficiently.
1855
1856 2001-03-07  Havoc Pennington  <hp@redhat.com>
1857
1858         * gtk/testgtk.c (create_spins): uglify so that size request gets
1859         tested.
1860
1861         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
1862         request on values for upper/lower, completes #6152
1863
1864 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
1865
1866         * Makefile.am: Remove gtk-config-2.0 again.
1867         (Grrrr, pkg-config. And stops make loops.)
1868
1869 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
1870
1871         * gtk/gtksignal.[hc]: removed old emission hook API.
1872         
1873         * docs/Changes-2.0.txt: fixed sections.
1874         
1875         * gtk/gtktextbuffer.c: signal arg fixups.
1876
1877 2001-03-07  Havoc Pennington  <hp@redhat.com>
1878
1879         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
1880
1881         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
1882         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
1883         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
1884         validation and the redraw which is higher priority than the
1885         validation.
1886
1887 2001-03-07  Havoc Pennington  <hp@redhat.com>
1888
1889         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
1890         (gtk_entry_set_property): remove trailer
1891
1892         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
1893         (gtk_entry_get_width_chars): new functions, to set size request to 
1894         a given number of characters
1895
1896         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
1897
1898         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
1899         (gtk_dialog_get_has_separator): new function
1900         (run_delete_handler): fix to not emit "response" signal
1901         because we already did in the delete event handler installed
1902         at dialog creation time.
1903         
1904         * gtk/gtkdialog.h: add a has_separator property,
1905         add GTK_DIALOG_NO_SEPARATOR flag
1906
1907 2001-03-07  Havoc Pennington  <hp@redhat.com>
1908
1909         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
1910         off decorations for a window.
1911
1912         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
1913         changes
1914
1915         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
1916         to get location of PangoLayout inside the label, closes #51198
1917
1918         * gtk/testgtk.c (create_bbox): fix up button box usage
1919
1920         * gtk/testcalendar.c (create_calendar): fix up button box usage
1921
1922         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
1923
1924         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
1925
1926         * gtk/gtkhbbox.h: deprecations
1927
1928         * gtk/gtkvbbox.h: deprecations
1929
1930         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
1931         emulate deprecated gtk_button_box_get_spacing
1932
1933         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
1934         the "set global default" functions
1935         (struct _GtkButtonBox): remove "spacing" field, use the one from 
1936         GtkBox base class
1937
1938         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
1939
1940         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
1941         render the icon, return the missing image icon.
1942
1943         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
1944         image icon if the load fails.   
1945
1946         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
1947         when no image is found; should be the Netscape "missing image"
1948         icon eventually but for now is a random image
1949
1950         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
1951         role for the session manager
1952
1953         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
1954
1955         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
1956         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
1957
1958         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
1959
1960 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
1961
1962         * gtk/*.c: marshaller fixes.
1963         
1964         * gtk/gtkmarshal.list: extreme cleanup.
1965
1966         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
1967         param spec for now.
1968
1969         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
1970         where appliable.
1971
1972         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
1973         special cased autogenerated boxed types from gtktypebuiltins_ids.c
1974         which are not reference counted:
1975         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
1976         PangoFontDescription, GtkTreeIter and GtkTreePath.
1977
1978 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
1979
1980         * gtk/gtktreeselection.h: 
1981         * gtk/gtktreemodel.c:
1982         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
1983         file should be included directly, and gobject/gmarshal.h
1984         as well as gtk/gtkmarshal.h even can't be included directly.
1985
1986         * Makefile.am: grr, install gtk-config-2.0.
1987
1988         * gtk/testgtk.c:
1989         * gtk/simple.c:
1990         * gtk/gtkmenu.c:
1991         * gtk/gtkitemfactory.c: use g_object_connect() instead of
1992         passing "*signal*::*" args to gtk_widget_set().
1993         
1994         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
1995         
1996         * gtk/*.c: removed trailer arg from property setters and getters.
1997         macro fixups.
1998
1999 2001-03-07  Alexander Larsson  <alexl@redhat.com>
2000
2001         * gtk/gtklabel.c (set_markup): Removed warning
2002
2003 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
2004
2005         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
2006         field to allow you to hide cell renderers.
2007
2008         * gtk/gtkcellrenderer.c: Add support for invisible cells.
2009
2010         * gtk/gtktreeview.c: Add support for invisible cells.
2011
2012 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
2013
2014         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
2015         Add "clicked" signal back to columns.
2016
2017         * ChangeLog: remove conflict markers.
2018
2019 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
2020
2021         * gtk/gtkbutton.c: Add animation of activation by, on 
2022         activate, pressing the button, and adding a timeout that 
2023         releases the button after 250ms or on key release and
2024         emits ::clicked. (#51501)
2025
2026         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
2027         action area, we connect to ::clicked instead of ::activate
2028         so the dialog stays up through the animation.
2029
2030 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
2031
2032         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
2033         check the ignore_enter flag for the menu shell that
2034         the item is actually a child of, not for attached
2035         submenus. (#51536)
2036
2037 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
2038
2039         * gtk/gtkmain.c (gtk_propagate_event): Only do special
2040         special key-press grab handling for widgets within
2041         GtkWindows. Otherwise, fall through to normal case.
2042
2043         This prevents key events being sent twice to GtkInvisible
2044         widgets, which can cause all sorts of mischief.
2045
2046 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
2047
2048         * gtk/gtkmain.c (gtk_propagate_event): When a grab
2049         widget is in effect, give the grab widget a first
2050         crack at KEY_PRESS/RELEASE events. (#424)
2051
2052 2001-03-06  James Henstridge  <james@daa.com.au>
2053
2054         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
2055         offset for the window_state_event to point at window_state_event
2056         rather than no_expose_event.
2057
2058 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
2059
2060         * gtk/gtkimmodule.h: fix busted /* comment */
2061
2062 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
2063
2064         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
2065         object properties.
2066
2067 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
2068
2069         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
2070         add object properties.
2071
2072         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
2073         to add object properties.
2074
2075         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
2076         object properties.
2077
2078         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
2079         add object properties.
2080
2081         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
2082         object properties.
2083
2084 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
2085
2086         * gtk/gtktreemodel.c: renamed "child_toggled" to
2087         "has_child_toggled".
2088
2089         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
2090         handle new signal name.
2091
2092         * gtk/gtktreestore.c: Updated to handle new signal name.
2093         * gtk/gtklisttore.c: Updated to handle new signal name.
2094         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
2095
2096 2001-03-05  Alexander Larsson  <alexl@redhat.com>
2097
2098         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
2099         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
2100
2101 2001-03-05  Michael Natterer  <mitch@gimp.org>
2102
2103         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
2104         pixbuf-engine coincidentially also failed to make one of it's
2105         parent_class pointers static, causing overwriting of GtkLabel's
2106         parent_class pointer in pixbuf_style_class_init().
2107         (Will commit the fix to the pixbuf-engine too).
2108
2109 2001-03-05  Alexander Larsson  <alexl@redhat.com>
2110
2111         * gdk/gdkwindow.h:
2112         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
2113         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
2114         gdk_window_set_icon_list for net wmspec functionality.
2115
2116         * gdk/x11/gdkwindow-x11.c:
2117         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
2118         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
2119         gdk_window_set_icon_list.
2120         Added gdk_wmspec_change_state helper function and used it in the code.
2121         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
2122
2123         * gtk/gtkdialog.c (gtk_dialog_init):
2124         Set GDK_WINDOW_TYPE_HINT_DIALOG.
2125
2126         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
2127         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
2128
2129         * gtk/gtkwindow.c:
2130         new function gtk_window_set_type_hint.
2131         On realize, set type hint and modal hint.
2132
2133         * gtk/gtkwindow.h:
2134         Added type_hint field and gtk_window_set_type_hint.
2135
2136 2001-03-05  Alexander Larsson  <alexl@redhat.com>
2137
2138         * gtk/gtklabel.[ch]:
2139         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
2140         New function gtk_label_get_accel_keyval () to get the underline accelerator
2141         of the label. Setting the label pattern overrides other attributes.
2142
2143 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
2144
2145         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
2146         Added missing initializers to gtk_rc_style_init().
2147
2148 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
2149
2150         * gtk/gtktextview.c: fixed bug #51097 about setting 
2151         gtk_text_view_set_border_window_size() if the widget is 
2152         already realized.
2153
2154 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
2155
2156         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
2157
2158         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
2159         comment. Won't do to have duplicated doc comments between
2160         the platform subdirs.
2161
2162 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
2163
2164         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
2165           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
2166
2167         Detectable auto-repeat - make a repeating key generate
2168         press/press/press/release instead of press/release pairs.
2169
2170         If we have Xkb and XkbSetDectableAutoRepeat supports
2171         that, we do it that way. Otherwise, when we get
2172         a release event, we check ahead with XPending to see
2173         if the next key is a KeyPress with the same keycode
2174         and timestamp. (Not 100% reliable, but pretty close.)
2175           
2176 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
2177         
2178         * gtk/gtkmain.c (gtk_propagate_event): Only do special
2179         special key-press grab handling for widgets within
2180         GtkWindows. Otherwise, fall through to normal case.
2181  
2182         This prevents key events being sent twice to GtkInvisible
2183         widgets, which can cause all sorts of mischief.
2184  
2185 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
2186  
2187         * gtk/gtkmain.c (gtk_propagate_event): When a grab
2188         widget is in effect, give the grab widget a first
2189         crack at KEY_PRESS/RELEASE events. (#424)
2190  
2191 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
2192
2193         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
2194         to extend the selection. (Roughly based on patch
2195         from Jay Cox, #50939)
2196
2197         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
2198         to properly handle previous GDK_BUTTON_PRESS. 
2199         (Patch from Jay Cox, #50938)
2200
2201         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
2202         '\0' back along with the deleted text. (#51148)
2203
2204 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
2205
2206         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
2207         the group when extracting it from the X keyboard event.
2208
2209         * modules/input/Makefile.am modules/input/imipa.c: 
2210         Simple module for entering IPA. (Do we need a 
2211         gtk-stupid-input-tricks CVS module?)
2212
2213 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
2214
2215         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
2216         const.
2217
2218         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
2219
2220         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
2221         is no focus widget for the dialog currently, grab the focus as well
2222         as the default.
2223
2224         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
2225         the action area's children to iterate through, not the
2226         dialog's children.
2227
2228 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
2229
2230         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
2231         Add plug-socket tests. (Won't work worth a darn until I commit
2232         the rest of the plug-socket changes, but no reason these
2233         can't go into CVS now.)
2234
2235 2001-03-02  Havoc Pennington  <hp@redhat.com>
2236
2237         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
2238         _gdk_region_get_xrectangles()
2239
2240         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
2241
2242         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
2243
2244         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
2245         function, contributed by Ron Steinke    
2246
2247         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
2248         gdk_net_wm_supports
2249
2250         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
2251         New function, contributed by Ron Steinke
2252
2253         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
2254         used to line up the text in the entry when using the entry for
2255         editable sheet cell hacks
2256
2257         * gtk/testgtk.c (create_entry): test the activate_default setting
2258         on GtkEntry
2259
2260         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
2261         cause the entry to activate the default button for a dialog when 
2262         activated
2263         (gtk_entry_get_activates_default): new function
2264
2265 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
2266
2267         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
2268         Hwang to move call to sync_selection() up a few lines
2269         to before the row list is modified, to fix crash when
2270         removing rows in the undo_selection list.
2271
2272         (Test case provided by Daniel Elstner:
2273
2274         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
2275
2276 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
2277
2278         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
2279         of tree->root_tree in parent_set rather than _map(), 
2280         fixing #50892 in a bit better manner.
2281
2282 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
2283
2284         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
2285
2286 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
2287
2288         * gtk/gtkstyle.c : Remove duplicate fwd decl for
2289         gtk_default_draw_shadow.
2290
2291 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
2292
2293         * gdk/gdkimage.c (gdk_image_new): Remove excess 
2294         warning, make warnings more verbose, treat a error
2295         in shmat as permanent, and don't try again.
2296         (#51163, Ed Randall.)
2297
2298 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
2299
2300         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
2301         delay for the first click before starting to scroll.
2302         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
2303
2304         * gtk/gtktext.c: GtkText should have I-beam cursor. 
2305         (based on gtk-enf-990513-1.patch, Eric Fisher.)
2306
2307 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
2308
2309         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
2310         cleanup to remove some references to unused
2311         ->xoffset, ->yoffset.
2312
2313 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
2314
2315         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
2316         mask. (#51039, fix from Martin Maierhofer)
2317
2318 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
2319
2320         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
2321         for unshifted + and shifted = for non-us keyboards.
2322         Make <Control>+ and <Control>- work as well as 
2323         <Control>KP_Plus, <Control>KP_Minus for recursive
2324         open/close.  (#2682, René Seindal)
2325
2326 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
2327
2328         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
2329         the active menu item before deactivating the menu,
2330         so gtk_menu_popdown doesn't change the history. (#50964)
2331         
2332 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
2333
2334         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
2335         draw lines with text_gc rather than black_gc.
2336         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
2337
2338 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
2339
2340         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
2341         Move handling of buttons fully in gtktreeviewcolumn.  This code is
2342         less interrelated then it was, but it still requires the
2343         GtkTreeView to map it.
2344
2345         * test/testtreecolumn.c: Now I can add a column to one view,
2346         remove it, add it to the another view, remove it, then re-add it
2347         to the first.  Nifty.
2348
2349 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
2350
2351         * docs/tutorial/gtk-tut.sgml: Minor corrections
2352
2353 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
2354
2355         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
2356         GtkRowReference.
2357
2358 2001-02-28  Havoc Pennington  <hp@redhat.com>
2359
2360         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
2361         draw_default
2362         (gtk_widget_draw_focus): remove this function; we could instead
2363         make it just gtk_widget_draw(), but in most cases I think the
2364         result would be broken user code, so think it's better to have
2365         that code not compile and get fixed
2366         (gtk_widget_draw_default): ditto
2367
2368         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
2369         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
2370         
2371         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
2372         widgets lose/get the default, instead of calling draw_default
2373         
2374         * docs/Changes-2.0.txt: note about all this
2375
2376         Then fixed every widget in GTK, I won't list all the filenames.
2377
2378 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
2379
2380         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
2381         _gtk_tree_row_reference_deleted.
2382         (inserted_callback): Proxy out to
2383         _gtk_tree_row_reference_inserted.
2384         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
2385         get around signal emission ordering problem.
2386
2387         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
2388         fix to work with SINGLE 
2389         (_gtk_tree_selection_internal_select_node): Major sanitization on
2390         selections.  SINGLE now seems to work.
2391
2392         * tests/Makefile.am: add testtreecolumn.c:
2393
2394         * tests/testtreecolumn.c: New test.  Mostly points out selection
2395         bugs currently, but will test columns later.
2396
2397         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
2398         selection bug.  I hate touching this code -- it's scary.
2399
2400 2001-02-26  Havoc Pennington  <hp@redhat.com>
2401
2402         * gtk/testgtk.c: test the window state stuff
2403
2404         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
2405         window come to the user's attention as if it were just created
2406         (gtk_window_iconify): new function
2407         (gtk_window_deiconify): new function
2408         (gtk_window_stick): new function
2409         (gtk_window_unstick): new function
2410         (gtk_window_maximize): new function
2411         (gtk_window_unmaximize): new function
2412
2413         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
2414
2415         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
2416
2417         * gdk/x11/gdkevents-x11.c: create window state events when
2418         appropriate
2419         (gdk_wmspec_supported): new function
2420
2421         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
2422         iconification before showing the window
2423         (gdk_window_deiconify): new function
2424         (gdk_window_stick): new function
2425         (gdk_window_unstick): new function
2426         (gdk_window_maximize): new function
2427         (gdk_window_unmaximize): new function
2428
2429         * gdk/gdkwindow.c: store the window state in the window; 
2430         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
2431         window->mapped.
2432         (gdk_window_get_state): return the current window state
2433
2434         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
2435         (gdk_event_get_state): handle GDK_WINDOW_STATE
2436         (gdk_synthesize_window_state): function to create the window state
2437         events
2438
2439         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
2440         event, for changes to "window state" such as maximized, sticky, 
2441         etc.
2442         
2443         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
2444         focuses a window
2445
2446         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
2447         finds out if we support a given WM spec hint
2448
2449 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
2450
2451         * docs/faq/gtk-faq.sgml: New question re memory leaks.
2452
2453 2001-02-25  Hans Breuer  <hans@breuer.org>
2454
2455         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
2456         cause we want to loose those prototypes only in the latter case
2457
2458         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
2459         GdkPixmapImplWin32 because it itsn't derived from it. Use the
2460         impl member variable instead
2461
2462         * gtk/gtk.def : updated
2463
2464         * gtk/gtklist.c : 
2465         * gtk/gtkmenus.c : include <string.h> for memset ()
2466
2467         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
2468         for everthing built here, but for gtk-x.x.dll only. This solves
2469         problem of indifferent gtk type definitions
2470
2471 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@redhat.com>
2472
2473         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
2474
2475 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
2476
2477         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
2478         column that is exposed.
2479
2480         (_gtk_tree_view_update_size): Changed name from set_size, and
2481         changed function to do more work, and not force people calling it
2482         to figure out the size.  Simplifies a lot of code elsewhere.
2483
2484 2001-02-23  Alexander Larsson  <alexl@redhat.com>
2485
2486         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
2487         return solid masks for xpms that have no transparent color.
2488         This makes the ..._create_from_xpm... API backwards
2489         compatible.
2490
2491 2001-02-23  Tor Lillqvist  <tml@iki.fi>
2492
2493         * README.win32: Update. Mention the gtk-1-3-win32-production
2494         branch.
2495
2496         * gdk/win32/bdfcursor.c: New file. A program that generates
2497         xcursors.h. Thanks to Stefan Ondrejicka.
2498
2499         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
2500         compact format.
2501
2502         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
2503
2504         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
2505         function, uses xcursors.h.
2506         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
2507         cursor from inline data instead of using LoadCursor() to generate
2508         it from a resource.
2509
2510         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
2511         event, must check the Windows message for mouse button state, as
2512         the GDK event state might not have been built if it is
2513         undelivered. Remove one goto.
2514
2515         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
2516         SetCursor() if the current cursor as returned by GetCursor() is
2517         the window's previous cursor. The ChildWindowFromPoint() test
2518         apparently didn't work correctly.
2519
2520         * gdk/win32/rc/*.cur: Remove.
2521
2522         * gdk/win32/rc/gdk.rc.in: Remove cursors.
2523
2524         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
2525
2526         * gtk/makefile.{mingw,msc}.in: Updates.
2527
2528 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
2529
2530         * gtk/gtktreemodel.h: add functions for signal emission.
2531
2532         * gtk/gtktreestore.c: move to use above functions instead of
2533         g_signal_emit.
2534
2535         * gtk/gtkliststore.c: ditto
2536
2537 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
2538
2539         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
2540         GObject instead of GtkObject.
2541
2542         * gtk/gtkliststore.c: ditto.
2543
2544         * gtk/gtktreemodelsort.c: ditto.
2545
2546         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
2547         GtkTreeModelIface, instead of in each model.
2548
2549 2001-02-21  Havoc Pennington  <hp@redhat.com>
2550
2551         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
2552         unbreak this function
2553
2554         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
2555         properties
2556
2557         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
2558         properties
2559
2560         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
2561         properties
2562
2563         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
2564         mean unset the max length
2565
2566 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
2567
2568         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
2569         Changed name to be set_cell_data_func to make it clear what
2570         the functino does.  Close bug #51069.
2571
2572 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
2573
2574         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
2575         have memory actually freed.  Keeps box running longer.
2576
2577 2001-02-21  Alexander Larsson  <alexl@redhat.com>
2578         
2579         * gtk/gtkseparatormenuitem.[ch]:
2580         Added new menu separator item. The drawing and size handling
2581         is still done in GtkMenuItem, but the API is a bit more sane.
2582         
2583         * gtk/Makefile.am:
2584         Add gtkseparatormenuitem.[ch].
2585
2586         * gtk/gtk.h:
2587         Add gtkseparatormenuitem.h.
2588         
2589         * gtk/gtkentry.c:
2590         * gtk/gtkmenufactory.c:
2591         * gtk/gtktextview.c:
2592         Use the new API for menu separators.
2593         
2594         * demos/gtk-demo/menus.c (create_menu):
2595         Add some GtkSeparatorMenuItem demo code.
2596
2597 2001-02-20  Havoc Pennington  <hp@redhat.com>
2598
2599         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
2600         Lee Mallabone
2601
2602         * gtk/gtkarrow.c: Convert to new property API, patch from 
2603         Lee Mallabone
2604
2605 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
2606
2607         * tests/testtreeview.c (toggled_callback): fix to reflect change
2608         in GtkTreeModelStore.
2609
2610 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
2611
2612         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
2613         function to create an icon set from a pixbuf.
2614
2615 2001-02-20  Alexander Larsson  <alexl@redhat.com>
2616
2617         * gtk/gtkcellrenderertext.[ch]:
2618         Add a "markup" property.
2619
2620         * gtk/treestoretest.c:
2621         Use the markup property, remove some leftover stuff from
2622         GtkTreeModelMapping.
2623
2624 2001-02-20  Alexander Larsson  <alexl@redhat.com>
2625
2626         * gtk/gtklabel.c (gtk_label_set_selectable):
2627         Queue a redraw if the selectable setting was changed.
2628
2629 2001-02-20  Alexander Larsson  <alexl@redhat.com>
2630
2631         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
2632         Actually copy the whole gc, not just the public parts.
2633         
2634         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
2635         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
2636         labels.
2637
2638 2001-02-19  Havoc Pennington  <hp@pobox.com>
2639
2640         * gdk/gdkwindow.c: docs
2641
2642         * gdk/gdkrgb.c: docs
2643
2644         * gdk/gdkregion-generic.c: docs
2645
2646         * gdk/gdkgc.c (gdk_gc_set_values): docs
2647
2648         * gdk/gdkdraw.c: docs
2649
2650         * gdk/gdkdrawable.h: deprecate drawable get/set data
2651
2652 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
2653
2654         * demos/gtk-demo/dialog.c: Add simple new demo.
2655
2656 2001-02-19  Havoc Pennington  <hp@redhat.com>
2657
2658         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
2659         insert_child_anchor signal, bug #50245
2660
2661         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
2662         from create_child_anchor, so the anchor is passed in
2663
2664         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
2665         (_gtk_widget_segment_new): have the child anchor object passed in, 
2666         instead of creating it.
2667
2668         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
2669         to gtk_text_buffer_get_modified
2670
2671 2001-02-19  Havoc Pennington  <hp@redhat.com>
2672
2673         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
2674         changed GLib without fixing GTK
2675
2676         * gtk/gtkrange.h: Rename all the stupid implementation detail 
2677         functions to have an underscore in front. Most of them should 
2678         probably just go away, but for starters don't export them.
2679         Bug #50482
2680
2681 2001-02-19  Havoc Pennington  <hp@redhat.com>
2682
2683         * gdk/gdkcolor.h: test was backward, so deprecated functions were
2684         excluded by default
2685
2686         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
2687         clean up the old code a bit
2688
2689         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
2690         inconsistent state
2691
2692         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
2693         draw inconsistent state
2694
2695         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
2696         (create_menu): add inconsistent test
2697
2698         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
2699         new function
2700         (gtk_check_menu_item_get_inconsistent): new function
2701         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
2702         state (using etched in for now)
2703
2704         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
2705         draw inconsistent state
2706
2707         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
2708         function, used when the user has selected a range of stuff in
2709         different states
2710         (gtk_toggle_button_get_inconsistent): accessor for that
2711         (gtk_toggle_button_paint): draw inconsistent state (etched in?
2712         don't know what else to do)
2713
2714 2001-02-19  Hans Breuer <hans@breuer.org>
2715
2716         * gtk/gtk.def : updated exported symbols
2717
2718         * gtk/makefile.msc.in : updated
2719
2720         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
2721         a colormap, when invoked from testgtk::entry. I'm not sure where
2722         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
2723         avoids immediate crashing ...
2724
2725         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
2726         any objections ?
2727
2728         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
2729         0 parameter. At least msvc doesn't like macros with var args. 
2730         I simply removed the extra 0, was it a feature or a typo ?
2731
2732         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
2733         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
2734         because the value assignment to the internal struct wasn't working.
2735         I'm not absolutely sure. The problem could have been resolved by
2736         changing the "func" declartion in the struct, but was the pointer
2737         to the function pointer intended ?
2738
2739         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
2740
2741         * gdk/gdk.def : updated exported symbols
2742
2743         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
2744         only use SetDIBitsToDevice if there is a palette at the drawable
2745         and the image is GDK_VISUAL_PSEUDO_COLOR
2746
2747         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
2748
2749         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
2750
2751         * gdk/*/makefile.msc : updated
2752
2753 2001-02-19  Havoc Pennington  <hp@redhat.com>
2754
2755         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
2756         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
2757
2758         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
2759         (gdk_key_repeat_restore): nuke
2760
2761         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
2762         (gdk_init_check): no atexit func
2763
2764         * gdk/gdkrgb.h: mark some stuff deprecated
2765
2766         * gdk/gdkcolor.h: mark some stuff deprecated
2767         
2768         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
2769
2770         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
2771
2772 2001-02-16  Havoc Pennington  <hp@redhat.com>
2773
2774         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
2775         scroll steps.
2776
2777         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
2778         steps, and add Ctrl-arrow shortcuts for paging visually as with
2779         HScale, since Page Up and Page Down move logically.
2780
2781         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
2782         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
2783         
2784         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
2785         steps
2786         (gtk_range_scroll): handle the visual steps
2787
2788         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
2789         scroll steps
2790
2791         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
2792         steps, not the logical ones.
2793
2794         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
2795         (scroll_vertical): handle up/down steps
2796
2797 2001-02-19 Alexander Larsson  <alexl@redhat.com>
2798
2799         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
2800         Copy data and free data with free().
2801
2802         * gdk-pixbuf/gdk-pixbuf.c:
2803         * gdk-pixbuf/io-jpeg.c:
2804         * gdk-pixbuf/io-png.c:
2805         Use g_try_malloc/g_free instead malloc/free.
2806         
2807         * gdk-pixbuf/test-gdk-pixbuf.c:
2808         Must... initialize... gobject...
2809         
2810         * gdk-pixbuf/pixops/timescale.c:
2811         * gtk/gtkcalendar.c:
2812         Use g_malloc instead of malloc.
2813         
2814 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
2815
2816         * gtk/testgtkrc:
2817         Comment out property assignments, these don't work yet.
2818
2819 2001-02-17  Havoc Pennington  <hp@pobox.com>
2820
2821         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
2822         bit.
2823
2824 2001-02-17  Havoc Pennington  <hp@pobox.com>
2825
2826         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
2827         shadowed variables that had broken size request in some cases,
2828         leading to bogus tooltips (#50996)
2829
2830 2001-02-06  Jon K Hellan  <hellan@acm.org>
2831
2832         Implement fast browsing of tooltips, bug #50619
2833         
2834         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
2835         and last_popdown
2836         
2837         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
2838         use_sticky_delay and last_popdown.
2839         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
2840         time of popdown.
2841         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
2842         is NULL.
2843         (gtk_tooltips_recently_shown): New static function.  Return true
2844         if < sticky_delay has elapsed since last popdown.
2845         (gtk_tooltips_event_handler): Display window after sticky_delay
2846         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
2847         since last popdown.
2848         
2849 2001-02-17  Havoc Pennington  <hp@pobox.com>
2850
2851         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
2852         instead of (). #6394
2853
2854         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
2855         G_CONST_RETURN, make it return by reference, #50473
2856         
2857 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
2858
2859         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
2860         generated ENTER_NOTIFY event with 0, otherwise not explicitely
2861         setup fields contain garbage (e.g. subwindow, breaking
2862         gdk_drawable_ref() upon event copy).
2863         (gtk_menu_stop_navigating_submenu_cb): same here.
2864
2865         * gtk/gtklist.c (gtk_list_vertical_timeout): 
2866         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
2867         * gtk/gtkclist.c (vertical_timeout): 
2868         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
2869         default-zero-intialization for unions to memset(,0,), as unions are
2870         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
2871         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
2872
2873         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
2874         g_closure_sink() warning.
2875
2876         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
2877         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
2878         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
2879         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
2880         
2881 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
2882
2883         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
2884         gtk_*_store_get, and moved to GtkTreeModel.
2885
2886         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
2887
2888         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
2889
2890         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
2891
2892         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
2893         set the func.
2894
2895         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
2896         freeze/thaw notify between setting all the properties for a cell.
2897
2898         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
2899
2900 2001-02-15  Havoc Pennington  <hp@redhat.com>
2901
2902         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
2903         the X coordinates so they're with respect to the line, rather than 
2904         with respect to the layout.
2905
2906         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
2907         Mallabone
2908
2909         * gtk/testgtk.c (create_range_controls): add vscale tests, 
2910         and inverted test
2911
2912         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
2913         #50806
2914
2915         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
2916
2917         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
2918         gtk_text_iter_is_end
2919
2920         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
2921         rename gtk_text_buffer_get_end_iter
2922
2923         * gtk/testgtk.c (create_labels): Add test for selectable
2924
2925         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
2926         the selection stuff. This code is kind of broken since it doesn't 
2927         use the theme engine.
2928
2929         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
2930         fix infinite loop and y offset problem
2931         (gdk_draw_layout_line_with_colors): fix foreground color handling
2932
2933         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
2934         that makes the label selectable.
2935         
2936         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
2937         layout when the style is set, since fonts etc. could have changed.      
2938
2939 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
2940
2941         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
2942
2943         * gtk/gtktreemodelsimple.[ch]: removed.
2944
2945 2001-02-16  Alexander Larsson  <alexl@redhat.com>
2946
2947         * gtk/gtktreemodelmapping.[ch]:
2948         New files. Implement GtkTreeModelMapping.
2949         
2950         * gtk/Makefile.am:
2951         Add gtktreemodelmapping.[ch].
2952         
2953         * gtk/gtk.h:
2954         Add gtktreemodelmapping.h
2955
2956         * gtk/treestoretest.c:
2957         Test the GtkTreeModelMapping
2958
2959 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
2960
2961         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
2962         have a demo, we might as well pass in real values.  Thanks to
2963         clahey for pointing this out.
2964
2965 2001-02-14  Havoc Pennington  <hp@pobox.com>
2966
2967         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
2968         "static" to a private function
2969         (gtk_image_menu_item_class_init): remove destroy handler,
2970         add "image" object property
2971
2972 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
2973
2974         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
2975         Add a shortcut if the window and the current clip_region doesn't
2976         overlap. This is needed when there are a lot of windows in a
2977         window. The layout test in testgtk is a good test.
2978
2979         * gdk/linux-fb/gdkwindow-fb.c:
2980         Whitespace fix.
2981
2982 2001-02-13  Sven Neumann  <sven@convergence.de>
2983
2984         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
2985
2986 2001-02-13  Alexander Larsson  <alexl@redhat.com>
2987
2988         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
2989         Don't reference last_cursor if it is null. Fixes crash when rotating
2990         the screen before having moved the mouse.
2991
2992         * gdk/linux-fb/gdkcc-fb.c: Zapp!
2993
2994         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
2995
2996         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
2997         when using 90 or 270 degrees rotation.
2998
2999 2001-02-12  Havoc Pennington  <hp@pobox.com>
3000
3001         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
3002         it always set the foreground, even if we were only using
3003         a stipple.
3004         (gdk_draw_layout_line_with_colors): new function, allow
3005         override colors
3006         (gdk_draw_layout_with_colors): new function, allow override
3007         colors
3008         (gdk_pango_layout_line_get_clip_region): function to get the clip
3009         region for a logical text range
3010         (gdk_pango_layout_get_clip_region): get the clip region for a
3011         logical text range
3012
3013         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
3014         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
3015         the right number of arguments.
3016
3017         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
3018         enhance the function to check that node data corresponds to a 
3019         view still belonging to the tree.
3020
3021         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
3022         GtkTreePath
3023         (gtk_tree_view_inserted): ditto
3024         (gtk_tree_view_child_toggled): ditto
3025
3026         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
3027         simplify this code.
3028
3029         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
3030         a PangoAttrList
3031
3032         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
3033
3034         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
3035
3036         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
3037         size in the size request 
3038         (gtk_menu_bar_size_allocate): consider toggle size here
3039
3040         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
3041         that displays a widget in the toggle slot
3042
3043         * gtk/testgtk.c: test GtkImageMenuItem
3044
3045         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
3046         
3047         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
3048         request and allocation
3049
3050         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
3051
3052         * gtk/gtkcheckmenuitem.c
3053         (gtk_check_menu_item_toggle_size_request): ditto
3054         
3055 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
3056
3057         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
3058         reference.
3059
3060         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
3061         and refuse to initialize GTK+ if they fail.
3062
3063 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
3064
3065         * configure.in: Add check for gtk-doc version.
3066
3067 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
3068
3069         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
3070         where the xpad/ypad was only being used on one side!
3071
3072 2001-02-11  Tor Lillqvist  <tml@iki.fi>
3073
3074         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
3075         function, copied from X11 version.
3076
3077         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
3078         DestroyCursor failures. The reason for the problem (despite the
3079         inconsistent messages from GetLastError()) was that
3080         DestroyCursor() cannot be called while a cursor is set in a
3081         window. Set the new cursor first and then destroy the old one.
3082         Thanks to jpe@archaeopteryx.com.
3083
3084         * gdk/win32/gdkcc-win32.c: Remove.
3085
3086         * gdk/win32/Makefile.am: Remove from here, too.
3087         
3088         * gdk/gdk.def
3089         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
3090
3091         * gtk/gtk.def
3092         * gtk/makefile.mingw.in: Updates.
3093
3094 2001-02-08  Havoc Pennington  <hp@redhat.com>
3095
3096         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
3097         add a widget to a bin that already has a child.
3098
3099         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
3100
3101         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
3102         
3103         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
3104
3105         * gdk/gdk.h: remove gdkcc.h
3106
3107         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
3108
3109         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
3110         GdkPixbuf, since the previous implementation was GdkColorContext
3111         dependent.
3112
3113         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
3114         
3115 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
3116
3117         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
3118         a sane value!
3119
3120 2001-02-08  Havoc Pennington  <hp@redhat.com>
3121
3122         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
3123         lighten them.
3124
3125 2001-02-08  Havoc Pennington  <hp@redhat.com>
3126
3127         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
3128         validation idle
3129
3130         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
3131         cell renderer
3132
3133         * demos/pixbuf-demo.c (timeout): remove deprecated
3134         gtk_widget_draw
3135
3136         * demos/testpixbuf-save.c (main): remove deprecated
3137         gtk_drawing_area_size
3138
3139         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
3140         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
3141         at the start of the allocation.
3142         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
3143         unsetup or NULL model.
3144
3145         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
3146         even/odd/sorted cells in the tree view.
3147
3148         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
3149         bugfixes
3150
3151         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
3152         backgrounds with draw_flat_box using different detail for even/odd
3153         rows.
3154
3155         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
3156         row, so we can draw the alternating colors thing
3157
3158         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
3159         property from a synonym property, notify for the synonym.
3160         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
3161         (gtk_text_tag_get_property): Always return the font, even if
3162         all its fields aren't set
3163
3164         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
3165         store the attr list; it leaves us with no way to change attributes
3166         in _render according to the render flags, and no way to implement
3167         get_property. Instead store all the specific text attributes. 
3168         Separate whether an attribute is enabled from its value. Sync all
3169         properties with GtkTextTag, make them all consistent, etc.
3170
3171         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
3172         renderers can highlight the sort row/column     
3173
3174         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
3175         accessor functions to get values; this has the side effect of
3176         showing up which accessor functions were missing. Added those.
3177
3178         * gtk/gtktreeviewcolumn.h: Replace set_justification with
3179         set_alignment, to be consistent with GtkLabel, GtkMisc
3180
3181         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
3182         arrow.
3183
3184         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
3185
3186         * gtk/gtktreesortable.h: updates in here
3187
3188 2001-02-07  Sven Neumann  <sven@convergence.de>
3189
3190         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
3191         pango dimensions after painting the background. We used to draw
3192         gigantic flat boxes here.
3193
3194 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
3195
3196         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
3197         error introduced with earlier commit) (pointed out by
3198         Ollie Lho)
3199
3200 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
3201
3202         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
3203         which are no longer necessary.
3204
3205 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
3206
3207         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
3208
3209 2001-02-04  Tor Lillqvist  <tml@iki.fi>
3210
3211         * gdk/gdk.def
3212         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
3213         Provide dummy implementations.
3214
3215 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
3216
3217         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
3218
3219         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
3220         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
3221         deprecated this function.
3222
3223         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
3224         argument.
3225
3226 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
3227
3228         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
3229
3230 2001-02-03  Havoc Pennington  <hp@pobox.com>
3231
3232         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
3233         Mikael Hermansson with patch from Mikael (if there was a toggle
3234         start one after the first character in the range, this function
3235         was broken). Bug #50380
3236
3237 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
3238
3239         * configure.in: Remove confusing comment about X11.
3240
3241 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
3242
3243         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
3244         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
3245         
3246 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
3247
3248         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
3249         it breaks things on BSD. If you want to compile GTK+ with
3250         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
3251         when configuring, since GTK+ simply can't be "pure ANSI" 
3252         in the header files it uses. (#8170, Greg Hudson)
3253
3254 2001-02-02  Havoc Pennington  <hp@redhat.com>
3255
3256         * gtk/gtkwindow.c: docs
3257
3258         * gtk/gtkwidget.c: docs
3259         (gtk_widget_set_colormap): add a reference to the colormap
3260         (gtk_widget_get_default_colormap): add a reference to the colormap
3261
3262         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
3263
3264         * gtk/gtktextiter.c: docs
3265
3266         * gtk/gtkmain.c (gtk_propagate_event): docs
3267
3268         * gtk/gtkpaned.c (gtk_paned_get_position): docs
3269         (gtk_paned_set_position): docs
3270
3271         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
3272         sort interface, no implementation yet.
3273
3274         * demos/testpixbuf.c (new_testrgb_window): replace
3275         gtk_drawing_area_size() with gtk_widget_set_usize()
3276
3277         * demos/testpixbuf-drawable.c (main): ditto
3278         
3279         * gtk/testgtk.c: remove use of GtkStatusbarMsg
3280
3281         * gtk/gtktextbuffer.c: docs
3282
3283         * gtk/gtkstock.c: docs
3284
3285         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
3286
3287         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
3288
3289         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
3290         
3291         * gtk/gtkimage.c: add some docs in here
3292         (gtk_image_size_request): change name of
3293         gtk_widget_render_stock_icon
3294         (gtk_image_get_icon_set): don't dup returned string
3295         (gtk_image_get_icon_set): don't dup returned string
3296
3297         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
3298         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
3299         and gtkiconfactory.h functions
3300
3301         * gtk/gtkiconfactory.c: add some docs in here
3302
3303         * gtk/gtkmain.c (gtk_get_default_language): document
3304         (gtk_get_current_event): document
3305         (gtk_get_current_event_state): document
3306         (gtk_get_event_widget): document
3307
3308         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
3309
3310         * gtk/gtkcontainer.c: Add some documentation
3311         (gtk_container_add): give a more explanatory warning on adding an
3312         already-parented widget, this is kind of a FAQ and also a common
3313         typo that's easier to debug with a nice warning 
3314
3315         * gtk/gtkcellrenderertoggle.c
3316         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
3317         adding this, it's useless
3318         (gtk_cell_renderer_toggle_set_active): remove
3319         (gtk_cell_renderer_toggle_get_radio): add
3320
3321         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
3322         the NULL cell renderer, that doesn't make any sense to me. 
3323
3324         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
3325         demo code should never use deprecated features.
3326
3327         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
3328         code should never use deprecated features.
3329
3330         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
3331         gtk_widget_queue_clear_area deprecated
3332
3333         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
3334         deprecated
3335
3336         * gtk/gtklabel.h: mark gtk_label_get() deprecated
3337
3338         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
3339         a GdkImage deprecated, replaced by new consistently-named
3340         functions       
3341
3342         * gtk/gtkmain.h: Mark gtk_exit() deprecated
3343
3344         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
3345
3346         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
3347         deprecated
3348
3349         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
3350         so it won't appear in docs and confuse people.
3351
3352         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
3353
3354         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
3355         macros deprecated. (can't mark the type itself deprecated, since
3356         GtkProgressBar is not deprecated and we need the type decl to use
3357         GtkProgressBar)
3358
3359         * gtk/gtkpixmap.h: Mark deprecated
3360
3361         * gtk/gtkoldeditable.h: Mark deprecated
3362
3363         * gtk/gtklist.h: Mark deprecated
3364
3365         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
3366         for anything anymore.
3367
3368         * gtk/gtkctree.h: Mark deprecated
3369
3370         * gtk/gtkclist.h: Mark deprecated
3371
3372         * gtk/gtkpreview.h: Mark deprecated
3373
3374         * gtk/gtkpacker.h: Mark deprecated
3375
3376         * gtk/gtktipsquery.h: Mark deprecated
3377
3378         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
3379
3380         * gtk/gtkvruler.h: Add comment that it will move out of GTK
3381
3382         * gtk/gtkhruler.h: Add comment that it will move out of GTK
3383
3384         * gtk/gtkruler.h: Add comment that it will move out of GTK
3385
3386         * gtk/gtkgamma.h: Add comment that it will move out of GTK
3387
3388         * gtk/gtkcurve.h: Add comment that it will move out of GTK
3389
3390 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
3391
3392         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
3393         gdk_colormap_sync private since it was never exported
3394         in a header file.
3395
3396         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
3397         colormap->colors[] for StaticGray, StaticColor colormaps.
3398
3399         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
3400         was being used as if it was image->bits_per_pixel.
3401
3402         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
3403         for the image in the GdkImage structure since it isn't
3404         reconstructable, and we need it to handle packed types
3405
3406         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
3407         the assumption that on Win32 image->bits_per_pixel == image->depth,
3408         always.
3409
3410         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
3411
3412         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
3413         warning message if no converter can be found. 
3414
3415 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
3416
3417         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
3418         chars to isupper() / tolower(). (#567)
3419
3420         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
3421         to clear up 64-bit warnings. (#567)
3422
3423 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
3424
3425         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
3426         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
3427
3428         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
3429         since some people set $(libdir) separately. (#1290, David Kaelbling)
3430
3431 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
3432
3433         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
3434         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
3435         MAXPATHLEN, but the code here depends on a fixed value.)
3436         (#4524)
3437
3438 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
3439
3440         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
3441         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
3442
3443 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
3444
3445         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
3446         viewable there is no way that moving the node will cause the 
3447         focus row to become not viewable, so omit check on the visibility
3448         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
3449
3450 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
3451
3452         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
3453         selection before inserting new text.
3454
3455 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
3456
3457         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
3458         Make the sensitivity of the reparented child track that of
3459         the original parent menu item. (#34218, David Hodson)
3460
3461         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
3462         the case where the current item is destroyed properly.
3463
3464         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
3465         some edge cases with child-less menuitems.
3466         
3467 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
3468
3469         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
3470         key pop down window. (#12074, Jon K Hellan)
3471
3472 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
3473
3474         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
3475         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
3476         The solution here isn't perfect - you get an extraneous
3477         emission of "toggle", which could conceivably confuse an app,
3478         but better than the current situation. LXR search seems to
3479         indicate that no apps in GNOME CVS connect to "toggle".
3480
3481 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
3482
3483         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
3484         gtk_public_h_sources to directly here to avoid warning when
3485         building srcdir != builddir. (#9656)
3486
3487 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
3488
3489         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
3490         handlers in gtkrange.c return the proper values (TRUE == handled)
3491         (#10316).
3492
3493         This is just the tip of the iceberg, but gtkrange.c is the
3494         most common place where the propagation is problematical,
3495         and also a place where it is almost certainly safe to change
3496         this in the stable branch.
3497
3498         (You don't want right click popups on a range control or anything...)
3499
3500 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
3501
3502         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
3503         area on focus out, even if a background pixmap isn't set.
3504         (#13941)
3505         
3506 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
3507
3508         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
3509         to deal with setting the shape properly when scrolling arrows are
3510         turned on, but not visible because there is sufficient space.
3511         (#13432)
3512
3513 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
3514
3515         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
3516         items with submenus, destroy the item along with the submenu.
3517         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
3518         properly.
3519
3520         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
3521         later.
3522
3523 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
3524
3525         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
3526         the focus widget sometimes wasn't drawn with the default if there
3527         was no default widget.
3528
3529         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
3530         unreference pixmaps. 
3531
3532         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
3533         for some extra safety.
3534
3535 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
3536
3537         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
3538         the text of a cell to the old pointer value better, by
3539         copying the new text before freeing the old text. Some code
3540         cleanup. (#8079, Karl Nelson)
3541
3542 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
3543
3544         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
3545         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
3546
3547 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
3548
3549         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
3550         item from a menu, check to see if it matches 
3551         menu->old_active_menu_item, and if so, unref and clear
3552         old_active_menu_item (Patch from Pavel Cisler)
3553
3554         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
3555         menu_shell->active_menu_item, if it is the child being
3556         removed. (Patch based on that of Gene Ragan, #50337)
3557
3558 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
3559
3560         * gdk/linux-fb/gdkselection-fb.c: 
3561         * gdk/linux-fb/gdkcolor-fb.c: 
3562         * gdk/linux-fb/gdkdrawable-fb2.c: 
3563         * gdk/linux-fb/gdkfont-fb.c: 
3564         * gdk/linux-fb/gdkim-fb.c: 
3565         * gdk/linux-fb/gdkinput.c: 
3566         * gdk/linux-fb/gdkkeyboard-fb.c: 
3567         * gdk/linux-fb/gdkmain-fb.c: 
3568         * gdk/linux-fb/gdkrender-fb.c: 
3569         A bunch of whitespace cleanup.
3570         
3571 2001-01-30  Havoc Pennington  <hp@pobox.com>
3572
3573         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
3574         #ifdef GTK_ENABLE_BROKEN.
3575
3576         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
3577         GTK_ENABLE_BROKEN just before including the broken headers.
3578         
3579         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
3580         deprecated types registered.
3581
3582         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
3583         we have to test the broken stuff.
3584
3585         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
3586         
3587 2001-01-30  Havoc Pennington  <hp@redhat.com>
3588
3589         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
3590         here where prev pointer was set to the wrong thing
3591
3592         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
3593         (gtk_tree_path_is_descendant): new function
3594
3595         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
3596         cached length
3597         (gtk_list_store_get_iter): don't modify iter if we can't get the
3598         path.
3599
3600         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
3601         
3602         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
3603         GtkTreeDragDest
3604
3605         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
3606         was causing segfault
3607
3608         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
3609         pointer to NULL
3610
3611         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
3612
3613         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
3614         on returning FALSE
3615         (gtk_list_store_iter_children): ditto
3616         (gtk_list_store_iter_nth_child): ditto
3617         (gtk_list_store_iter_nth_child): ditto
3618         (gtk_list_store_iter_parent): ditto
3619
3620         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
3621         on iter->user_data != NULL instead of silently accepting it.
3622         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
3623         we are returning TRUE.
3624         (gtk_tree_store_iter_children): ditto
3625         (gtk_tree_store_iter_nth_child): ditto
3626         (gtk_tree_store_iter_parent): ditto
3627         (gtk_tree_store_insert): remove handling of parent->user_data ==
3628         NULL, replace with parent == NULL       
3629
3630         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
3631         and a comment explaining things
3632
3633         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
3634         interface support to GtkTreeStore.
3635
3636         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
3637         FALSE if no prev, fix
3638
3639         * gtk/gtktreeview.c (set_source_row): use a row reference
3640         (set_dest_row): use a row reference
3641
3642 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
3643
3644         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
3645         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
3646         (gtk_tree_selection_select_iter): The same as above.
3647
3648 2001-01-26  Havoc Pennington  <hp@redhat.com>
3649
3650         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
3651         which holds a handle to a specific row (particular set of values
3652         in the model, i.e. pointer-identity row).
3653
3654         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
3655         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
3656         Still need to use it for the src/dest row saved on the drag context.
3657
3658 2001-01-26  Havoc Pennington  <hp@redhat.com>
3659
3660         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
3661
3662         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
3663         not offset by TREE_VIEW_HEADER_HEIGHT
3664         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
3665         TREE_VIEW_HEADER_HEIGHT
3666
3667         * configure.in (included_loaders): for me, --with-included-loaders
3668         generates the error "the specified loader yes does not exist",
3669         i.e. the arg defaults to "yes", so change test for value ""
3670         to test for value "yes", and include all loaders in that case.
3671
3672         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
3673
3674         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
3675         handle TREE_VIEW_VERTICAL_SEPARATOR
3676         (gtk_tree_view_bin_expose): fix to consider the row offset as
3677         pointing halfway into vertical separator.       
3678         (gtk_tree_view_draw_node_focus_rect): ditto
3679
3680         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
3681         --gtk-debug=updates, which causes gdk_window_set_debug_updates
3682         (TRUE) to be called.
3683
3684         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
3685         debug mode where the invalid region is colored in on invalidate,
3686         so you can see the flicker and know whether your redraw code is 
3687         doing a good job.
3688
3689         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
3690         tree window coordinates (clip rect is in tree window coords)
3691
3692         * gtk/Makefile.am: add gtktreednd.[hc]
3693
3694         * gtk/gtkliststore.c: implement gtktreednd interfaces.
3695
3696         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
3697         drag-and-drop data operations on a model (so we can set up tree
3698         drag-and-drop automatically)
3699
3700         * gtk/testgtk.c: Add a window to change sensitivity in the
3701         GtkLabel test; add a way to change the entry frame in GtkEntry
3702         test
3703
3704         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
3705         (gtk_entry_get_has_frame): new functions to remove the frame
3706         around an entry
3707         (gtk_entry_size_request): shrink requisition if no frame
3708         (gtk_entry_draw_focus): don't draw frame if no frame
3709
3710         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
3711         checks inside a cell renderer
3712         (gtk_default_draw_option): ditto for options
3713
3714         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
3715         children from the alignment, not the button
3716         (gtk_tree_view_column_init): ref/sink the column, to emulate
3717         GObject refcounting.
3718
3719         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
3720         
3721         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
3722         Use theme functions to draw the toggles 
3723
3724         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
3725
3726         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
3727         GdkPangoAttrEmbossed to use in rendering insensitive text
3728
3729         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
3730
3731         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
3732         using new GDK features
3733         
3734 2001-01-24  Alexander Larsson  <alexl@redhat.com>
3735
3736         * gtk/gtkimage.c:
3737         Splitted gtk_image_clear into gtk_image_clear() and
3738         gtk_image_reset(). Call gtk_image_clear() in ::destroy
3739         to avoid leaks.
3740
3741         * gtk/gtklabel.c (set_markup):
3742         Don't leak text.
3743
3744         * gtk/gtktextlayout.c:
3745         Always free display->shaped_objects.
3746
3747         * gtk/testgtk.c (create_clist):
3748         Don't leak custom style.
3749
3750 2001-01-23  Alexander Larsson  <alexl@redhat.com>
3751
3752         * gtk/gtkcolorsel.c (grab_color_at_mouse):
3753         Don't leak image. Simplify using gdk_colormap_query_color().
3754         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
3755
3756         * linux-fb/gdkcolor-fb.c:
3757         Implemented gdk_colormap_query_color.
3758
3759 2001-01-23  Alexander Larsson  <alexl@redhat.com>
3760
3761         * linux-fb/gdkcursor-fb.c:
3762         Don't leak built-in cursors.
3763
3764         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
3765         Don't leak tmp_points.
3766
3767         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
3768         Don't modify desc. Don't leak font if the PangoFont
3769         isn't found.
3770         
3771         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
3772         Free dash_list.
3773
3774         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
3775         Don't leak string.
3776         
3777 2001-01-20  Havoc Pennington  <hp@pobox.com>
3778
3779         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
3780         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
3781         me, matches Pango
3782
3783 2001-01-22  Havoc Pennington  <hp@redhat.com>
3784
3785         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
3786
3787         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
3788
3789         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
3790         Remove, move back to gdk-pixbuf
3791
3792         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
3793         to all the word functions
3794
3795         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
3796         before doing anything on NULL layout or if we don't have the focus
3797
3798         * gtk/testtext.c (fill_example_buffer): "justification"
3799
3800         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
3801         to be called "justification" not "justify"
3802
3803         * demos/gtk-demo/textview.c (create_tags): "justification"
3804         
3805         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
3806
3807 2001-01-22  Alexander Larsson  <alexl@redhat.com>
3808
3809         * gdk/gdkwindow.c (gdk_window_invalidate_region):
3810         Don't leak visible_region. Use visible_region instead of region.
3811         
3812         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
3813         Don't do extra gdk_drawable_ref(). This is not X.
3814         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
3815         gdk_fb_focused_window is ref:ed.
3816         (gdk_fb_window_send_crossing_events): Watch out for destroyed
3817         windows.
3818
3819 2001-01-22  Alexander Larsson  <alexl@redhat.com>
3820
3821         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
3822         Don't leak the PangoFontDescriptor.
3823
3824 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
3825
3826         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
3827         when not realized.
3828         (gtk_tree_view_scroll_to_cell): Make work when not realized.
3829         (gtk_tree_view_realize): add scroll_to support
3830         (gtk_tree_view_finalize): add a finalize method.  Populate.
3831         (gtk_tree_view_insert_column): ref and sink the column.
3832         (gtk_tree_view_append_column): ref and sink the column.
3833         (gtk_tree_view_queue_draw_node): New function to handle redrawing
3834         individual nodes.  Should make the code much more efficient, if
3835         actually used.
3836
3837 2001-01-19  Havoc Pennington  <hp@redhat.com>
3838
3839         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
3840         byte_offset variable was being used to mean both "offset into
3841         layout" and "offset into buffer line" which was no longer true
3842         with addition of preedit string; fix
3843
3844 2001-01-19  Havoc Pennington  <hp@redhat.com>
3845
3846         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
3847
3848         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
3849         function
3850
3851         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
3852         implement
3853
3854         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
3855         scroll_to_cell, matches TextView scroll functions better
3856         (gtk_tree_view_tree_to_widget_coords): new function
3857         (gtk_tree_view_widget_to_tree_coords): new function
3858         (gtk_tree_view_get_visible_rect): new function
3859         (gtk_tree_view_get_path_at_pos): accept negative coordinates
3860         (gtk_tree_view_draw_node_focus_rect): new function moved from
3861         draw_focus, also, use width of bin_window as width of the focus
3862         rect
3863         (gtk_tree_view_expand_row): fix bug where it didn't recognize
3864         already-expanded rows
3865         (gtk_tree_view_get_cell_rect): new function
3866         (gtk_tree_view_get_path_at_pos): return the click position
3867         relative to the passed-in cell
3868         (gtk_tree_view_set_expander_column): new function
3869
3870         * configure.in: remove gtk-config-2.0 chmod
3871
3872         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
3873         and properly handle drags with targets we don't understand
3874         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
3875         scrolling anyway
3876         (gtk_text_view_drag_drop): stop scrolling here though, and set the
3877         mark invisible
3878
3879         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
3880         function
3881         (gtk_drag_dest_get_target_list): new function
3882         (gtk_drag_dest_set_target_list): new function
3883         
3884         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
3885
3886         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
3887         related to drag-and-drop
3888
3889 2001-01-19  Alexander Larsson  <alexl@redhat.com>
3890
3891         * gdk/linux-fb/gdkprivate-fb.h:
3892         Define EMULATE_GDKFONT.
3893         Add extra pango_font stuff to GfkFontPrivate.
3894         
3895         * gdk/linux-fb/gdkdrawable-fb2.c:
3896         * gdk/linux-fb/gdkfont-fb.c:
3897         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
3898         emulation using PangoFont.
3899
3900 2001-01-17  Havoc Pennington  <hp@pobox.com>
3901
3902         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
3903         all the non-deprecated set_foo functions. Added missing object
3904         properties, and added g_object_notify() to setters. 
3905         Wrote docs.
3906         
3907 2001-01-18  Tor Lillqvist  <tml@iki.fi>
3908
3909         * gtk/gtkmain.c
3910         * gtk/gtkrc.c: (Win32) Use the new
3911         g_win32_get_package_installation_(sub)directory() functions.
3912
3913         * config.h.win32.in: New file.
3914         
3915         * config.h.win32: Removed.
3916
3917         * configure.in: Output config.h.win32.
3918
3919         * Makefile.am: Add it to EXTRA_DIST.
3920
3921         * gtk/gtk.def: Update.
3922
3923 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
3924
3925         * gtk/gtklabel.c (gtk_label_size_request): Set the
3926         attributes onto the PangoLayout even if they are newly
3927         created from label->pattern.
3928
3929 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
3930
3931         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
3932
3933         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
3934         structures in functions. Fixes bug where gtk_dataset_*
3935         was accidentally still being used in one place, causing
3936         every dest side event to be treated independently.
3937
3938         * gtk/gtkdnd.c: Remove last vestages of handling
3939         ::draw (fixes warning)
3940         
3941         * gtk/gtkentry.[ch]: Add drag and drop support.
3942
3943         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
3944         new function gtk_check_drag_threshhold() for checking
3945         to check if (dx,dy) has exceeded the threshhold for starting
3946         a drag and use it everywhere.
3947
3948 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
3949
3950         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
3951         add -I{includedir}/gtk-2.0.
3952
3953         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
3954         gdk/gdk-pixbuf.h: Doc fixups.
3955         
3956         * gtk/gtkobject.h: Remove trailing , from enum
3957
3958 2001-01-17 Alexander Larsson <alexl@redhat.com> 
3959
3960         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
3961         Doh! Mixed up x and y.
3962
3963         * gdk/linux-fb/gdkglobals-fb.c:
3964         Removed gdk_fb_pointer_grab_window_events,
3965         added _gdk_fb_pointer_grab_owner_events and
3966         _gdk_fb_keyboard_grab_owner_events.
3967
3968         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
3969         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
3970         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
3971         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
3972         Send crossing events after ungrab finished.
3973         (gdk_keyboard_grab): Set ..._owner_events
3974         (type_masks): Move out of function.
3975         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
3976         gdk_fb_keyboard_event_window): New functions, return the
3977         window an event should be targeted at. Handles grabs and
3978         event propagation. Can return NULL.
3979         (gdk_event_make): Remove event_mask checking. Now always
3980         returns an event.
3981                 
3982         * gdk/linux-fb/gdkkeyboard-fb.c:
3983         * gdk/linux-fb/gdkproperty-fb.c:
3984         * gdk/linux-fb/gdkselection-fb.c:
3985         Use new event_window/gdk_event_make() behaviour.
3986         
3987         * gdk/linux-fb/gdkmouse-fb.c:
3988         Use new event_window/gdk_event_make() behaviour.
3989         Only send motion events if in the same window.
3990         If grabbed, use cursor from window if sibling of grabbed
3991         window, and cursor from grabbed window otherwise.
3992
3993         * gdk/linux-fb/gdkprivate-fb.h:
3994         Update gdk_fb_window_send_crossing_events, gdk_event_make
3995         and grab varaible declarations. Add gdk_fb_*_event_window().
3996
3997         * gdk/linux-fb/gdkwindow-fb.c:
3998         Use new event_window/gdk_event_make() behaviour.
3999         Keep correct track of focus window.
4000         (gdk_window_set_events): Set all specific button motion masks
4001         if GDK_BUTTON_MOTION_MASK set.
4002
4003         * gtk/gtkdnd.c (gtk_drag_update):
4004         Free info->last_event if gdk_drag_motion returned FALSE.
4005
4006 2001-01-16  Tor Lillqvist  <tml@iki.fi>
4007
4008         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
4009         Eliminate redraws when input-only windows are shown or
4010         hidden. Thanks to jpe@archaeopteryx.com.
4011
4012 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
4013
4014         * docs/faq/gtk-faq.sgml: FAQ update:
4015           - Update to bugzilla
4016           - Add GTK+ and security/SUID/SGID
4017           - Add DnD question
4018
4019 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
4020
4021         * gdk/linux-fb/gdkdnd-fb.c:
4022         Some cleanups.
4023         
4024 2001-01-15  Havoc Pennington  <hp@pobox.com>
4025
4026         * tests/testtreeview.c: add test stuff for CellRendererToggle
4027
4028         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
4029         accessor
4030
4031         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
4032         only toggle on button press (would do release like GtkButton, but
4033         we'd need implicit grab code for treeview cells)
4034
4035 2001-01-16  Tor Lillqvist  <tml@iki.fi>
4036
4037         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
4038
4039         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
4040         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
4041
4042         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
4043         to g_{locale,filename}_{to,from}_utf8 to match current API.
4044
4045         * gtk/makefile.msc.in (gtk_OBJECTS)
4046         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
4047
4048         * gtk/gtk.def: Update.
4049
4050 2001-01-15  Tor Lillqvist  <tml@iki.fi>
4051
4052         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
4053         implementaion that more closely mimics the events that an X server
4054         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
4055         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
4056         with nested preview widgets, for instance, more responsive when
4057         you move the mouse quickly into them.
4058         (find_window_for_pointer_event): Make it actually compile.
4059         (gdk_event_translate): Set send_event to the value of
4060         InSendMessage (). This doesn't really mean the same as X11's
4061         send_event flag, but is close enough, says jpe@archaeopteryx.com
4062
4063 2001-01-15  Alexander Larsson  <alexl@redhat.com>
4064
4065         * gdk/linux-fb/gdkdnd-fb.c:
4066         Implemented drag and drop.
4067         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
4068         when it tries to free and then copy the same event (info->last_event).
4069         I am not sure about why this happens, but will continue looking.
4070
4071 2001-01-15  Alexander Larsson  <alexl@redhat.com>
4072
4073         * gdk/linux-fb/gdkwindow-fb.c:
4074         Use gdk_window_invalidate_rect instead of
4075         gdk_window_invalidate_rect_clear to minimise flashing.
4076         When hiding windows you need to clear the root window though.
4077
4078 2001-01-15  Alexander Larsson  <alexl@redhat.com>
4079
4080         * gdk/linux-fb/gdkdrawable-fb2.c:
4081         For optization, add an full_shapes argument to gdk_fb_clip_region.
4082         If this is false, only the cliprects of the shapes are used.
4083
4084         * gdk/linux-fb/gdkprivate-fb.h:
4085         Export gdk_fb_window_peek_shape.
4086         Add full_shapes to gdk_fb_clip_region.
4087
4088         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
4089         When moving a window, don't clear everything under the it, just the
4090         root window. Makes stuff faster and flash less.
4091         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
4092         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
4093         offset of the shape.
4094         
4095
4096 2001-01-12  Havoc Pennington  <hp@redhat.com>
4097
4098         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
4099         current invalid region, fixes redraw bug while scrolling the 
4100         text widget
4101
4102         * gtk/gtktextview.c, gtk/gtktextview.h:
4103         Rearrange the scrolling/validation/etc. code in a major way, 
4104         so it seems to make sense to me. Probably isn't genuinely that
4105         much better, but...
4106
4107         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
4108         notifies
4109
4110         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
4111
4112 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
4113
4114         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
4115         Hide mouse pointer while rotation. Show it afterwards.
4116
4117 2001-01-12  Alexander Larsson  <alexl@redhat.com>
4118
4119         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
4120         windows in consideration when generating clip region.
4121
4122         * gdk/linux-fb/gdkfb.h:
4123         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
4124
4125         * gdk/linux-fb/gdkprivate-fb.h:
4126         Add shape to GdkWindowFBDatat.
4127         exported gdk_fb_window_get_abs_shape().
4128         removed gdk_fb_draw_lines declaration.
4129
4130         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
4131         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
4132         send focus changes when there is a grabbed window.
4133         (gdk_window_get_pointer): Handle shaped windows.
4134         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
4135         (gdk_fb_window_peek_shape): Returns the shape for a window,
4136         handles GDK_FB_USE_CHILD_SHAPE.
4137         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
4138         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
4139         (gdk_window_shape_combine_mask): Implement.
4140
4141         * gtk/gtkwindow-decorate.c:
4142         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
4143         setting the shape of a window makes the window transparent.
4144
4145 2001-01-11  Havoc Pennington  <hp@redhat.com>
4146
4147         * gtk/gtktreemodelsimple.h: Oops, broke some macros
4148
4149 2001-01-10  Havoc Pennington  <hp@redhat.com>
4150
4151         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
4152         add this function, bug 40251
4153
4154         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
4155         of type macro   
4156
4157 2001-01-11  Alexander Larsson  <alexl@redhat.com>
4158
4159         * acconfig.h:
4160         Added ENABLE_SHADOW_FB
4161
4162         * configure.in:
4163         Added --disable-shadowfb
4164
4165         * gdk/linux-fb/gdkcursor-fb.c:
4166         Update shadowfb when updating cursor
4167
4168         * gdk/linux-fb/gdkdrawable-fb2.c:
4169         Added wrappers for shadowfb that calls  the normal drawable
4170         methods, but calls gdk_shadow_fb_update(bounding box) when
4171         GdkWindows are drawed to.
4172         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
4173         which also returns the bounding box.
4174
4175         * gdk/linux-fb/gdkfb.h:
4176         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
4177
4178         * gdk/linux-fb/gdkgeometry-fb.c:
4179         Update shadowfb when scrolling window.
4180
4181         * gdk/linux-fb/gdkglobals-fb.c:
4182         Add _gdk_fb_screen_angle.
4183         
4184         * gdk/linux-fb/gdkkeyboard-fb.c:
4185         Test code for screen rotation. Shift-F2 in the xlate driver
4186         rotates the screen.
4187
4188         * gdk/linux-fb/gdkmain-fb.c:
4189         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
4190
4191         * gdk/linux-fb/gdkmouse-fb.c:
4192         Use fb_width/height instead of modeinfo.xres/yres.
4193
4194         * gdk/linux-fb/gdkprivate-fb.h:
4195         Added fb_men, fb_width, fb_height & fb_stride. When using
4196         shadow fb these can differ from the framebuffer stuff.
4197         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
4198         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
4199         _gdk_fb_screen_angle. Removed CM, RP.
4200
4201         * gdk/linux-fb/gdkrender-fb.c:
4202         Added code for shadowfb handling and screen rotation using
4203         shadowfb.
4204
4205         * gdk/linux-fb/gdkwindow-fb.c:
4206         Use fb_mem, fb_stride, fb_width, fb_height.
4207         Added recompute_rowstride to reset the rowstride of all windows.
4208         Added gdk_fb_recompute_all() which recomputes rootwindow size,
4209         window abs positions and window rowstrides. Usefull when the
4210         rotation has changed.
4211
4212 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
4213
4214         * docs/faq/gtk-faq.sgml: update to make web site updating easier
4215
4216 2001-01-10  Havoc Pennington  <hp@redhat.com>
4217
4218         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
4219         where sibling == iter
4220         (gtk_tree_store_insert_after): handle sibling == iter
4221         (gtk_tree_store_prepend): remove stamp checks
4222         (gtk_tree_store_insert_before): ditto
4223         (gtk_tree_store_append): ditto
4224         (gtk_tree_store_get_path): ditto
4225         (gtk_tree_store_get_value): ditto
4226         (gtk_tree_store_iter_has_child): ditto
4227         (gtk_tree_store_iter_n_children): ditto
4228         (gtk_tree_store_iter_nth_child): ditto
4229         (gtk_tree_store_insert_after): ditto
4230         (gtk_tree_store_is_ancestor): ditto
4231         (gtk_tree_store_iter_depth): ditto
4232         (gtk_tree_store_insert_before): assert that sibling's parent is
4233         the same as the passed-in parent
4234         (gtk_tree_store_insert_after): assert that sibling's parent is
4235         the same as the passed-in parent
4236
4237         
4238         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
4239         function to get the first iterator in a model
4240         
4241         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
4242         conventionally the "root" in this sense is just NULL afaict.
4243
4244         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
4245         where sibling == iter
4246         (gtk_list_store_insert_after): handle case where sibling == iter
4247
4248         * tests/testtreeview.c (run_automated_tests): fairly lame basic
4249         automated tests for ListStore, TreeStore
4250
4251         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
4252         (gtk_list_store_insert): update tail pointer, and fix it to work
4253         (gtk_list_store_insert_before): update tail pointer, and fix it to work
4254         (gtk_list_store_append): use tail to be faster
4255         (gtk_list_store_prepend): fix it, update tail pointer
4256         (gtk_list_store_insert_after): fix it, update tail pointer
4257
4258         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
4259         the list
4260
4261 2001-01-09  Havoc Pennington  <hp@redhat.com>
4262
4263         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
4264         is NULL due to a pending resize
4265
4266         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
4267         column width to values less than 1
4268
4269         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
4270         width to be between min/max width, and still set the width 
4271         even if autosize is turned on, so the tree view can use this 
4272         function in order to autosize.
4273         (gtk_tree_view_column_init): set initial width to 1 not 0
4274
4275         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
4276         setter function to modify column width, so we get notification
4277         (gtk_tree_view_insert_iter_height): ditto
4278         (gtk_tree_view_calc_size): ditto
4279         (gtk_tree_view_check_dirty): ditto
4280
4281         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
4282         properties to change all the interesting attributes of the tree
4283         view column.
4284         (gtk_tree_view_column_set_header_clickable): rename set_clickable
4285         (gtk_tree_view_column_get_clickable): add
4286         (gtk_tree_view_column_set_cell_renderer): don't unset the current
4287         attributes; assume a cell renderer with equivalent object
4288         properties has been swapped in. Do g_object_notify().
4289         (gtk_tree_view_column_set_visible): g_object_notify
4290         (gtk_tree_view_column_get_sizing): rename from get_col_type
4291         (gtk_tree_view_column_set_sizing): g_object_notify
4292         (gtk_tree_view_column_set_width): add g_object_notify
4293         (gtk_tree_view_column_set_min_width): ditto
4294         (gtk_tree_view_column_set_max_width): ditto
4295         (gtk_tree_view_column_set_title): ditto
4296         (gtk_tree_view_column_set_clickable): ditto
4297         (gtk_tree_view_column_set_widget): ditto
4298         (gtk_tree_view_column_set_justification): ditto
4299
4300 2001-01-09  Havoc Pennington  <hp@redhat.com>
4301
4302         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
4303         there are no rows in the model
4304
4305         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
4306         NULL, then return the start of the list
4307
4308         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
4309         if we can't get any rows from an empty model 
4310
4311         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
4312         extraneous * after function pointer typedef usage
4313
4314         * Makefile.am: don't specify full path to cp and rm
4315
4316         * gtk/gtkcellrenderertextpixbuf.c
4317         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
4318         NULL before dereferencing, fixes a segfault that happened from
4319         time to time
4320
4321         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
4322         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
4323         and reindent the function
4324         (gtk_cell_renderer_pixbuf_get_size): indentation
4325
4326         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
4327         we quit it
4328         (gtk_dialog_add_buttons_valist): add g_return_if_fail
4329         (gtk_dialog_set_default_response): New function, to set default
4330         button
4331         (gtk_dialog_set_response_sensitive): New function, to set 
4332         sensitivity of buttons
4333
4334         * gtk/gtkcellrendererpixbuf.c
4335         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
4336         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
4337
4338         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
4339         handle any G_TYPE_OBJECT subclass, not just the base class, and 
4340         also boxed types.
4341         (_gtk_tree_data_list_value_to_node): ditto
4342
4343         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
4344         --gtk-debug=tree
4345
4346         * gtk/gtkmain.c: add GTK_DEBUG_TREE
4347
4348         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
4349
4350 2001-01-09  Tor Lillqvist  <tml@iki.fi>
4351
4352         * gdk/win32/gdkevents-win32.c: Implement better mouse
4353         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
4354         (find_window_for_pointer_event): New function.
4355         (gdk_event_translate): Use it when handling mouse events.
4356
4357 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
4358
4359         * configure.in:
4360         Added --with-included-loaders option
4361
4362         * gdk-pixbuf/Makefile.am:
4363         * gdk-pixbuf/gdk-pixbuf-io.c:
4364         Add support for including selected gdk-pixbuf loaders only.
4365
4366         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
4367         gtk_window_set_has_frame):
4368         Added inline documentation.
4369
4370         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
4371         * docs/reference/gdk/tmpl/windows.sgml:
4372         Added inline documentation.
4373
4374 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
4375
4376         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
4377         realizing buttons that have already been realized.
4378
4379 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
4380
4381         * tests/testtreeview.c (main): Show menu items before adding to
4382         option menu.
4383
4384         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
4385         around if we kill them.
4386
4387         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
4388         Return if we pass in a NULL model.
4389
4390 2001-01-08  Havoc Pennington  <hp@redhat.com>
4391
4392         * tests/testtreeview.c: hack on this some
4393
4394         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
4395         gtk_tree_store_set_valist, v is for arrays, valist for varargs
4396         list
4397         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
4398
4399         * gtk/gtkliststore.h: Add varargs set() and get() convenience
4400         functions
4401
4402 2001-01-08  Alexander Larsson  <alexl@redhat.com>
4403
4404         * gtk/gtkwindow-decorate.[hc]:
4405         * gtk/Makefile.am:
4406         New files. Contains an implementation of a minimal WM for
4407         linux-fb.
4408
4409         * gtk/gtkwindow.h:
4410         Add the possibility for GtkWindows to specify a frame. This
4411         is used for the window decoration code, but could concievably
4412         be used for X programs too (xmms style windows).
4413         GtkWindow->frame is the toplevel window if the window is framed.
4414         The signal frame_event gets all events that are targeted to
4415         GtkWindow->frame.
4416         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
4417         
4418         * gtk/gtkwindow.c:
4419         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
4420         Call out to gtkwindow-decorate.c for WM support in linx-fb.
4421
4422 2001-01-08  Alexander Larsson  <alexl@redhat.com>
4423
4424         * docs/README.linux-fb:
4425         Correct filename ~/.pangoft2_aliases
4426
4427         * gdk/gdkwindow.h:
4428         Added new function gdk_window_get_decorations.
4429
4430         * gdk/linux-fb/gdkfb.h:
4431         Removed _gdk_window_get_decorations declaration.
4432         Renamed _gdk_window_set_child_handler to
4433         gdk_fb_window_set_child_handler.
4434
4435         * gdk/linux-fb/gdkwindow-fb.c:
4436         Renamed _gdk_window_set_child_handler to
4437         gdk_fb_window_set_child_handler.
4438
4439         * gdk/x11/gdkwindow-x11.c:
4440         New function gdk_window_get_mwm_hints().
4441         Implemented gdk_window_get_decorations.
4442
4443         * docs/reference/gdk/tmpl/windows.sgml:
4444         * docs/reference/gdk/gdk-sections.txt:
4445         Added gdk_window_get_decorations docs.
4446         
4447 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
4448
4449         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
4450         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
4451         gdk_fb_window_send_crossing_events):
4452         Possibly send focus events when the mouse moves from one
4453         window to another.
4454
4455 2001-01-07  Tor Lillqvist  <tml@iki.fi>
4456
4457         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
4458         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
4459         to match current API.
4460
4461         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
4462         environment variable is set, don't call g_error when on a
4463         palettized (PseudoColor) display. Some people want to use GTK+ 
4464         in 256-colour mode even though works only partially.
4465
4466         * gdk/gdk.def
4467         * gtk/gtk.def
4468         * gtk/makefile.mingw.in: Update.
4469
4470 2001-01-05  Havoc Pennington  <hp@redhat.com>
4471
4472         * tests/testtreeview.c: hack on this a bit
4473
4474         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
4475         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
4476
4477         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
4478         was spelled incorrectly
4479         (GTK_IS_TREE_MODEL_SIMPLE): ditto
4480
4481         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
4482         from gtk_tree_view_set_headers_active   
4483
4484         * gtk/gtktexttag.c:
4485         (gtk_text_tag_get_property): handle PROP_DIRECTION
4486         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
4487         properties, bug 40235
4488
4489         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
4490         forward_to_line_end
4491
4492 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
4493
4494         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
4495         modules/input/gtkimcontextxim.c: Adapt to new prototypes
4496         for unicode,locale,filename conversion functions.
4497
4498 2001-01-05  Havoc Pennington  <hp@redhat.com>
4499
4500         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
4501         broken if called on the first position in the buffer.
4502
4503         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
4504         forward_to_delimiters to be called only if we aren't already at
4505         the delimiters.
4506
4507 2001-01-05  Havoc Pennington  <hp@redhat.com>
4508
4509         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
4510
4511 2001-01-05  Alexander Larsson  <alexl@redhat.com>
4512
4513         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
4514         colormap in here. Sync from X port.
4515         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
4516         Sync from X port.
4517         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
4518         This happens now and then, and i don't think it is a bug.
4519         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
4520         != endpoint.
4521         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
4522         GDK_LINE_SOLID.
4523
4524         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
4525         some of the fields filled in at least.
4526
4527         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
4528         miLineArcD is no more, remove it from the function definition.
4529
4530 2001-01-04  Havoc Pennington  <hp@redhat.com>
4531
4532         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
4533         this
4534
4535         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
4536         user_data instead of tree_node
4537
4538         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
4539         TREE_VIEW_COLUMN_SIZE
4540
4541         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
4542         "size" field to "width" finishes bug 40061
4543
4544         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
4545         for bitfields, bug 40268
4546
4547 2001-01-04  Havoc Pennington  <hp@redhat.com>
4548
4549         Rename some stuff:
4550         
4551         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
4552
4553         s/GtkModelSimple/GtkTreeModelSimple/g;
4554         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
4555         s/gtk_model_simple/gtk_tree_model_simple/g;
4556         s/gtkmodelsimple/gtktreemodelsimple/g;
4557
4558         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
4559
4560         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
4561         s/column_set_col_type/column_set_sizing/g;
4562
4563         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
4564         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
4565
4566         s/GtkCellRendererType/GtkCellRendererState/g;
4567         
4568         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
4569         (gtk_cell_renderer_toggle_class_init): change "state" property to
4570         "active", to match GtkToggleButton
4571         (gtk_cell_renderer_toggle_get_active): new function, bug
4572         40269
4573         (gtk_cell_renderer_toggle_set_active): new function
4574         (gtk_cell_renderer_toggle_set_property): route changes to toggle
4575         state through gtk_cell_renderer_set_active
4576
4577 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
4578
4579         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
4580         temporarily until they work again.  Brought up to date with
4581         changes in the model.
4582         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
4583         model.
4584
4585 2001-01-04  Havoc Pennington  <hp@redhat.com>
4586
4587         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
4588         equal to the line length, then position iterator before paragraph 
4589         separators. Fixes crash reported by Mikael Hermansson when
4590         pressing left arrow from the start of a line.   
4591
4592         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
4593         about byte indexes off the end
4594         (iter_set_from_char_offset): add g_error about char offsets
4595         off the end
4596
4597 2001-01-03  Havoc Pennington  <hp@redhat.com>
4598
4599         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
4600
4601         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
4602         of private functions; remove inclusion of private headers.
4603
4604         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
4605         function, so we don't need private functions in gtktextdisplay.c
4606
4607         * gtk/gtktextiterprivate.h: underscore-ification
4608
4609         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
4610         to instead say "only useful to implement widgets"
4611
4612         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
4613         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
4614         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
4615
4616         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
4617         This function was completely broken
4618
4619         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
4620
4621         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
4622
4623         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
4624
4625         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
4626
4627         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
4628
4629         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
4630
4631         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
4632         gtk_paint_layout
4633
4634         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
4635         gtk_paint_layout
4636
4637         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
4638         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
4639         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
4640         which were not implemented.     
4641
4642         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
4643         insert_pixbuf signal. Rename delete_text to delete_range since it
4644         also deletes pixbufs and child anchors. This almost closes bug
4645         40245 (still need to deal with child anchors)
4646
4647         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
4648         insert_pixbuf, change signal names as appropriate, change types of
4649         signals taking marks/tags to have the specific type, not just
4650         G_TYPE_OBJECT
4651         
4652         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
4653         closes bug 40051
4654
4655         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
4656         unnecessary remove_contents() call
4657         (gtk_option_menu_class_init): add a "changed" signal, closes
4658         bug 40039
4659         (gtk_option_menu_update_contents): emit "changed" if the 
4660         active menu item changes
4661
4662         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
4663         cast to GtkObject, reported by Jonas Borgstrom
4664         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
4665         we can't do stuff with side effects in finalize. Instead, spew a
4666         warning if the loader isn't closed.
4667
4668         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
4669         colormap in here, non-X ports probably need to sync to this change
4670
4671         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
4672         assertion that colormap != NULL, you can set the colormap to NULL
4673         if you like.
4674         
4675         * Makefile.am: remove gtk-config-2.0
4676
4677         * configure.in: Use pkg-config to locate GLib. Remove
4678         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
4679         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
4680         Use pkg-config to locate Pango. Output correct Pango libs to
4681         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
4682
4683         * Makefile.am (pkgconfig_DATA): install only target-specific pc
4684         files
4685         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
4686         X11 pc files
4687
4688         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
4689         unref from here
4690
4691 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
4692
4693         * configure.in:
4694         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
4695
4696 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
4697
4698         * gtk/gtktextlayout.c
4699         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
4700         variable when moving back onto a single line.
4701
4702 2001-01-01  Havoc Pennington  <hp@redhat.com>
4703
4704         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
4705
4706         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
4707
4708         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
4709         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
4710
4711 2001-01-01  Havoc Pennington  <hp@redhat.com>
4712
4713         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
4714
4715         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
4716         GtkTextAttributes
4717
4718         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
4719         #40246
4720         (gtk_text_attributes_copy_values): rename from 
4721         gtk_text_attributes_copy
4722         (gtk_text_attributes_copy): a more standard GTK copy function, 
4723         which returns a new object
4724
4725 2001-01-01  Havoc Pennington  <hp@redhat.com>
4726
4727         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
4728         
4729         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
4730         don't fill in tree_view->priv->selection, kind of an unexpected
4731         side effect
4732
4733         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
4734         gtkintl.h
4735         
4736         * gtk/gtkcellrenderer.c: Remove definition of _ and include
4737         gtkintl.h
4738         (gtk_cell_renderer_get_property): remove calls to g_value_init
4739
4740         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
4741         gtkintl.h
4742
4743         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
4744         and include gtkintl.h
4745         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
4746         property names
4747
4748         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
4749         GtkTreeSelection
4750         (_gtk_tree_selection_new_from_with_view): rename, return
4751         GtkTreeSelection
4752         (_gtk_tree_selection_set_tree_view): rename with uscore
4753         (gtk_tree_selection_get_selected): fill in the "model" out param
4754         first, so it gets filled in even if we return at the top of the 
4755         function
4756         (gtk_tree_selection_real_select_all): add a comment and an else{}
4757         to clarify this a bit
4758         (gtk_tree_selection_real_unselect_all): add the same else{}
4759
4760         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
4761         set_tree_view to have underscore prefixes, move them to the
4762         private header, fix return type of new_with_tree_view
4763         (struct _GtkTreeSelection): mark struct
4764         fields private  
4765
4766         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
4767         GtkTreeModelFlags, not a guint
4768         (gtk_tree_path_prev): return gboolean not gint
4769         (gtk_tree_path_up): return gboolean not gint
4770
4771         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
4772         return GtkTreeModelFlags, not a guint
4773
4774         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
4775         that child model is non-null before unrefing it
4776         (g_value_int_compare_func): make this a qsort compare func, not 
4777         a boolean predicate
4778
4779         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
4780         (add -umn to the end), and mark it unimplemented
4781         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
4782         I don't see what it's for - doesn't the model always sort itself?
4783         (gtk_tree_model_sort_set_compare): this had the wrong signature
4784
4785         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
4786         Fix the docs to say that it destructively replaces existing
4787         attributes (previously said that it added attributes).
4788         (gtk_tree_view_column_set_visible): canonicalize bool before
4789         equality testing. Also, check for realization before
4790         hiding/showing the tree_column->window; if this window could exist
4791         before realization, then it's busted and needs fixing, we can't 
4792         create GDK resources pre-realization. Also, remove
4793         superfluous queue_resize(), since set_size() does that for us.
4794         (gtk_tree_view_column_set_col_type): check realization before 
4795         using tree_column->window
4796
4797         * gtk/gtktreedatalist.c: fix filename in copyright notice
4798
4799 2000-12-31  Havoc Pennington  <hp@pobox.com>
4800
4801         * gtk/gtktextview.c: Rearrange all the
4802         scroll-while-dragging-or-selecting code to be different, not
4803         necessarily better. ;-)
4804         (gtk_text_view_scroll_to_mark): Change this
4805         function to take within_margin as a fraction instead of a pixel
4806         value, and to take alignment arguments (indicating where to align 
4807         the mark inside the visible area)
4808         
4809         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
4810         to GtkObject
4811
4812         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
4813         behavior so that offsets past the end of the line are not 
4814         allowed, and an offset equal to the line length moves the iterator
4815         to the next line
4816         (gtk_text_iter_set_line_index): make parallel change
4817         (gtk_text_iter_get_bytes_in_line): add this function
4818         
4819         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
4820         of byte indexes off the end of the line; byte index at the end of
4821         the line now returns FALSE and doesn't fill in the requested
4822         values, byte index past the end of the line is an error.  Also,
4823         don't allow -1 offset anymore, since its meaning is unclear.
4824
4825         This change exposes some bug in visual cursor motion, where we
4826         end up with a huge invalid byte index; needs fixing. Symptom of 
4827         bug is a crash when you hit up arrow.
4828         
4829         (_gtk_text_line_char_locate): match the change to byte_locate
4830
4831         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
4832         from start of line properly. fixes bug reported by Mikael
4833         Hermansson where backspace would delete all text before the
4834         cursor.
4835
4836 2000-12-30  Tor Lillqvist  <tml@iki.fi>
4837
4838         * gdk/win32/gdkwindow-win32.c
4839         (gdk_window_impl_win32_get_visible_region): New function, as in
4840         the X11 backend.
4841         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
4842         instead of duplicating the same code here.
4843
4844         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
4845         GDK_COLORMAP macro.
4846
4847         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
4848         destroy function.
4849         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
4850         access that.
4851
4852         * gtk/gtk.def: Update.
4853
4854         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
4855
4856 2000-12-30  Havoc Pennington  <hp@pobox.com>
4857
4858         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
4859         colormap on input only windows, to avoid special cases all over
4860         the code for these windows.
4861
4862 2000-12-26  Tor Lillqvist  <tml@iki.fi>
4863
4864         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
4865         we are on a palettized display ("PseudoColor" in X11), as the code
4866         for that doesn't work anyway, and never has.
4867
4868 2000-12-22  Alexander Larsson  <alexl@redhat.com>
4869
4870         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
4871         Don't use isprint() for chars > 255.
4872
4873 2000-12-21  Havoc Pennington  <hp@redhat.com>
4874
4875         * tests/testtreeview.c: more work
4876
4877 2000-12-21  Alexander Larsson  <alexl@redhat.com>
4878
4879         * docs/README.linux-fb:
4880         Update the docs to the new pangoft2 way.
4881
4882 2000-12-21  Alexander Larsson  <alexl@redhat.com>
4883
4884         * configure.in:
4885         For linux-fb get the pangoft2 cflags and libs. This needs a recent
4886         pango version.
4887         Remove modules/linux-fb/Makefile.
4888
4889         * gdk/linux-fb/gdkdrawable-fb2.c:
4890         Render glyphs using freetype.
4891
4892         * gdk/linux-fb/gdkfb.h:
4893         Add new fb-specific functions needed for managing windows.
4894
4895         * gdk/linux-fb/gdkmain-fb.c:
4896         Remove gdk_font_init/fini() calls.
4897
4898         * gdk/linux-fb/gdkpango-fb.c:
4899         Remove old implementation. Use pangoft2 instead.
4900
4901         * gdk/linux-fb/gdkprivate-fb.h:
4902         Remove PangoFBFont and related stuff.
4903
4904         * gdk/linux-fb/gdkwindow-fb.c:
4905         Implement drawable->get_visible_region.
4906         Implement support for _gdk_window_set_child_handler () and
4907         _gdk_window_get_decorations().
4908
4909         * modules/Makefile.am:
4910         Remove linux-fb subdir.
4911
4912         * modules/linux-fb/*:
4913         Removed all.
4914         
4915 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
4916
4917         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
4918         calls, as they are no longer needed.
4919
4920         * gtk/gtktreemodelsort.c: Fix up the comparison code.
4921         
4922         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
4923         figure out how to emit a signal on an interface.
4924
4925 2000-12-20  Havoc Pennington  <hp@redhat.com>
4926
4927         * tests: new directory to contain tests, gtk/test* should move
4928         here sometime (with appropriate on-cvs-server hackery)
4929
4930         * tests/testtreeview.c, tests/Makefile.am: a test
4931         
4932         * configure.in (AC_OUTPUT): add tests/Makefile
4933
4934         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
4935         and "invisible_set" which were missing
4936
4937         * gtk/gtkrbtree.h: some cheesy indentation fix
4938         
4939 2000-12-20  Alexander Larsson  <alexl@redhat.com>
4940
4941         * gtk/gtkinvisible.c (gtk_invisible_realize):
4942         Attach the style to the window so that the style it is not
4943         leaked when unrealizing the window.
4944
4945 2000-12-18  Havoc Pennington  <hp@redhat.com>
4946
4947         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
4948         begin/end user action where appropriate
4949         (gtk_text_view_commit_handler): add begin/end user action
4950
4951         * gtk/gtktextbuffer.c: add begin/end user action signals, and
4952         bracket interactive operations with begin/end user action pair.
4953         
4954         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
4955         "interactive" arg from insert_text and delete_text signals.
4956         Add begin_user_action, end_user_action signals
4957         (gtk_text_buffer_begin_user_action): 
4958         (gtk_text_buffer_end_user_action): New functions to delimit 
4959         a user-visible action
4960
4961         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
4962         signals.
4963         
4964 2000-12-18  Havoc Pennington  <hp@redhat.com>
4965
4966         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
4967         was pretty non-working.
4968
4969         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
4970         by passing the length to g_utf8_validate().
4971
4972 2000-12-16  Havoc Pennington  <hp@pobox.com>
4973
4974         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
4975         Port to GObject, can go back in gdk-pixbuf after setting up 
4976         a gdk-pixbuf-marshal.h header over there.
4977
4978         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
4979         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
4980         args
4981         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
4982         set
4983         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
4984         here, do it when we create the buttons later
4985         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
4986         (gtk_tree_view_map): paranoia checks that column->button is shown 
4987         and unmapped
4988         (gtk_tree_view_size_request): only request visible children.
4989         Move header size calculation in here, for cleanliness, and 
4990         to maintain invariants for child widgets if we eventually 
4991         let users set different children inside the buttons
4992         (gtk_tree_view_map_buttons): factor out code to map buttons,
4993         since it was being called several times
4994         (gtk_tree_view_size_allocate_buttons): move_resize the drag
4995         windows instead of just moving them; their height may change 
4996         if we allow random widgets in there, or the theme changes.
4997         (gtk_tree_view_size_allocate): move button size allocation 
4998         above emitting the scroll signals, to ensure a sane state when we
4999         hit user code
5000         (gtk_tree_view_button_release): remove queue_resize after
5001         tree_view_set_size(), set_size() will handle any resize queuing
5002         that's needed
5003         (gtk_tree_view_focus_in): just queue a draw, don't fool with
5004         draw_focus goo
5005         (gtk_tree_view_focus): use gtk_get_current_event() and
5006         gdk_event_get_state()
5007         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
5008         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
5009         semicolon
5010         (gtk_tree_view_create_button): show the button here
5011         (gtk_tree_view_button_clicked): actually emit the clicked signal
5012         on the column
5013         (_gtk_tree_view_set_size): return right away if the size is
5014         unchanged, as a cheesy optimization
5015         (gtk_tree_view_setup_model): rename set_model_realized to 
5016         setup_model to match the flag that indicates whether we've 
5017         called it
5018         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
5019         exist, because set_scroll_adjustment does that and it shouldn't
5020         matter what order you call these in
5021         (gtk_tree_view_get_vadjustment): ditto
5022         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
5023         for paranoia
5024         (gtk_tree_view_set_headers_visible): call
5025         gtk_tree_view_map_buttons() instead of using cut-and-paste code
5026         (gtk_tree_view_append_column): clarify whether the return value
5027         is the count of columns before or after, and do the increment 
5028         separately from the return statement so you can tell from the code.
5029         (gtk_tree_view_remove_column): ditto
5030         (gtk_tree_view_insert_column): ditto
5031         (gtk_tree_view_get_column): remove g_return_if_fail for columns
5032         outside the existing range, the docs say that outside-range
5033         columns are allowed, so we handle them as documented. (Presumably
5034         this allows a nice loop with column != NULL as test.)
5035         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
5036         mean (left/right/center etc.).
5037         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
5038         (gtk_tree_view_expand_row): add docs
5039         (gtk_tree_view_collapse_row): add docs
5040
5041         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
5042         function to emit the clicked signal on a column
5043         
5044         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
5045         state of an event
5046         (gdk_event_get_time): don't treat GDK_SCROLL 
5047         as a button event, remove default case from switch so gcc 
5048         will whine if we don't explicitly handle all event types
5049
5050         * gtk/gtktreeselection.h: added some FIXME 
5051         
5052         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
5053         "columns" to "n_columns" and "column" to "columns" for clarity
5054
5055 2000-12-16  Havoc Pennington  <hp@pobox.com>
5056         
5057         * gtk/gtktextiter.c: General cleanup of the log attr iteration
5058         stuff. This should make e.g. the delete key work again in the
5059         text widget...
5060         (gtk_text_iter_forward_cursor_positions): handle negative count
5061         (gtk_text_iter_backward_cursor_positions): handle negative count
5062         (gtk_text_iter_forward_word_ends): handle negative count
5063         (gtk_text_iter_backward_word_starts): handle negative count
5064
5065         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
5066         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
5067         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
5068         GObject. No doubt will cause breakage.
5069
5070         * demos/gtk-demo/textview.c: remove hacks around
5071         non-GObject-ification of the text objects
5072
5073         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
5074         the text tag
5075         
5076 2000-12-14  Havoc Pennington  <hp@pobox.com>
5077
5078         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
5079         that we have Xrender
5080
5081 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
5082
5083         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
5084         Add two virtualized functions gdk_drawable_get_clip_region - to
5085         get the clip region when drawing.
5086         
5087         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
5088         use invalidate_region.
5089
5090         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
5091         region.
5092
5093         * acconfig.h configure.in: Check for Xft. For now, assume
5094         that if Xft is found, Pango was compiled with Xft support
5095         as well.
5096
5097         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
5098         gdk_colormap_query_color().
5099         
5100         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
5101         with Xft if appropriate.
5102
5103         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
5104         a pangoxft context if we have XFT and the environment
5105         variable GD_USE_XFT is set.
5106         
5107         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
5108         and also possibly an XftDraw structure.
5109
5110         * gtk/gtkfontsel.c: Handle the case where the font from the
5111         style doesn't match any of the fonts a bit better.
5112         
5113         * gtk/testgtk.c: Add tabs between directional segments for
5114         hebrew/arabic test. (Not really necessary, just a little
5115         prettier.)
5116
5117 2000-12-14  Havoc Pennington  <hp@redhat.com>
5118
5119         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
5120         reading a file
5121
5122 2000-12-14  Havoc Pennington  <hp@redhat.com>
5123
5124         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
5125         unused call to get_last_line()
5126
5127         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
5128         here until boxed is working (and maybe after that - we should
5129         really not gratuitously break old code)
5130
5131         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
5132         specific types for font_desc and tabs args, move them to
5133         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
5134         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
5135
5136         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
5137         use GTK_TYPE_POINTER for signal signatures as a hack-around
5138
5139         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
5140         PangoTabArray
5141
5142         * gtk/gtktextlayout.c (line_display_iter_to_index): 
5143         make static
5144         (line_display_index_to_iter): make static
5145
5146         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
5147         to marshal a string not a boxed
5148
5149         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
5150
5151         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
5152         since the UTF-8 isn't validated yet
5153
5154         * gtk/gtktextsegment.c (char_segment_check_func): don't require
5155         lines to end in '\n'
5156         
5157         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
5158         forward_to_delimiters, and grapheme boundaries
5159         (gtk_text_view_delete_from_cursor): properly handle non-newline
5160         delimiters, and grapheme boundaries
5161
5162         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
5163         to gtk_text_iter_forward_to_delimiters, and make it work properly
5164         if empty lines end with a character other than '\n'
5165
5166         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
5167         position
5168
5169 2000-12-15  Tor Lillqvist  <tml@iki.fi>
5170
5171         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
5172
5173         * gtk/gtk.def
5174         * gdk/gdk.def: Update.
5175
5176         * gdk/win32/gdkmain-win32.c
5177         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
5178         gdkmain-win32.c here.
5179
5180         * gdk/win32/makefile.mingw.in (all): No need to make
5181         gdk-win32res.o here, the makefile one step up will call us to make
5182         it.
5183
5184         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
5185         gdkkeys-win32.
5186
5187         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
5188
5189         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
5190         call to g_source_add().
5191
5192         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
5193         leak. Thanks to Andreas Kemnade.
5194
5195 2000-12-13  Havoc Pennington  <hp@pobox.com>
5196
5197         * gtk/gtktextbtree.h: Remove double _ in front of some functions
5198
5199         * gtk/gtktext*.[hc]: update accordingly
5200         
5201 2000-12-13  Havoc Pennington  <hp@pobox.com>
5202
5203         * gtk/gtktextbtree.h: Put _ in front of every function in this 
5204         header file
5205
5206         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
5207
5208 2000-12-13  Alex Larsson  <alexl@redhat.com>
5209
5210         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
5211         Add support for ps2 intellimouse.
5212
5213         * gdkkeyboard-fb.c:
5214         Move shift-F1 repaint handling to xlate handler only.
5215         
5216         * docs/README.linux-fb:
5217         Add imps2 to docs.
5218         Document the new refresh keys.
5219         
5220 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
5221
5222         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
5223
5224         * gtk/gtkbox.c: change property types from (u)long to (u)int for
5225         ::position and ::padding.
5226
5227         * gtk/gtkcontainer.c: make ::border_width an INT property.
5228
5229         * gtk/gtkpacker.c: make ::position an INT property.
5230
5231         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
5232         guard against NULL h/v scrollbars, since this is used at construction
5233         time.
5234
5235         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
5236         internal gtk_clist_constructor().
5237
5238         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
5239         gtk_ctree_constructor().
5240
5241         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
5242         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
5243
5244         * docs/reference/Makefile.am: fun stuff, disabled docs generation
5245         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
5246
5247         * gtk/gtkwidget.[hc]:
5248         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
5249         and gtk_widget_get().
5250         (gtk_widget_new): use g_object_new_valist().
5251         (gtk_widget_set): use g_object_set_valist().
5252
5253         * gtk/gtkobject.[hc]:
5254         removed gtk_object_arg_get_info(), gtk_object_getv(),
5255         gtk_object_query_args(), gtk_object_newv(),
5256         gtk_object_class_add_signals(),
5257         gtk_object_class_user_signal_new(),
5258         gtk_object_class_user_signal_newv(),
5259         gtk_object_arg_set(), gtk_object_arg_get(),
5260         gtk_object_args_collect(),
5261         gtk_object_default_construct(),
5262         gtk_object_constructed(),
5263         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
5264         removed nsignals, signals and n_args members from GtkObjectClass.
5265         (gtk_object_new): use g_object_new_valist().
5266         (gtk_object_set): use g_object_set_valist().
5267         (gtk_object_get): use g_object_get_valist().
5268         
5269         * gtk/gtkcompat.h: define gtk_object_default_construct().
5270         
5271         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
5272         g_object_new().
5273
5274         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
5275         fucntions, cleaned up method assignments (make sure your structures
5276         are setup properly before calling out). removed all GTK_CONSTRUCTED
5277         hacks ;)
5278
5279 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
5280
5281         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
5282         off-by-one error in checks. (Dave Lambert)
5283
5284 2000-12-12  Alexander Larsson  <alexl@redhat.com>
5285
5286         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
5287         Don't free gdk_fb_keyboard twice.
5288
5289 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
5290
5291         * gtk/testgtk.c:
5292         (create_tooltips): 
5293         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
5294         use GObject swapped_signal:: properties instead.
5295
5296         * gtk/gtkcellrenderertoggle.c: 
5297         * gtk/gtkcellrenderertextpixbuf.c: 
5298         * gtk/gtkcellrenderertext.c: 
5299         * gtk/gtkcellrendererpixbuf.c: 
5300         * gtk/gtkcellrenderer.c:
5301         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
5302         missing warnings for invalid property ids, install properties
5303         with g_object_class_install_property() now.
5304         
5305         * gtk/gtksignal.c:
5306         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
5307         
5308 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
5309         
5310         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
5311         to determine if a window is the focus widget within
5312         its toplevel.
5313
5314         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
5315         to be boolean.
5316
5317         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
5318         of the case where the container CAN_FOCUS to here instead
5319         of having it in each individual move-the-focus place.
5320
5321         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
5322         focusing to be geometric in a much more obvious sense. Arrowing
5323         around is still non-intuitive because it isn't perfect and
5324         because entries, etc, grab the arrow keys, but it at least
5325         usually will do what you expect now.
5326         
5327         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
5328         file.
5329
5330         * gtk/gtknotebook.c: Change tabs to be a single item in
5331         the focus chain. Make movement of focus on tabs with arrow
5332         keys wrap around.
5333         
5334         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
5335         CHECK_FIND_CHILD macro to give informative error messages
5336         instead of silent returns.
5337
5338         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
5339         flag since we handle GdkReturn on the tabs.
5340
5341         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
5342         windows rather than sending expose events directly.
5343
5344         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
5345         definition for GtkNotebookPage into .c file, since it is private.
5346
5347         * gtk/testgtk.c (create_notebook): Add option for 
5348         testing borderless notebook.
5349
5350         * gtk/testgtk.c (page_switch): Removed egregious poking
5351         around in GTK+ internals.
5352
5353         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
5354
5355         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
5356         properly through gtk_clist_focus. Make the title headers a
5357         single item in the tab-focus chain, and make left-right wrap
5358         around.
5359
5360         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
5361         focus method so that wrapping around works properly.
5362
5363         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
5364         that is handled for the widget now. 
5365
5366 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
5367
5368         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
5369         widgets as TOPLEVEL.
5370
5371         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
5372         TOPLEVEL widgets are containers.
5373
5374         * gtk/gtkinvisible.h: Remove useless include.
5375
5376 2000-12-11  Havoc Pennington  <hp@redhat.com>
5377
5378         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
5379         Handle chopping off \r\n and 0x2029 in addition to \n before
5380         passing to PangoLayout
5381
5382         * gtk/gtkimcontextsimple.c
5383         (gtk_im_context_simple_get_preedit_string): 
5384         return an empty string if no match is pending
5385
5386         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
5387         assertion that the returned preedit string was sane
5388
5389         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
5390         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
5391         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
5392
5393 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
5394
5395         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
5396         Fix up finalizer to chain to its parent.
5397
5398 2000-12-11  Alexander Larsson  <alexl@redhat.com>
5399
5400         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
5401         Clearified the difference between the keyboard types. Wrote a note
5402         about the magic sysrq key to get out of raw mode.
5403
5404 2000-12-09  James Henstridge  <james@daa.com.au>
5405
5406         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
5407         member to hold masks for detecting the start of a protocol packet.
5408         (mouse_devs): add packet start masks for ps2 and ms device types.
5409         Left the mask for fidmour blank, as I have no idea what it should
5410         be.
5411         (handle_mouse_io): skip bytes until we get to the start of a
5412         packet.  My Logitech mouse seems to be passing an extra NULL pad
5413         byte, and GPM does a similar thing here.
5414         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
5415         this is the ms mouse driver.
5416         (gdk_fb_mouse_ms_packet): fix up button handling, which was
5417         completely broken except for button1.  It was checking the wrong
5418         bit in the packet for the status of the right mouse button, and
5419         wrongly assuming right == button2 rather than 3.  I fixed that and
5420         also added support for middle button (button2).
5421
5422 2000-12-08  Havoc Pennington  <hp@redhat.com>
5423
5424         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
5425         that cause a segfault on text insertion
5426
5427         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
5428         warning
5429
5430         * gtk/gtktextiter.c (test_log_attrs): use
5431         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
5432
5433         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
5434         Get log attrs for a line, using a cache stored on the buffer
5435         
5436         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
5437         reported by Jeff Franks
5438
5439 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
5440
5441         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
5442         /dev/ttyS0 -> /dev/mouse
5443
5444 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
5445
5446         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
5447         Added dummy gdk_fontset_load.
5448
5449 2000-12-08  Alexander Larsson  <alexl@redhat.com>
5450
5451         * docs/README.linux-fb:
5452         * docs/Makefile.am:
5453         Initial GtkFB docs.
5454         
5455         * gdk/linux-fb/Makefile.am:
5456         Define GDK_DATA_PREFIX.
5457
5458         * gdk/linux-fb/gdkmain-fb.c:
5459         Fix typo.
5460         Change default display to /dev/fb0.
5461
5462         * gdk/linux-fb/gdkpango-fb.c:
5463         Add $(prefix)/share/fonts/ to font path.
5464         
5465 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
5466
5467         * gdk/linux-fb/gdkkeyboard-fb.c:
5468         New file containing the abstracted keyboard driver. Most code
5469         taken from gdkinput-ps2.c
5470
5471         * gdk/linux-fb/gdkinput-ps2.c:
5472         Removed file.
5473         
5474         * gdk/linux-fb/Makefile.am:
5475         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
5476
5477         * gdk/linux-fb/gdkcolor-fb.c:
5478         display->fb was renamed to display->fb_fd.
5479
5480         * gdk/linux-fb/gdkcursor-fb.c:
5481         gdk_mouse_get_info -> gdk_fb_mouse_get_info
5482
5483         * gdk/linux-fb/gdkinput.c:
5484         Moved gdk_input_init here from gdkinput-ps2.c
5485
5486         * gdk/linux-fb/gdkmain-fb.c:
5487         display->fb was renamed to display->fb_fd.
5488         Now the tty and the console is opened here instead
5489         of in the keyboard driver. Also check GDK_VT to see what
5490         tty to open.
5491         Move gdk_beep () here from gdkinput-ps2.c
5492         gdk_mouse_get_info -> gdk_fb_mouse_get_info
5493
5494         * gdk/linux-fb/gdkmouse-fb.c:
5495         Add header.
5496         gdk_mouse_get_info -> gdk_fb_mouse_get_info
5497         Return correct keyboard modifiers.
5498         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
5499
5500         * gdk/linux-fb/gdkprivate-fb.h:
5501         Add tty and vt info to display.
5502         Add orignal modeinfo storage to display
5503         Update global functions
5504
5505         * gdk/linux-fb/gdkwindow-fb.c:
5506         Added gdk_fb_window_find_focus().
5507         gdk_mouse_get_info -> gdk_fb_mouse_get_info
5508
5509 2000-12-07  Havoc Pennington  <hp@pobox.com>
5510
5511         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
5512         function, noticed by Alex
5513
5514 2000-12-06  Elliot Lee  <sopwith@redhat.com>
5515
5516         * configure.in: Detect freetype properly
5517
5518         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
5519         above.
5520
5521 2000-12-06  Alexander Larsson  <alexl@redhat.com>
5522
5523         * gdk/linux-fb/Makefile.am:
5524         Add gdkmouse-fb.c
5525         
5526         * gdk/linux-fb/gdkmouse-fb.c:
5527         New file. Abstracted the mouse drivers a bit.
5528
5529         * gdk/linux-fb/gdkcursor-fb.c:
5530         The cursor hide/show functions was moved here from gdkinput-ps2.c.
5531
5532         * gdk/linux-fb/gdkinput-ps2.c:
5533         Removed old mouse handling code. Moved cursor handling code
5534         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
5535         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
5536         gdk_mouse_get_info.
5537
5538         * gdk/linux-fb/gdkmain-fb.c:
5539         Pass NULL pointers for x,y in gdk_mouse_get_info call.
5540
5541         * gdk/linux-fb/gdkprivate-fb.h:
5542         Removed public gdk_fb_find_common_ancestor, added and renamed
5543         functions for the new mouse handling code.
5544
5545         * gdk/linux-fb/gdkwindow-fb.c:
5546         Moved gdk_fb_window_send_crossing_events here. added global
5547         variable gdk_fb_window_containing_pointer. made
5548         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
5549         renamed to gdk_mouse_get_info.
5550
5551 2000-12-06  Alexander Larsson  <alexl@redhat.com>
5552
5553         * gdk/linux-fb/gdkevents-fb.c:
5554         Update to match latest gmain/gsource changes.
5555
5556         * gdk/linux-fb/gdkinput-ps2.c:
5557         Bogus gdk_keymap_get_entries_for_keycode implementation so that
5558         it links. Will be implemented later.
5559
5560 2000-12-03  Havoc Pennington  <hp@pobox.com>
5561
5562         * gdk/Makefile.am: add gdkkeys.[hc]
5563
5564         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
5565         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
5566
5567         * acconfig.h, configure.in: add checks and command line options
5568         for XKB
5569
5570         * gdk/x11/gdkkeys-x11.c: Implement the above functions
5571         
5572         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
5573         and group in the key event
5574
5575         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
5576         field with the low-level hardware key code, and a group
5577         field with the keyboard group
5578
5579         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
5580         and declare a couple globals used for keymap handling
5581         
5582         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
5583         hold down Shift-Control and type a hex number to get a Unicode 
5584         character corresponding to the hex number
5585         (gtk_im_context_simple_get_preedit_string): Fix cursor position
5586         (return bytes not chars)
5587
5588 2000-12-05  Elliot Lee  <sopwith@redhat.com>
5589
5590         * gdk/gdkcolor.h: Make GdkColor specify element sizes
5591         to avoid waste on 64-bit platforms.
5592
5593 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
5594
5595         * INSTALL: Fix link to PNG home, remove reference
5596         to fribidi.
5597
5598         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
5599         
5600         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
5601         tested.)
5602
5603         * gtk/gtkcheckmenuitem.c: Permanently turn on
5604         always_show_toggle.
5605
5606         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
5607         be NULL. (Vladimir Klebanov, #26545)
5608
5609         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
5610         some signed/unsigned comparison problems. (#6510,
5611         David Kaelbling)
5612
5613         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
5614         return type to boolean (Oskar Liljeblad, #18648)
5615
5616 2000-12-05  Alexander Larsson  <alexl@redhat.com>
5617
5618         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
5619         Remove bogus colormap setting.
5620
5621 2000-12-05  Alexander Larsson  <alexl@redhat.com>
5622
5623         * gdk/linux-fb/gdkcolor-fb.c:
5624         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
5625
5626         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
5627         Must set colormap.
5628         
5629 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
5630
5631         * docs/tutorial/gtk-tut.sgml: DND updates
5632
5633 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
5634
5635         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
5636         Remove old debug g_warning().
5637         (gdk_fb_draw_drawable): The src argument can be either a wrapper
5638         or an implementation, just pass the implementation to draw_drawable_2.
5639         
5640         * gdk/linux-fb/gdkprivate-fb.h:
5641         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
5642
5643         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
5644         clear and invalidate area when window is destroyed.
5645         (send_map_events): Remove old commented out code.
5646
5647 2000-12-05  Alexander Larsson  <alexl@redhat.com>
5648
5649         * gdk/linux-fb/gdkpango-fb.c:
5650         Use italic instead of oblique in font aliases.
5651         
5652         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
5653         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
5654         other unsupported functions.
5655
5656 2000-12-04  Havoc Pennington  <hp@redhat.com>
5657
5658         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
5659
5660         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
5661
5662         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
5663
5664         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
5665         hack to avoid infinite loops (synthetic expose event) - 
5666         Owen has more appropriate fixes in a branch he'll check in later.
5667
5668         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
5669         separator, CR, and CRLF as line ends
5670
5671         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
5672         into lines using pango_find_paragraph_boundary(); other bits of
5673         the widget are still going to be broken if the boundary isn't '\n'
5674         though
5675
5676 2000-12-04  Alexander Larsson  <alexl@redhat.com>
5677
5678         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
5679         multiply.
5680
5681         * gdk/linux-fb/gdkpango-fb.c:
5682         Copied some 26.6 scaling macros from pango to clean up the rounding.
5683         (pango_fb_font_get_glyph_info): Correct sign on x value.
5684
5685         * gdk/linux-fb/gdkprivate-fb.h:
5686         Removed unreferenced external functions.
5687
5688         * modules/linux-fb/Makefile.am: Use ` instead of '.
5689
5690         * modules/linux-fb/basic.c:
5691         Remove dead code. In particular the dummy lang engine which broke all
5692         pango layouts in GtkFB. Don't include tables-big.i anymore.
5693
5694         * modules/linux-fb/tables-big.i:
5695         Upgrade to latest version from pango. Left for reference, basic_ranges
5696         moved to basic.c.
5697         
5698 2000-12-04  Havoc Pennington  <hp@redhat.com>
5699
5700         Fix bugs Alex found:
5701         
5702         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
5703         to "draw"
5704
5705         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
5706
5707         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
5708
5709         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
5710         implementation in here, apparently the expose() implementation was
5711         dead code.
5712
5713 2000-12-04  Alexander Larsson  <alexl@redhat.com>
5714
5715         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
5716         Return positive descent.
5717
5718 2000-12-02  Havoc Pennington  <hp@pobox.com>
5719
5720         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
5721         method and signal
5722         
5723         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
5724         calls gdk_window_process_updates() to push the exposes through
5725         (gtk_widget_class_init): No more draw signal, no
5726         gtk_widget_real_draw()  
5727         
5728         * gtk/gtkbin.c (gtk_bin_draw): remove
5729
5730         * gtk/gtkbox.c (gtk_box_draw): remove
5731
5732         * gtk/gtkbutton.c (gtk_button_draw): remove
5733
5734         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
5735
5736         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
5737
5738         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
5739
5740         * gtk/gtkclist.c (gtk_clist_draw): remove
5741
5742         * gtk/gtkentry.c (gtk_entry_draw): remove
5743
5744         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
5745
5746         * gtk/gtkfixed.c (gtk_fixed_draw): remove
5747
5748         * gtk/gtkframe.c (gtk_frame_draw): remove
5749
5750         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
5751
5752         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
5753
5754         * gtk/gtklayout.c (gtk_layout_draw): remove
5755
5756         * gtk/gtklist.c (gtk_list_draw): remove
5757
5758         * gtk/gtklistitem.c (gtk_list_item_draw): remove
5759
5760         * gtk/gtkmenu.c (gtk_menu_draw): remove
5761
5762         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
5763
5764         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
5765
5766         * gtk/gtknotebook.c (gtk_notebook_draw): remove
5767
5768         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
5769
5770         * gtk/gtkpacker.c (gtk_packer_draw): remove
5771
5772         * gtk/gtkrange.c (gtk_range_draw): remove
5773
5774         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
5775
5776         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
5777
5778         * gtk/gtktable.c (gtk_table_draw): remove
5779
5780         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
5781
5782         * gtk/gtktext.c (gtk_text_draw): remove
5783
5784         * gtk/gtktextview.c (gtk_text_view_draw): remove
5785
5786         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
5787
5788         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
5789
5790         * gtk/gtktree.c (gtk_tree_draw): remove
5791
5792         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
5793
5794         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
5795
5796         * gtk/gtkviewport.c (gtk_viewport_draw): remove
5797
5798         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
5799
5800         * gtk/gtkvscale.c (gtk_vscale_draw): remove
5801
5802         * gtk/gtkwindow.c (gtk_window_draw): remove
5803
5804 2000-20-01  Anders Carlsson  <andersca@gnu.org>
5805
5806         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
5807         a GtkToggleButton is both insensitive and active, it was being
5808         drawn by the GtkButton draw handler which doesn't check the
5809         state. Now it's calling gtk_toggle_button_paint instead.
5810         
5811 2000-12-01  Havoc Pennington  <hp@redhat.com>
5812
5813         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
5814         dangling pointers to the appearance attributes from the 
5815         line display
5816
5817         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
5818         width/height to mean "full width/height of drawable"
5819
5820         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
5821         click to select word/line
5822         
5823         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
5824         when getting log attrs. Get a slice, so that pixmaps and stuff
5825         are properly handled.
5826
5827         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
5828         paste into the selection (replaces selection now, previously
5829         crashed or added to selection). Reveals longstanding btree bug -
5830         select multiple lines, middle-click on the selection, boom. This
5831         isn't related to my changes though.
5832
5833         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
5834         PangoLogAttrs changes
5835         (gtk_entry_move_backward_word): ditto
5836
5837         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
5838         functions return bool whether the iter moved onto a
5839         dereferenceable position.
5840  
5841         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
5842         functions for motion in terms of display lines.
5843
5844         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
5845         get the buffer a mark is inside
5846         
5847 2000-12-01  Alexander Larsson  <alexl@redhat.com>
5848
5849         * gdk/linux-fb/Makefile.am:
5850         * modules/linux-fb/Makefile.am:
5851         Freetype 2 final uses freetype-config
5852
5853         * gdk/linux-fb/gdkpango-fb.c:
5854         Upgrade to use Freetype 2 final.
5855         More flexible support for font aliases, this also fixes a bug with
5856         GtkFontSelector, as the aliases must be visible in the font/family list,
5857         or GtkFontSelector reads uninitialized memory.
5858
5859 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
5860
5861         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
5862         XGetIMValues to properly terminate variable argument list, and do
5863         NULL return check for ic_values and xim_styles.
5864
5865         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
5866         Restore preedit state after XmbResetIC().
5867         
5868         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
5869         XvaCreateNestedList() should take XvaNestedList, but not
5870         XvaNestedList*.
5871
5872         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
5873         preedit_draw_callback, preedit_caret_callback): Match
5874         "preedit-changed" signal name to "preedit_changed" to be
5875         consistent to the spec.
5876
5877         * gtk/gtkimcontextsimple.c (check_table):
5878         Match "preedit-changed" to "preedit_changed" to be consistent
5879         to the spec.
5880
5881 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
5882
5883         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
5884         gc->clip_region == NULL>
5885
5886 2000-11-30  Tor Lillqvist  <tml@iki.fi>
5887
5888         Changes by Hans Breuer:
5889         
5890         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
5891         Dont't use negative width and height as max_hints. This fixes
5892         Owen's recent testgtk changes for win32.
5893
5894         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
5895         gdk_win32_hdc_release): These are exported and may be called with
5896         other drawable types than our GdkDrawableImplWin32 (?).
5897
5898         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
5899         so always #define USE_BACKING_STORE.
5900
5901         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
5902         of printf for debugging output.
5903
5904         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
5905         
5906         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
5907
5908         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
5909         declaration.
5910
5911         * gtk/gtktexttypes.h: Ditto.
5912
5913         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
5914         (GDK_VoidSymbol) also if in case of arg check failure.
5915
5916         * gtk/gtkimcontextsimple.c
5917         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
5918         position to the pointer, but to the variable it points to.
5919
5920         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
5921
5922         * gtk/gtk.def: Updates.
5923
5924 2000-11-29  Elliot Lee  <sopwith@redhat.com>
5925
5926         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
5927         GTK_TYPE_TREE_MODEL.
5928
5929 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5930
5931         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
5932         Set the size of the font from the description.
5933         (gdk_text_width): Gross hack that calculates the width
5934         of text by text_length * size/2. This is necessary because
5935         GtkLabel does some ugly gtk_string_width call to calculate
5936         an good size.
5937         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
5938
5939 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
5940
5941         * docs/tutorial/gtk-tut.sgml: DND updates
5942
5943 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5944
5945         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
5946         If you pass width or height == 0 to gdk_window_clear_area they
5947         should be calculated from the window size.
5948
5949 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5950
5951         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
5952         a grab, but no grab-cursor, use the cursor from the grabbed
5953         window. (gdk_fb_window_send_crossing_events): Send normal
5954         enter/leave notifications if grab and owner_events == TRUE.
5955
5956 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5957
5958         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
5959         Do implicit button grabs, even if the window doesn't
5960         want the event.
5961         (gdk_fb_window_send_crossing_events): If there is a
5962         grab, only the grabbed window gets normal enter/leave
5963         notifications. On ungrab go from grabbed window to current.
5964         Don't send any notification to b when propagating from c -> b.
5965         If setting a grab on window, don't set prev_window.
5966         (handle_mouse_input): Send enter/leave events to the window the
5967         mouse is over, not the grabbed one.
5968         
5969 2000-11-28  Elliot Lee  <sopwith@redhat.com>
5970
5971         * gdk/gdkregion-generic.c: Zap warning.
5972         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
5973         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
5974
5975 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
5976
5977         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
5978         The cursor should be hidden if it is part of either the
5979         source or destination region. Not only if it is in both.
5980         (gdk_window_set_transient_for): Silence warnings.
5981
5982 2000-11-28  Alexander Larsson  <alexl@redhat.com>
5983
5984         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
5985         The default mode in X is Pie Arcs, therefore that is
5986         what Gtk+ uses.
5987
5988 2000-11-28  Alexander Larsson  <alexl@redhat.com>
5989
5990         * gdk/linux-fb/gdkinput-ps2.c:
5991         Implement correct EnterNotify/LeaveNotify:
5992         (gdk_fb_window_send_crossing_events): New function that sends
5993         all GdkCrossingEvents from the last mouse-window to the specified
5994         destination.
5995         (gdk_fb_window_visibility_crossing): Removed function.
5996         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
5997         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
5998         instead of gdk_window_get_pointer() for better readability.
5999
6000         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
6001         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
6002
6003         * gdk/linux-fb/gdkprivate-fb.h:
6004         removed gdk_fb_window_visibility_crossing, added
6005         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
6006
6007         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
6008         New function that finds the least common ancestor of two windows.
6009         (gdk_window_show, gdk_window_hide):
6010         Use gdk_fb_window_send_crossing_events.
6011         (gdk_fb_window_move_resize): Send configure events to toplevel
6012         windows. Use gdk_fb_window_send_crossing_events.
6013
6014 2000-11-27  Havoc Pennington  <hp@redhat.com>
6015
6016         * gtk/gtkprivate.h (enum): Remove a trailing comma
6017
6018 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
6019
6020         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
6021         the "changed" callback of the adjustment.  We need to redraw the
6022         spin button's arrows when the adjustment's range changes.
6023         (adjustment_changed_cb): Draw the arrows.
6024         (gtk_spin_button_value_changed): Draw the arrows.
6025
6026 2000-11-23  Alexander Larsson  <alexl@redhat.com>
6027
6028         * gdk/linux-fb/gdkselection-fb.c:
6029         Initial selection implementation.
6030
6031         * gtk/gtkselection.c:
6032         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
6033         requestor in gtk_selection_request.
6034         
6035         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
6036         Added gdk_selection_property atom.
6037
6038         * gdk/linux-fb/gdkprivate-fb.h:
6039         Export _gdk_selection_window_destroyed.
6040         Removed mask_off_x/y from GdkCursorPrivateFB.
6041         Removed hbearing, added top, left to PangoFBGlyphInfo.
6042
6043         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
6044         Call _gdk_selection_window_destroyed
6045         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
6046         the root window has been created.
6047         (static_dx_hack, static_dy_hack, compare_draw_rects,
6048         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
6049         in region. They are already sorted. Instead just traverse them in
6050         reverse if draw_direction < 0.
6051         
6052         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
6053         Double-clicks must be sent after the normal button_press.
6054         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
6055         
6056         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
6057         Pass _gdk_fb_screen_gc instead of NULL.
6058
6059         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
6060         Initialize gdk_selection_property.
6061         (gdk_event_make): Remove unused code.
6062
6063         * gdk/linux-fb/gdkcursor-fb.c:
6064         Make the pixmap for the cursor the same size as the mask. Also remove
6065         the mask_off_x/y fields in GdkCursorPrivateFB and combine
6066         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
6067         Now the whole cursor is visible.
6068
6069         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
6070         Fix bug where xdest+height instead of ydest+height was used
6071         to calculate if the source and dest overlapped. This fixes the
6072         redraw bug when the main window in testgtk was scrolled when
6073         partially covered by a tall window.
6074         Copy rectangles in region in order depending on draw_direction.
6075         Also moved the draw_direction flipping of start_y and end_y into
6076         the gc functions, as this might not be what all of them want.
6077         (gdk_fb_draw_lines): Support dashed lines.
6078         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
6079         so that the text is positioned correctly (was 1 pixel high).
6080
6081         gdk/linux-fb/gdkgc-fb.c:
6082         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
6083         all lines were drawn a pixel to short. Also checked the default of
6084         the rest of the values, and they're the same as X now.
6085
6086         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
6087         Clean up pixel positioning of the glyphs. Just use bgy->top and
6088         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
6089         to all divisions to get correct rounding behaviour.
6090
6091         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
6092         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
6093         Moved start_y/end_y flip into draw_drawable implementations.
6094         Flip also x rendering when draw_direction < 0.
6095         Remove unneccesary multiply with draw_direction.
6096
6097 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
6098
6099         * docs/tutorial/gtk-tut.sgml:
6100           - get rid of gtk_toggle_button_toggled FUD
6101           - start DND section - needs work - based on:
6102                 http://wolfpack.twu.net/docs/gtkdnd/
6103
6104 2000-11-22  Alexander Larsson  <alexl@redhat.com>
6105
6106         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
6107         Correct calculation of font metrics. Now GtkEntrys have sane
6108         size.
6109
6110 2000-11-22  Alexander Larsson  <alexl@redhat.com>
6111
6112         * gdk/gdktypes.h:
6113         Add new type GdkSpan
6114         
6115         * docs/reference/gdk/gdk-sections.txt,
6116         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
6117         gdk/gdkregion.h:
6118         Implement and document gdk_region_spans_intersect_foreach.
6119
6120         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
6121         Add new file gdkrender-fb.c which contains all core
6122         rendering code.
6123         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
6124         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
6125         (optimized rectangle fillers).
6126
6127         * gdk/linux-fb/gdkdrawable-fb2.c:
6128         Move all rendering code to gdkrender-fb.c.
6129         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
6130         Use the new span intersection functions in gdk_fb_fill_spans.
6131         gdk_fb_draw_rectangle() clips filled rectangles and calls
6132         gc->fill_rectangle with the result.
6133         gdk_fb_fill_spans() gets extra argument "sorted".
6134
6135         * gdk/linux-fb/gdkevents-fb.c:
6136         Remove unused includes and defines.
6137         New function gdk_fb_get_time() to get correct time for events.
6138
6139         * gdk/linux-fb/gdkinput-ps2.c:
6140         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
6141         Make sure to set the time of all events.
6142
6143         * gdk/linux-fb/gdkmain-fb.c:
6144         Use gdk_fb_get_time ().
6145
6146         * gdk/linux-fb/gdkprivate-fb.h:
6147         New virtual GC calls: fill_span & fill_rectangle.
6148         Export gdk_fb_get_time().
6149         gdk_fb_fill_spans() gets extra argument "sorted".
6150
6151         * gdk/linux-fb/mi*.c:
6152         Use GdkSpan instead of GdkRectangle.
6153         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
6154         from XFree 4 source)
6155         
6156 2000-11-22    <jrb@redhat.com>
6157
6158         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
6159         reversing the order in an if statement will do.  Doing so managed
6160         to make the treemodelsort half work.  Other half will follow after
6161         I get the insert function fully fixed.
6162
6163 2000-11-21  Elliot Lee  <sopwith@redhat.com>
6164         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
6165         more than 2 bits. Besides, I need to implement an evil hack. :)
6166
6167 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
6168
6169         * docs/tutorial/gtk-tut.sgml: minor corrections
6170
6171 2000-11-20  Jonathan Blandford <jrb@redhat.com>
6172         * gtk/gtktreemodelsort.h: Add convertion functions to let you
6173           convert to and from relative path's and iters.
6174
6175         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
6176           testing sorting functions a bit better.  Currently broken -- will
6177           fix in morning.
6178
6179 2000-11-20  Havoc Pennington  <hp@redhat.com>
6180
6181         * gtk/gtkwidget.c: Documented a bunch of functions in here
6182         (gtk_widget_realize): Warn if you try to realize
6183         a widget with no parent that isn't a toplevel
6184         (gtk_widget_intersect): return a gboolean
6185
6186 2000-11-20  Havoc Pennington  <hp@redhat.com>
6187
6188         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
6189         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
6190         scrolling to be implemented in GDK to finish. Also, right now
6191         we just size_allocate all children on every layout change,
6192         which is pretty lame. Test commented out of testtext.c, 
6193         until it works better.
6194
6195 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
6196
6197         * gdk/linux-fb/gdkdrawable-fb2.c:
6198         Removed unused arguments from gdk_fb_drawable_get_pixel().
6199
6200         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
6201         Renamed fidur specific mouse packet data in MouseDevice to
6202         generic. Used it in ps2 mouse handling code to avoid blocking
6203         reads.
6204
6205 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
6206
6207         * demos/gtk-demo/main.c: Changed to have the list become
6208         non-italic when the demo window is destroyed through an external
6209         event (like a close button).  Doing so found three bugs in the
6210         widget.
6211
6212         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
6213
6214         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
6215         we actually set the cell.
6216
6217         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
6218
6219         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
6220         free a leaked path.  Thanks memprof.
6221
6222 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
6223
6224         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
6225         off-by-one error when destroying allocated segments
6226         on failure. (Elliot)
6227
6228 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
6229
6230         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
6231         memleaks found by Evan Martin.
6232
6233 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
6234
6235         * Released 1.3.2
6236         
6237         * NEWS: Updates for 1.3.2
6238
6239 2000-11-17  Tor Lillqvist  <tml@iki.fi>
6240
6241         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
6242         but in general for window system specific events.
6243
6244         * gtk/gtk.def
6245         * gtk/makefile.mingw.in
6246         * gtk/makefile.msc.in: Update.
6247         
6248         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
6249
6250 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
6251
6252         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
6253         distribute gtk.immodules.
6254
6255         * gtk/Makefile.am (install-data-local): Don't install the
6256         gtk.immodules file created for the uninstalled modules;
6257         instead run gtk-query-immodules after install
6258
6259 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
6260
6261         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
6262         -rpath to the right install location.
6263
6264         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
6265         -export-dynamic.
6266
6267         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
6268         properly.
6269
6270 2000-11-15  Havoc Pennington  <hp@pobox.com>
6271
6272         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
6273         patch from Mikael Hermansson to temporarily stop blinking while
6274         the user is using the keyboard to type or navigate. 
6275
6276         Also, when blinking, stay on for longer than we stay off. Also,
6277         return from start_cursor_blink if !cursor_visible, to save
6278         checking that flag all over the place before we call
6279         start_cursor_blink.
6280
6281 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
6282
6283         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
6284         only contain a "fontset" line, which is now ignored.
6285
6286         * gtk/gtkentry.c (gtk_entry_button_release): Make 
6287         double-click-to-select-word work.
6288         
6289 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
6290
6291         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
6292         Don't move back one char when we are actually at the end of the 
6293         paragraph.
6294
6295 2000-11-15  Robert Brady  <robert@suse.co.uk>
6296
6297         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
6298         'o' < 'p'.
6299         
6300         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
6301         bind_textdomain_codeset.
6302
6303         (gtk_init_check): Make the warning about translating default:LTR
6304         sterner.
6305         
6306 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
6307
6308         * **/Makefile.am : remove unecessary rules for win32-specific
6309         config-substituted targets. If you want these rules, use
6310         --enable-maintainer-mode (called automatically by autogen.sh).
6311         Stops a lot of unneccessary make-time warnings.
6312
6313         * gtk/gtktext{layout,display}.c: Factor in total width as
6314         well as screen when figuring alignment for word-wrap as well as
6315         no wrap; this is necessary to handle lines that cannot be wrapped
6316         at all.
6317
6318 2000-11-15  Havoc Pennington  <hp@redhat.com>
6319
6320         * gtk/testtext.c: Implement essential color cycling feature
6321
6322 2000-11-15  Havoc Pennington  <hp@redhat.com>
6323
6324         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
6325         when we invalidate the main window.
6326
6327         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
6328         GtkTextView will now invalidate the side windows for us when text
6329         changes.
6330
6331 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
6332
6333         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
6334         unconditionally, since we may need to update the horizontal
6335         scrollbars even if the height didn't change.
6336
6337         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
6338         the extra attrs, since some of them affect size.
6339
6340         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
6341         x_offset correctly.
6342
6343 2000-11-15  Havoc Pennington  <hp@redhat.com>
6344
6345         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
6346         don't move the first line out into the margin, instead move the
6347         whole paragraph in order to make space for the first line within 
6348         the margin
6349
6350 2000-11-15  Havoc Pennington  <hp@redhat.com>
6351
6352         * gtk/gtktextview.c (changed_handler): offset redraw rect by
6353         xoffset in addition to yoffset, so horizontal scrolling doesn't
6354         break redraws
6355
6356 2000-11-15  Havoc Pennington  <hp@redhat.com>
6357
6358         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
6359         from the cursor
6360         (render_layout_line): fix reversed test that caused weird
6361         underlines to get drawn
6362
6363 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
6364
6365         * gdk/linux-fb/gdkprivate-fb.h:
6366         Fix debug macros.
6367         
6368 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
6369
6370         * gdk/linux-fb/gdkprivate-fb.h:
6371         Added virtual functions set_pixel, get_color,
6372         fill_span and draw_drawable to the GC.
6373         Added global _gdk_fb_screen_gc to use instead of
6374         NULL when drawing to the screen.
6375         Added _gdk_fb_gc_calc_state() prototype.
6376
6377         * gdk/linux-fb/gdkgc-fb.c:
6378         Call _gdk_fb_gc_calc_state() on any gc state change.
6379
6380         * gdk/linux-fb/gdkglobals-fb.c:
6381         Add _gdk_fb_screen_gc
6382                 
6383         * gdk/linux-fb/gdkdrawable-fb2.c:
6384         _gdk_fb_gc_calc_state() calculates best functions
6385         for the GC state and depth.
6386         Moved bpp specialized code to separate functions.
6387         Added optimized 24 bpp AA draw_drawable.
6388
6389         * gdk/linux-fb/gdkevents-fb.c:
6390         Silence gcc warning.
6391
6392         * gdk/linux-fb/gdkimage-fb.c:
6393         Use _gdk_fb_screen_gc
6394
6395         * gdk/linux-fb/gdkwindow-fb.c:
6396         Init and use _gdk_fb_screen_gc
6397
6398         * gdk/linux-fb/mitypes.h:
6399         Remove unused types.
6400
6401 2000-11-14  Havoc Pennington  <hp@pobox.com>
6402
6403         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
6404         to pixels
6405
6406 2000-11-14  Havoc Pennington  <hp@pobox.com>
6407
6408         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
6409
6410         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
6411         unknown char, no real reason we were using a variable. 
6412         Remove gtk_text_unknown_char variable. Fix all the text widget
6413         files accordingly.
6414
6415         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
6416         since the Unicode spec seems to prefer that character for our
6417         purposes.
6418
6419 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
6420
6421         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
6422         value of g_getenv() isn't freeable, so g_strdup it.
6423
6424         * modules/input/inuktitut.c: Inuktitut input method.
6425
6426         * modules/input/Makefile.am: Build this.
6427         
6428 2000-11-14  Elliot Lee  <sopwith@redhat.com>
6429
6430         * gtk/Makefile.am: Install gtk.immodules, needed for operation
6431         of gtk programs.
6432
6433 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
6434
6435         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
6436         reversed > that was causing Home to go to end of previous line.
6437
6438         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
6439         modified-keypresses (leave for bindings.)
6440
6441         * modules/input/Makefile.am: Remove useless -export-dynamic
6442         from module LDFLAGS.
6443
6444 2000-11-14  Havoc Pennington  <hp@redhat.com>
6445
6446         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
6447         higher.
6448
6449         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
6450         account. Also, render rise, underline, background, etc. for
6451         pixbufs as well as text. Also, draw underlines one pixel higher.
6452
6453         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
6454         PangoAttribute for the rise, so it gets drawn properly. Also,
6455         add the GtkTextAppearance attribute for pixbuf/widget segments
6456         as well; we should go ahead and have rise, underline, background,
6457         stipple work for those
6458
6459         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
6460         Pango
6461
6462 2000-11-15  Tor Lillqvist  <tml@iki.fi>
6463
6464         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
6465
6466         * gtk/gtk.def: Update.
6467
6468         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
6469         included.
6470         (gtk_rc_get_im_module_file): Use run-time installation directory
6471         on Win32.
6472
6473         * gdk/win32/rc/gdk.rc: Remove.
6474         * gdk/win32/rc/gdk.rc.in: New file.
6475         * gdk/win32/rc/Makefile.am: New file
6476         * gdk/win32/Makefile.am: Corresponding changes.
6477
6478         * gtk/gtk.rc: Remove.
6479         * gtk/gtk-win32.rc.in: New file.
6480         * gtk/Makefile.am: Corresponding changes.
6481
6482         * configure.in: Corresponding changes.
6483
6484         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
6485         has a built gtkcompat.h. Developers using CVS code on Win32 can
6486         hand-edit it from gtkcompat.h.in.
6487
6488         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
6489         gtkcompat.h from gtkcompat.h.win32.
6490
6491 2000-11-14  Havoc Pennington  <hp@redhat.com>
6492
6493         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
6494         to default to GDK_ACTION_MOVE if the drag is within a single
6495         widget. Defaults to GDK_ACTION_COPY between widgets.
6496
6497 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
6498
6499         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
6500
6501         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
6502
6503         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
6504         srcdir != builddir
6505
6506         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
6507
6508         * configure.in (GTK_VERSION): Up to 1.3.2
6509
6510         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
6511         gtkimcontextxim.h
6512
6513         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
6514         missing doc comment.
6515
6516 2000-11-14  Alexander Larsson  <alexl@redhat.com>
6517
6518         * modules/linux-fb/basic.c:
6519         Use the glib iconv wrappers.
6520
6521 2000-11-13  Havoc Pennington  <hp@pobox.com>
6522
6523         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
6524         still more bugs.
6525
6526         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
6527         scroll the GdkWindows before realization.
6528
6529 2000-11-13  Havoc Pennington  <hp@redhat.com>
6530
6531         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
6532         where GC didn't always get updated properly
6533
6534         * demos/gtk-demo/textview.c (create_tags): Use subattributes
6535         of fonts instead of setting the entire font
6536
6537         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
6538         setting entire font
6539
6540         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
6541
6542         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
6543         a bunch of individually-settable font attributes. You can still 
6544         use the "font" and "font_desc" args, they just set all the font
6545         attributes at once.
6546
6547 2000-11-13 Elliot Lee <sopwith@redhat.com>
6548
6549         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
6550
6551 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
6552
6553         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
6554         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
6555
6556         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
6557         work better.
6558
6559 2000-11-13  Havoc Pennington  <hp@redhat.com>
6560
6561         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
6562         the module file.
6563
6564         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
6565         dest->language
6566
6567         * gtk/testtext.c: Test pixels above/below/inside paragraphs
6568         settings
6569
6570         * gtk/gtktextview.c: Implement object args and setters/getters for
6571         all the aspects of the GtkTextAttributes that are not set from
6572         GtkWidget attributes. This is spacing, justification, margins,
6573         etc.
6574
6575         (gtk_text_view_set_arg)
6576         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
6577         args
6578         (gtk_text_view_class_init): Add args for justify, left_margin,
6579         right_margin, indent, and tabs
6580         
6581
6582         * gtk/gtktextlayout.c (set_para_values): fix to display indent
6583         attribute properly
6584
6585         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
6586         replace with indent attribute
6587
6588         * gtk/gtktextlayout.c (set_para_values): multiply indent by
6589         PANGO_SCALE
6590
6591         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
6592         rearranging code to do that
6593         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
6594         i.e. don't subtract the top_margin first, just to keep
6595         all margin-futzing in one place.
6596
6597         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
6598
6599         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
6600         special case of last line, Pango now handles this itself.
6601         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
6602         Y coordinate
6603         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
6604         (find_display_line_above): wasn't moving the byte index as it
6605         iterated over lines, so always returned byte 0. Also, port to use
6606         PangoLayoutIter.
6607         (find_display_line_below): same problem as
6608         find_display_line_above. Also, port to use PangoLayoutIter.
6609
6610 2000-11-13  Alexander Larsson  <alexl@redhat.com>
6611
6612         * gdk/linux-fb/*.[ch]:
6613         Massive reindent to gtk+ standard. My hands hurt.
6614
6615         * gdk/linux-fb/gdkcolor-fb.c:
6616         Move GdkColorPrivateFB from inherited to windowing_data
6617
6618         * gdk/linux-fb/gdkcursor-fb.c:
6619         _gdk_cursor_new_from_pixmap made static
6620
6621         * gdk/linux-fb/gdkdnd-fb.c:
6622         GdkDragContextPrivate moved to windowing_data
6623
6624         * gdk/linux-fb/gdkdrawable-fb2.c:
6625         Removed endian.h, use glib endianness macros instead
6626         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
6627         and GDK_DRAWABLE_IMPL_FBDATA
6628
6629         * gdk/linux-fb/gdkfont-fb.c:
6630         Add empty gdk_font_load(). Needed for linking of Gtk+.
6631
6632         * gdk/linux-fb/gdkimage-fb.c:
6633         Removed endian.h, use glib endianness macros instead
6634         Moved GdkImagePrivateFB to windowing_data
6635         gdk_image_new_bitmap didn't always allocate enough
6636         memory.
6637
6638         * gdk/linux-fb/gdkinput-ps2.c:
6639         Added semi-working support for MS serial mice.
6640
6641         * gdk/linux-fb/gdkprivate-fb.h:
6642         s/GdkWindowPrivate/GdkWindowObject/
6643         Removed GdkWindowPrivate typedef
6644         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
6645         Removed GDK_DRAWABLE_P
6646         Move GdkColorPrivateFB from inherited to windowing_data
6647         Moved GdkImagePrivateFB to windowing_data
6648
6649         * gdk/linux-fb/gdkvisual-fb.c:
6650         Removed some unused debug code.
6651
6652         * gdk/linux-fb/gdkwindow-fb.c:
6653         Use stock cursors instead of including X headers.
6654         s/GdkWindowPrivate/GdkWindowObject/
6655
6656         * gdk/linux-fb/mitypes.h:
6657         Removed unused types.
6658
6659         * modules/linux-fb/basic.c:
6660         Use the pango fribidi wrappers.
6661
6662 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6663
6664         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
6665         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
6666         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
6667         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
6668         GEqualFunc where applicable.
6669         
6670         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
6671         pango_font_description_equal as changed in pango.
6672         
6673         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
6674
6675         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
6676
6677         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
6678
6679         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
6680
6681         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
6682
6683         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
6684
6685         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
6686         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
6687
6688         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
6689         gtk_rc_styles_compare -> gtk_rc_styles_equal.
6690
6691 2000-11-12  Havoc Pennington  <hp@pobox.com>
6692
6693         * demos/gtk-demo/Makefile.am (democodedir): change demo install
6694         dir to datadir/gtk+-2.0/demo
6695
6696         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
6697         sorts of text widget and Pango font bugs. Urgh.
6698
6699         * demos/gtk-demo/Makefile.am (demos): Add textview.c
6700
6701         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
6702         tree that you should double click to see the demo. Fix 
6703         types of variables to reflect changed return values from 
6704         GtkTreeStore and GtkTreeViewColumn constructors.
6705
6706         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
6707         newly-created buffer to prepare for GObject semantics
6708
6709         * gtk/testtext.c: don't leak the buffer with GObject semantics
6710
6711         * gtk/testtextbuffer.c: ditto
6712         
6713 2000-11-12  Havoc Pennington  <hp@pobox.com>
6714
6715         Rename this testgtk to gtk-demo to avoid confusion, and 
6716         install it so people can use it as a supplement to 
6717         the documentation.
6718         
6719         * demos/gtk-demo: Moved from demos/testgtk
6720
6721         * demos/testgtk: Removed
6722
6723         * configure.in: make Makefile in gtk-demo
6724         
6725         * demos/gtk-demo/Makefile.am: Install sample source to 
6726         datadir/gtk-demo (maybe there's a better place?), and 
6727         rename the binary to gtk-demo
6728         
6729         * demos/gtk-demo/main.c (load_file): Load installed sample
6730         source if source isn't found in pwd.
6731
6732 2000-11-09  Havoc Pennington  <hp@pobox.com>
6733
6734         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
6735         argument to set the char displayed when visibility == FALSE
6736         (gtk_entry_create_layout): If !entry->visible, replace 
6737         all chars with the "invisible char"
6738
6739         * gtk/testgtk.c: Test the invisible_char deal
6740         
6741 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
6742
6743         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
6744         can't get a native font in the right encoding.
6745
6746 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
6747
6748         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
6749         respectively.
6750
6751 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
6752
6753         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
6754         Fix warning when moving between paragraphs.
6755
6756         * gtk/gtkentry.[ch]: Change move => move_cursor, 
6757         delete => delete_from_cursor, insert => insert_at_cursor
6758
6759 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
6760
6761         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
6762
6763         * modules/input/imthai-broken.c: A Thai input method for use if
6764         Thai keys are really generating Latin1 keysyms.
6765
6766         * modules/input/Makefile.am: Build these.
6767
6768 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
6769
6770         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
6771         g_filename_{to,from}_utf8 now takes an extra parameter.
6772
6773         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
6774         strftime into UTF-8.
6775
6776         (column_from_x, gtk_calendar_paint_day_names): Support RTL
6777         calendars.
6778
6779         (gtk_calendar_paint_day_names): Draw day names in the right 
6780         place.
6781         
6782 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
6783
6784         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
6785         problem with using result of g_get_charset() backwards -
6786         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
6787
6788         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
6789         negative min_width/height and max_width/height to
6790         mean "requisition"; this allows setting a window
6791         to be user-resizable in only one direction easily.
6792
6793         * gtk/testgtk.c (create_main_window): Remove hard-coded
6794         usize - set a default size in the vertical direction.
6795
6796 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
6797
6798         * gtk/gtkrange.c: Add some missing casts. Support 
6799         2 and 3 button clicks on the arrows to mean 
6800         "move by pages" and "jump to end". (Like gtkspinbutton)
6801
6802 2000-11-12 Hans Breuer <Hans@Breuer.Org>
6803
6804         * gdk/win32/makefile.msc : reflect build module changes
6805
6806         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
6807         from GdkPixmap*, cast implementation member instead.
6808
6809         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
6810         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
6811         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
6812         more Gdi functions return value checking. 
6813         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
6814         GdkImagePrivateWin32 *.
6815
6816         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
6817         menus useable again. Add #pragma message to keep reminded on this issue.
6818         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
6819         windows. This allows to enable backing store on Win32!
6820
6821         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
6822         in drawable is of impl type. Correct specific type checks appropriate.
6823  
6824         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
6825         GDK_WINDOW_DESTROYED before allocating new resources.
6826
6827         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
6828
6829         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
6830         (gdk_window_foreign_new) initialize parent handle.
6831         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
6832
6833         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
6834         Let the GDI invalidate the window on MoveWindow call to fix scrolling
6835         problems (e.g. main buttons in testgtk). 
6836
6837 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
6838
6839         * gtk/gtkentry.c (gtk_entry_key_press): Call 
6840         gtk_widget_activate for GDK_Return.
6841
6842         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
6843         of preedit cursor position.
6844
6845 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
6846
6847         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
6848         static.
6849
6850 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
6851
6852         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
6853         out support for multiple locales; that simple doesn't
6854         work reliably with current Xlib
6855
6856         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
6857         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
6858         Add support for positioning the cursor within the preedit string.
6859
6860 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
6861
6862         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
6863         at XIM input method module.
6864
6865         * gtk/gtktextview.c: Check for bindings after passing
6866         events to im context filter.
6867
6868 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
6869
6870         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
6871         empty attribute lists properly.
6872
6873 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
6874
6875         * gtk/queryimmodules.c (main): Return non-zero exit
6876         status if errors were encountered querying any
6877         modules.
6878
6879         * modules/input/Makefile.am (moduledir): remove
6880         leftover bin program target.
6881
6882         * docs/make-todo: Fix typo in error message.
6883
6884 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
6885
6886         * configure.in: Add modules/input/Makefile
6887
6888 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
6889
6890         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
6891         don't include gtkthemes.h.
6892
6893         * gtk/testgtk.c gtk/testtext.c: Set environment variables
6894         to point
6895
6896         * gtk/Makefile.am: Add new .c and .h files, build 
6897         gtk-query-immodules and use it to create a gtk.immodules
6898         file for use of test programs.
6899
6900         * gtk/gtkpreview.c: remove extra blank line.
6901
6902 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
6903
6904         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
6905         Add the ability to add extra tables beyond the default
6906         one, and also the ability to have compose sequences 
6907         that are prefixes of other compose sequences. 
6908
6909         * gtk/gtkimcontextsimple.c: Export a preedit string which
6910         consists of possible candidates for keystrokes that have
6911         been entered but not yet committed.
6912
6913         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
6914         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
6915
6916         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
6917         Add a function to add input-method switching menu items
6918         to a menu.
6919
6920         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
6921         when switching input methods.
6922
6923         * gtk/gtkimcontextsimple.[ch]: Change the format of
6924         the compose table to allow compose tables of different
6925         lengths / sequence.
6926
6927 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
6928
6929         * gtk/gtkimmodule.[ch]: Support routines for loading
6930         GtkIMContext implementations dynamically at runtime.
6931
6932         * modules/input/imcyrillic-translit.c: A sample input
6933         method (based on GtkIMContextSimple with an extra table),
6934         which demonstrates preedit strings and the module
6935         system for input modules
6936
6937         * gtk/queryimmodules.c: Program to query the available
6938         input modules and write the results into a file.
6939          
6940         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
6941         extra config options "im_module_file" (cache file for
6942         input method modules), and "im_module_path" - path
6943         to look for modules when generating cache file.
6944
6945         This doesn't scale.
6946
6947 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
6948
6949         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
6950         generic code from gtkthemes into a new abstraction
6951         GtkModule which has the logic for implementing
6952         a loadable module which implements a number of 
6953         GObject types.
6954
6955 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
6956
6957         * gtk/gtkeditable.[ch]: Convert GtkEditable from
6958         a class into an interface  
6959         
6960         * gtk/gtkoldeditable.[ch]: Move the old editable
6961         implementation into here, so legacy widgets can
6962         still rely on the implemenation. GtkOldEditable
6963         exports GtkEditable. Make selection handling
6964         code use new text conversion functions (and
6965         handle UTF-8 as a side-effect). Use GtkClipboard
6966         for CLIPBOARD.
6967
6968         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
6969         Adopt to match above changes.
6970
6971         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
6972         avoid GtkOldEditable implementation. Restructure
6973         to reduce number of places that modify state directly.
6974         Move to GtkBindingSet. Display the preedit string.
6975         Queue recomputation of PangoLayout and scroll position
6976         to improve effiency of doing complex changes naively.
6977         Add a menu with cut/copy/paste and input method selection.
6978
6979 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
6980
6981         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
6982         to set preedit string and attributes; display preedit string by
6983         inserting string and attributes at cursor when creating the
6984         GtkTextLineDisplay.
6985
6986         * gtk/gtktextlayout.c: Move all conversions between byte
6987         positions in PangoLayout and GtkTextIter into new functions
6988         line_display_iter_to_index/index_to_iter that properly
6989         handle the preedit string.
6990
6991         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
6992         it to return const char * (eventually will end up
6993         as GCONST char *, most likely.)
6994
6995         * gtk/gtktextview.[ch]: Handle the preedit string, call
6996         gtk_im_context_reset() as necessary, add a menu to switch
6997         input methods.
6998         
6999         * gtk/gtktextlayout.[ch]: Remove useless
7000         gtk_text_layout_get_log_attrs() function.
7001
7002 2000-11-11  Tor Lillqvist  <tml@iki.fi>
7003
7004         * gdk/gdk.def
7005         * gtk/gtk.def: Update.
7006
7007         * gdk/win32/*.c: Add last argument to g_type_register_static()
7008         calls.
7009
7010         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
7011
7012         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
7013         generated by older wheel mouse drivers. Get the correct y
7014         coordinate from WM_MOUSEWHEEL messages.
7015
7016         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
7017         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
7018         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
7019         Debugging functions.
7020
7021         * gdk/win32/gdkprivate-win32.h: Declare them.
7022
7023         * gdk/win32/gdkinput-win32.h: Add declaration for
7024         gdk_input_window_destroy().
7025
7026         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
7027
7028 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
7029
7030         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
7031         function to help handle keeping things in sync.
7032
7033 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
7034
7035         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
7036         BOXED marshallers.
7037
7038         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
7039         (gtk_list_store_class_init): use the new BOXED marshallers.
7040
7041         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
7042         new_with_values to new_with_types.
7043         (gtk_tree_store_get_column_type): add this.
7044         (gtk_tree_store_class_init): use the new BOXED marshallers.
7045
7046         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
7047         mirror some POINTER marshallers.
7048
7049 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
7050
7051         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
7052         allow more interesting iterators.  Also, made the lifecycle of
7053         iterators more explicit.
7054
7055         * gtk/gtktreemodelsort.[ch]: New model for sorting.
7056
7057         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
7058         types.
7059
7060 2000-11-09  Alexander Larsson  <alexl@redhat.com>
7061
7062         * demos/testgtk/menus.c:
7063         Changes to make the new testgtk compile after
7064         gtk_menu_append was removed.
7065
7066         * gdk/linux-fb/gdkdrawable-fb2.c
7067         (gdk_fb_get_depth, gdk_fb_get_visual,
7068         gdk_drawable_impl_fb_class_init): Implement
7069         these drawable functions. Now GtkImages work again.
7070
7071         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
7072
7073         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
7074         
7075         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
7076         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
7077         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
7078         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
7079
7080 2000-11-08  Havoc Pennington  <hp@pobox.com>
7081
7082         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
7083         visible_set args, don't know where these had gone, I thought they
7084         used to be there
7085
7086         * gtk/testtext.c: Add a menu item to apply invisibility tag;
7087         now we can test the feature and see that it's totally broken.
7088
7089 2000-11-08  Havoc Pennington  <hp@pobox.com>
7090
7091         Make DND copy pixbufs and tags when source and target share a 
7092         tag table.
7093         
7094         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
7095         in-process GTK_TEXT_BUFFER_CONTENTS target
7096         (gtk_text_view_drag_data_received): Paste from
7097         GTK_TEXT_BUFFER_CONTENTS if we receive it.
7098
7099 2000-11-08  Alexander Larsson  <alexl@redhat.com>
7100
7101         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
7102         API changes.
7103
7104         * gtk/gtkmenu.c: Add support for scrolling menus.
7105         Remove gtk_menu_append/prepend/insert, these have been moved to
7106         gtkcompat.h as #defines.
7107
7108         * gtk/gtkcompat.h.in:
7109         Add compatibility #defines for gtk_menu_append/prepend/insert
7110
7111         * gtk/gtkmenu.h: Add data needed for scrolling menus.
7112         GtkMenuPositionFunc gets an extra argument push_in.
7113         gtk_menu_append/prepend/insert removed.
7114         
7115         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
7116         positioning behaviour to fit to scrolling menus.
7117
7118         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
7119         into menuitem->submeny. That is wrong, and broke torn
7120         off submenus of torn off menus, since they were unrealized
7121         when the first menu was unrealized.
7122
7123         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
7124         gtk_menu_shell_select_item() since these need to be overridden in
7125         GtkMenu.
7126
7127         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
7128         positioning behaviour to fit to scrolling menus.
7129         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
7130         the current item so that it is prelighted when the menu pops up.
7131         This is a workaround to the fact that the menu doesn't get the
7132         initial enter event (due to grabs).
7133
7134         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
7135         s/gtk_menu_append/gtk_menu_shell_append/
7136
7137         * gtk/gtknotebook.c:
7138         s/gtk_menu_insert/gtk_menu_shell_insert/
7139
7140         * gtk/testgtk.c (create_menu, create_menus):
7141         Create the first menu with 50 items so that menu scrolling
7142         can be tested.
7143         
7144         
7145         Patch from Jonathan Blandford  <jrb@redhat.com>
7146
7147         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
7148         system to handle size requests.  First, we ask what the size of
7149         the toggle is.  Then, when allocating the size, we allocate the
7150         toggle_size first.  This way we can have multiple menu-item
7151         classes w/o needing a seperate class for each.
7152
7153         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
7154         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
7155
7156         * gtk/gtkcheckmenuitem.c
7157         (gtk_check_menu_item_toggle_size_request): New function to handle
7158         the toggle size-request.
7159
7160 2000-11-07  Havoc Pennington  <hp@redhat.com>
7161
7162         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
7163         Half-ass somewhat fix this function, so that scrolling to the
7164         insertion point works. Pango hacking is in the future to really
7165         fix it.
7166
7167         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
7168         length of data, no longer used.
7169
7170         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
7171         method contents in here, get rid of destroy method
7172         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
7173         that were backward. Remove debug spew.
7174         (cut_or_copy): Make the clipboard work with insert_range to
7175         preserve tags and pixbufs, not just the primary selection.
7176
7177 2000-11-07  Havoc Pennington  <hp@redhat.com>
7178
7179         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
7180         to gtk_text_mark_get_visible
7181
7182         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
7183         bug that was generating an invalid iterator
7184
7185         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
7186         ensure_char_offsets() in front of code placing the iter in an
7187         invalid state.
7188
7189         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
7190         make override_location arg const
7191         (paste): Replace the selection if we paste into the 
7192         current selection
7193
7194         * gtk/gtkselection.h: Remove "GtkSelectioData"
7195         (struct _GtkSelectionData): move the definition here.
7196
7197         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
7198         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
7199
7200         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
7201
7202         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
7203         (gtk_text_buffer_insert_range_interactive): implement
7204         (gtk_text_buffer_get_tags): Remove, replaced by
7205         gtk_text_iter_get_tags()
7206
7207         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
7208         limit parameter, to avoid infinite linear scan.
7209         (gtk_text_iter_backward_search): Add search limit
7210         (gtk_text_iter_forward_find_char): Add search limit
7211         (gtk_text_iter_backward_find_char): Add search limit
7212
7213 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
7214
7215         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
7216         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
7217         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
7218         gdk/linux-fb/gdkwindow-fb.c:
7219         use g_object_new() instead of g_type_create_instance() which
7220         is a private function for fundamental type implementations.
7221
7222         * gdk/linux-fb/gdkinput-ps2.c:
7223         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
7224         instead just store the current modifier state. Add a (somewhat broken)
7225         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
7226         Rename exported function gdk_input_ps2_get_mouseinfo to
7227         gdk_input_get_mouseinfo.
7228
7229         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
7230         gdk/linux-fb/gdkwindow-fb.c:
7231         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
7232         
7233
7234 2000-11-02  Havoc Pennington  <hp@redhat.com>
7235
7236         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
7237         use stock buttons. Should be 100% source compatible, appropriate
7238         filesel fields now point to dialog->vbox and dialog->action_area.
7239         On the bizarre side, dialog->action_area and filesel->action_area
7240         are not the same widget.
7241         (gtk_file_selection_init): Put some padding around the selection
7242         entry, so it isn't touching the GtkDialog separator.    
7243
7244         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
7245         use stock buttons, etc. Should also be source compatible.
7246         Set the dialog default title in _init not _new().
7247         
7248         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
7249         Use stock buttons; don't put a button box inside the existing
7250         dialog button box. Don't bother with push/pop colormap anymore.
7251
7252         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
7253         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
7254         for message dialog, and necessary for the font selection and color
7255         selection with help and apply buttons.
7256         
7257         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
7258         to the created button widget. Set GTK_CAN_DEFAULT on the button.
7259         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
7260         between buttons, put less padding around the action area.
7261         (gtk_dialog_run): Exit on unmap rather than on destroy. 
7262         This will also exit the loop if the widget is hidden.
7263         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
7264         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
7265         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
7266         special-case delete event.
7267
7268         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
7269         formatting
7270         
7271 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
7272
7273         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
7274         button to temporarily disable position recording in the
7275         "saved position" test.
7276
7277 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
7278
7279         * gtk/gtkthemes.c: added compat code that temporarily implements
7280         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
7281         going to be revamped by owen's upcoming GtkModule patches, but
7282         untill then people want gtk to build, right? ;)
7283
7284 2000-11-04  Havoc Pennington  <hp@pobox.com>
7285
7286         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
7287         list
7288
7289         * docs/Changes-2.0.txt: Add note about
7290         gtk_container_get_toplevels()
7291
7292         * gtk/gtktextview.h: formatting
7293         
7294         * gtk/gtktextview.c: don't start descriptions with "Returns",
7295         confuses gtk-doc
7296
7297 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
7298
7299         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
7300         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
7301
7302 2000-11-03  Havoc Pennington  <hp@redhat.com>
7303
7304         * gtk/gtktexttagtable.c: Docs
7305         (gtk_text_tag_table_size): return a signed int
7306
7307         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
7308         (gtk_text_tag_event): make the event_object a GObject
7309
7310         * gtk/gtktextview.c: Write API docs for all functions.
7311
7312         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
7313         for gtk_text_view_get_window_type() called on one of the private
7314         windows.
7315
7316         * gtk/gtktextview.c: Instead of accessing text_view->buffer
7317         directly, call get_buffer() which demand-creates a default
7318         buffer. So gtk_text_view_new() can be used to create a view with a
7319         default buffer in it, if you just want an empty text box users can
7320         put data in. Useful for GUI builders also.
7321
7322 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
7323
7324         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
7325         the charset encodign portion MUST be in lowercase.
7326         * gtk/gtkrc.az: added file for Azeri language
7327
7328 2000-11-03  Havoc Pennington  <hp@redhat.com>
7329
7330         Get widgets working on the btree/buffer side. Display of them 
7331         still doesn't work.
7332         
7333         * gtk/gtktextview.c: start implementing child widget stuff
7334
7335         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
7336
7337         * gtk/gtktextlayout.c: handle embedded widgets
7338
7339         * gtk/gtktextdisplay.c: handle embedded widgets
7340
7341         * gtk/gtktextchild.c: Implement all the child anchor goo
7342
7343         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
7344         function
7345
7346         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
7347         (insert_pixbuf_or_widget_segment): abstract out common portions of 
7348         creating a child anchor or a pixbuf segment.
7349         (gtk_text_btree_create_child_anchor): new function
7350         (gtk_text_btree_unregister_child_anchor): new function
7351
7352         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
7353         allocate_child signal on GtkTextLayout
7354
7355         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
7356         values
7357         (gtk_text_iter_get_child_anchor): new function
7358
7359         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
7360         default handler for the changed signal, which calls
7361         gtk_text_buffer_set_modified(), instead of just always emitting
7362         changed then calling set_modified() manually. I guess this is
7363         maybe more flexible. It seems logical.
7364
7365 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
7366
7367         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
7368         now.
7369
7370         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
7371
7372 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
7373
7374         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
7375         been marked static.
7376
7377 2000-11-02  Havoc Pennington  <hp@redhat.com>
7378
7379         * gtk/testgtk.c (create_labels): had a test backward
7380
7381         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
7382         fields, so the dest GC ends up with the correct clip origin, 
7383         etc. Fixes a bug where colored labels didn't redraw 
7384         properly.
7385
7386 2000-11-02  Alexander Larsson  <alexl@redhat.com>
7387
7388         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
7389         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
7390         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
7391         Add last argument to t_type_register_static call.
7392         
7393         * gdk/linux-fb/gdkdrawable-fb2.c:
7394         Add last argument to t_type_register_static call.
7395         export the get_image drawable virtual function.
7396
7397         * gdk/linux-fb/gdkimage-fb.c:
7398         Add last argument to t_type_register_static call.
7399         rename gtk_image_get to _gdk_fb_get_image and
7400         export it for use by gdkdrawable-fb2.
7401
7402         * gdk/linux-fb/gdkprivate-fb.h:
7403         export _gdk_fb_get_image.
7404
7405         * gdk/linux-fb/gdkselection-fb.c:
7406         Add new api call stubs.
7407
7408         * gtk/Makefile.am:
7409         Missing ( in linux-fb part.
7410
7411         * modules/linux-fb/Makefile.am:
7412         Must link with gdk_pixbuf or get unresolved symbol.
7413
7414 2000-11-01  Havoc Pennington  <hp@pobox.com>
7415
7416         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
7417         GTK_TYPE_TEXT_ITER and BOXED marshallers
7418
7419         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
7420
7421         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
7422         
7423         * gtk/gtk-boxed.defs: add GtkTextIter
7424
7425         * gtk/gtkmarshal.list: Add marshallers for text widget that 
7426         properly use OBJECT and BOXED
7427
7428 2000-11-01  Havoc Pennington  <hp@redhat.com>
7429
7430         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
7431
7432         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
7433         before returning it. 
7434         
7435 2000-11-01  Havoc Pennington  <hp@redhat.com>
7436
7437         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
7438         Clip the rectangle to be rendered to the drawable, since
7439         get_from_drawable() requires a region within the drawable
7440
7441 2000-11-01  Havoc Pennington  <hp@redhat.com>
7442
7443         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
7444         from coordinates.
7445
7446 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
7447
7448         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
7449         it isn't NULL.
7450
7451 2000-11-01  Havoc Pennington  <hp@pobox.com>
7452
7453         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
7454         on a label
7455         (gtk_label_finalize): unref the attr list if any.
7456
7457         * gtk/testgtk.c (create_get_image): close test on second click
7458         (make_message_dialog): close dialog if it exists
7459
7460         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
7461
7462         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
7463         gdk-pixbuf
7464
7465         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
7466         from Pango markup format
7467         (gtk_label_set_markup_with_accel): ditto but with accelerator
7468         parsing
7469
7470         * gtk/gtkimage.c (gtk_image_expose): reformatting.
7471
7472         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
7473         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
7474         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
7475         call gdk_window_get_origin().
7476
7477         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
7478         implement GDK_PIXBUF_ALPHA_FULL
7479         
7480 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
7481
7482         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
7483         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
7484         g_signal_handlers_disconnect_matched to block/unblock and disconnect
7485         multiple handlers respectively, instead of only treating the
7486         first handler found (bug reported by owen).
7487
7488 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
7489
7490         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
7491
7492         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
7493
7494         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
7495         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
7496         gtk/gtktreeviewcolumn.h: Fixed inline docs.
7497
7498         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
7499         widget.  Needs writing someday.
7500
7501         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
7502         the docs.
7503
7504 2000-10-30  Havoc Pennington  <hp@redhat.com>
7505
7506         * gtk/gtktextview.h, gtk/gtktextview.c:
7507         Rename delete_at_cursor delete_from_cursor, and 
7508         move to move_cursor.
7509
7510 2000-10-30  Havoc Pennington  <hp@redhat.com>
7511
7512         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
7513         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
7514         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
7515         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
7516         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
7517         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
7518         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
7519         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
7520         gtktexttypes.h, gtktextview.c, gtktextview.h:
7521
7522         Massive reindentation and reformatting. Arg alignment and comments
7523         still need fixing in various places.
7524
7525 2000-10-30  Havoc Pennington  <hp@redhat.com>
7526
7527         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
7528         to be named insert_at_cursor and delete_at_cursor so C++ can
7529         handle them.
7530
7531 2000-10-28  Tor Lillqvist  <tml@iki.fi>
7532
7533         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
7534         to get a double directory separator in case the home directory
7535         ends with one. This would cause trouble especially on Windows,
7536         where the path will be confused with the syntax for an an UNC
7537         (network share) path \\server\share\path.
7538         (gtk_rc_add_initial_default_files): Ditto.
7539
7540 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
7541
7542         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
7543
7544         * gtk/gtktextview.c: Use correct marshallers.
7545
7546 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
7547
7548         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
7549         use new iter stuff, and added all the appropriate signals et al.
7550
7551         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
7552         code is internal to gtk only.
7553
7554 2000-10-28  Tor Lillqvist  <tml@iki.fi>
7555
7556         * gtk/gtk.def
7557         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
7558         glib-genmarshal etc.
7559
7560 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
7561
7562         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
7563         parallel builds.
7564
7565 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
7566
7567         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
7568
7569 2000-10-27  Robert Brady  <robert@suse.co.uk>
7570
7571         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
7572         en_GB (British), ia (Interlingua).
7573
7574 2000-10-26  Havoc Pennington  <hp@redhat.com>
7575
7576         * gtk/gtktextiter.c (my_strrstr): fix constness warning
7577
7578         Fixed output of:
7579         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
7580         
7581         * gtk/gtktextsegment.c (char_segment_new): rename
7582         (_char_segment_new_from_two_strings): rename
7583         (_toggle_segment_new): rename
7584         
7585         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
7586         (make_clipboard_widget): make it static
7587         (text_get_func): static
7588         (text_clear_func): static
7589
7590         * gtk/gtkcolorsel.c (adjustment_changed): make this function
7591         static
7592         (hex_changed): make it static
7593         (hsv_changed): make it static
7594         (opacity_entry_changed): make it static
7595
7596         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
7597         (toggle_segment_check_func): rename with _gtk
7598
7599         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
7600         (_widget_segment_new): rename
7601         (_widget_segment_add): rename
7602         (_widget_segment_remove): rename
7603         (_widget_segment_ref): rename
7604         (_widget_segment_unref): rename
7605
7606         * gtk/gtktextmark.c (_mark_segment_new): Rename
7607         _gtk_mark_segment_new   
7608
7609 2000-10-26  Havoc Pennington  <hp@redhat.com>
7610
7611         * gtk/gtkmarshal.list: add new marshallers used by the text widget
7612         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
7613         types
7614
7615         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
7616         marshaller types
7617
7618         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
7619         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
7620         license on these files.
7621
7622         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
7623         work.
7624
7625         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
7626         runtime random number different for each tree, instead of 
7627         a constant I made up.
7628
7629 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
7630
7631         * gtk/Makefile.am: buncha cleanups, kludged build sources
7632         dependencies with a Makefile: oldest-source-stamp dependancy
7633         for the moment. automake is really fighting us here, with
7634         intentionally not allowing user-defined rules or dependancies
7635         prior to it's -include $(DEP_FILES) statement. sucks rocks!
7636
7637         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
7638         to public headers. tehy have a comment stating that they are
7639         "semi-public" aren't included by gtk.h and if enums popup there,
7640         they can be /*< skip >*/-ed.
7641
7642         * gtk/gtktextlayout.h: 
7643         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
7644         added LGPL... <SIGH>
7645
7646 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
7647
7648         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
7649         GtkTreeIter.  Added iterators everywhere.
7650
7651         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
7652
7653         * gtk/gtktreeviewselection.c: Changed to use the iterators.
7654
7655         * gtk/gtktreestore.c: Changed to use the iterators.
7656
7657         * gtk/gtkliststore.c: Commented out the code.  Will convert to
7658         iterators tomorrow.
7659
7660         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
7661         iterators tomorrow.
7662
7663         * gtk/treestoretest.c: Changed to use iterators.
7664
7665         * demos/testgtk/main.c: Moved to use the new iterator system.
7666
7667 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
7668
7669         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
7670         localization misbehaviour.
7671
7672         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
7673         a useless type without copy/free.
7674
7675         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
7676         of GTK_TYPE_CTREE_NODE.
7677
7678 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
7679
7680         * gtk/gtksignal.c:
7681         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
7682         applicable.
7683
7684         * gtk/gtk-boxed.defs (GtkSelectionData): specify
7685         gtk_selection_data_copy and gtk_selection_data_free
7686         do GtkSelectionData work as params in signals.
7687
7688 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
7689
7690         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
7691         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
7692         couldn't they at least give it a non-standard name?
7693         
7694         * gtk/gtktextlayout.c: arg! yet another implementation of
7695         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
7696
7697         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
7698         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
7699         home. now i know this _is_ a conspiracy.
7700
7701         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
7702         ::state-changed.
7703
7704         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
7705         (gtk_accel_group_create_add): marshaller signature fixups.
7706
7707         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
7708         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
7709
7710         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
7711         anymore.
7712
7713 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
7714
7715         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
7716         due to the signal system changes, it wouldn't build currently. to
7717         be fixed soon.
7718
7719         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
7720
7721         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
7722         so it needs gtk_marshal_VOID__ENUM() instead of
7723         gtk_marshal_NONE__UINT().
7724
7725         * gdk/gdk*.c: adapted type registration functions.
7726
7727         * gtk/gtkbindings.c:
7728         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
7729         gone.
7730
7731         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
7732
7733         * gtk/gtkobject.c:
7734         (gtk_object_destroy):
7735         (gtk_object_shutdown): fixed recursion guards. basically we have to
7736         catch the case where any of GObject.shutdown() or gtk_object_destroy()
7737         is called during ::destroy, and avoid recursion there.
7738
7739         * gtk/gtktypeutils.c:
7740         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
7741         boxed_copy/boxed_free. this needs a more general solution based on a
7742         publically installed code-generator utility.
7743
7744         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
7745         glib's gobject has support for that now.
7746         define GtkSignalMarshaller in terms of GSignalCMarshaller.
7747
7748 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
7749
7750         * gtk/gtksignal.[hc]:
7751         * gtk/gtkmarshal.[hc]:
7752         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
7753         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
7754         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
7755         care of that.
7756
7757         * *.c: marshaller name fixups.
7758
7759         * gtk/gtkmarshal.list: added a comment briefing the format.
7760
7761 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
7762
7763         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
7764         compatibility macros here now. more specifically, most of
7765         the API is preserved (yes, _most_, nonwithstanding the
7766         following exceptions listed, the API is stil lHUGE ;)
7767         things that got removed completely:
7768         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
7769         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
7770         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
7771         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
7772         gtk_signal_remove_emission_hook().
7773         non-functional functions variants:
7774         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
7775         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
7776         not supported anymore.
7777         (gtk_signal_compat_matched): new internal function to aid
7778         implementation of the compatibility macros, it  provides
7779         functionality to block/unblock/disconnect handlers based
7780         on func/data.
7781
7782         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
7783
7784         * *.c: adaptions to new type registration API signatures.
7785
7786 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
7787
7788         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
7789
7790 2000-10-25  Robert Brady  <robert@suse.co.uk>
7791
7792         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
7793         gdk_property_delete): If window == NULL, assume the root window.
7794         (restoring the behaviour that was in 1.2).
7795         
7796         * gtk/testtext.c (save_buffer): Allow creation of new files when
7797         saving.
7798
7799         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
7800         calls to read().
7801
7802 2000-10-25  Tor Lillqvist  <tml@iki.fi>
7803
7804         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
7805
7806         * gdk/win32/gdkdrawable-win32.c
7807         * gdk/win32/gdkimage-win32.c
7808         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
7809         X11 backend.
7810
7811         * gdk/win32/gdkcc-win32.c
7812         * gdk/win32/gdkcolor-win32.c
7813         * gdk/win32/gdkfont-win32.c
7814         * gdk/win32/gdkinput-win32.c
7815         * gdk/win32/gdkmain-win32.c
7816         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
7817
7818 2000-10-24  Havoc Pennington  <hp@redhat.com>
7819
7820         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
7821         it a static function
7822
7823         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
7824         redraw text when a tag is applied to it.
7825
7826         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
7827         (gtk_text_tag_affects_nonsize_appearance): private functions to
7828         see if a tag requires various kinds of redraw/layout to be queued
7829         up.
7830
7831         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
7832
7833         * gtk/testtext.c (fill_example_buffer): Put the cursor 
7834         at the start of the buffer, so search works by default
7835
7836         * gtk/gtktextiter.c (lines_match): init match_start always
7837
7838         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
7839         function, get iter at a line + a byte index
7840
7841         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
7842         to set byte position within a line
7843         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
7844
7845 2000-10-23  Havoc Pennington  <hp@redhat.com>
7846
7847         * gtk/testtext.c: Re-enable the "find" dialog
7848
7849         * gtk/testgtk.c: Add test for gdk_drawable_get_image
7850         
7851         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
7852         the arguments to gdk_draw_drawable were in the wrong order
7853         (gdk_window_paint_init_bg): This function was ignoring the
7854         init_region, instead of clipping to it, so the entire backing
7855         pixmap was cleared on every begin_paint()
7856         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
7857         was in here again, the loop kept using the same GtkWindowPaint
7858         over and over.
7859         (gdk_window_begin_paint_region): Fix a bug where we had two
7860         x_offset instead of x_offset and y_offset
7861
7862         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
7863         before we get the image.
7864         (gdk_draw_drawable): get the composite before we draw the drawable.
7865         (gdk_drawable_real_get_composite_drawable): default
7866         get_composite_drawable implementation that returns the drawable 
7867         itself
7868
7869         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
7870         get_composite_drawable virtual function
7871
7872         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
7873         list-walking bug
7874
7875         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
7876         make this work if the source drawable is a GdkDrawableImplX11
7877         instead of a public drawable type. This is really broken; the
7878         problem is that GdkDrawable needs a virtual method get_xid(), but
7879         of course that doesn't work in practice. Enter RTTI.
7880
7881         Also, improve mismatched depth message.
7882
7883         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
7884         GdkPixmap
7885
7886         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
7887         install _gdk_x11_get_image as our implementation of get_image
7888         
7889         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
7890         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
7891
7892         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
7893         gdk_drawable_get_image
7894
7895         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
7896
7897         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
7898         get_image
7899
7900         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
7901         trailing semicolon after for loop
7902
7903 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
7904
7905         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
7906         where font_desc for widget's context lagged widget's font_desc by
7907         one step.
7908
7909 2000-10-22  Tor Lillqvist  <tml@iki.fi>
7910
7911         * gdk/win32/gdkgc-win32.c
7912         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
7913
7914         * gtk/makefile.mingw.in
7915         * gtk/gtk.def: Updates.
7916
7917         * gtk/testgtk.c: sleep() is called _sleep in MS's C
7918         library.
7919
7920         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
7921
7922         * gtk/makefile.msc: Remove
7923
7924         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
7925
7926         * gtk/Makefile.am: Add it.
7927
7928         * configure.in: Generate it.
7929
7930         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
7931         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
7932         something even if not implemented, to satisfy picky MSVC.
7933
7934         Patches by Hans Breuer:
7935         
7936         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
7937         SetBkMode() and SetTextAlign() before calling
7938         pango_win32_render().
7939
7940         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
7941         Set hcliprgn to NULL after destroying it.
7942         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
7943
7944         * gdk/win32/gdkgeometry-win32.c
7945         (_gdk_windowing_window_queue_antiexpose): More effective
7946         implementation.
7947
7948         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
7949         depth as default, not the visual's.
7950
7951         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
7952         against empty title.
7953
7954         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
7955         IMAGE_PRIVATE_DATA.
7956
7957         * gdk/win32/gdkimage-win32.c: Use it.
7958
7959 2000-10-22  Robert Brady  <robert@suse.co.uk>
7960
7961         * configure.in: Check for bind_textdomain_codeset
7962
7963         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
7964         present, make use of it.
7965
7966         Add a translatable string "default:LTR" which, if translated
7967         to "default:RTL", will cause the default direction to be
7968         Right-to-Left.
7969
7970         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
7971         direction if marked as flippable.
7972
7973         * gtk/gtkhscale.c: Mark widget as flippable.
7974         
7975 2000-10-04  Havoc Pennington  <hp@redhat.com>
7976
7977         * gtk/testgtk.c (create_buttons): create some stock buttons
7978         with the default accel group
7979         (create_image): test some new GtkImage features
7980         (make_message_dialog): test GtkMessageDialog
7981         (create_modal_window): fix someone's bizzarro indentation
7982
7983         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
7984         GTK_WIN_POS_CENTER_ON_PARENT. 
7985         Add "destroy with parent" setting, which means the window goes
7986         away with its transient parent.
7987         (gtk_window_get_default_accel_group): get the default accel group
7988         for the window.
7989         (gtk_window_set_destroy_with_parent): set/unset destroy with
7990         parent flag
7991         (gtk_window_read_rcfiles): invalidate icon set caches
7992         after reloading rcfiles 
7993
7994         * gtk/gtkenums.h (GtkWindowPosition): add
7995         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
7996         on its parent window when the dialog is mapped for the first time.
7997
7998         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
7999         a simple message dialog class
8000         
8001         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
8002         handler to emit response signal, and maybe later it would
8003         honor a hide_on_delete flag - though that isn't there yet.
8004         Set border width on the vbox to 2, so we get some padding.      
8005         Use a button box for the action area.
8006         (gtk_dialog_key_press): synthesize a delete event if Esc
8007         is pressed and the GtkWidget key press handler didn't 
8008         handle the escape key.
8009         (gtk_dialog_new_with_buttons): new function creates a dialog
8010         with some default buttons in it.
8011         (gtk_dialog_add_action_widget): add an activatable widget
8012         as a button in the dialog - you can also add a non-activatable
8013         widget by accessing the action area directly.
8014         (gtk_dialog_add_button): add a simple button - stock ID or 
8015         label - to the action area
8016         (gtk_dialog_response): emit response signal
8017         (gtk_dialog_run): block waiting for the dialog, return 
8018         the response. Override normal delete_event behavior, so that 
8019         delete_event does nothing inside gtk_dialog_run().
8020
8021         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
8022         emitted when an action widget is clicked or the dialog gets
8023         delete_event
8024
8025         * gtk/gtk.h: add gtkmessagedialog.h
8026
8027         * gtk/Makefile.am: add gtkmessagedialog.[hc]
8028
8029 2000-10-18  Havoc Pennington  <hp@redhat.com>
8030
8031         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
8032         where any number of empty lines would get skipped
8033
8034         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
8035         edge.
8036
8037         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
8038         warning about invalid iterators (explain more thoroughly)
8039         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
8040
8041         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
8042         big
8043
8044         * demos/*.c: Add error handling
8045
8046         * gtk/gtktextbuffer.c: don't modify const iterators
8047
8048         * gtk/gdk-pixbuf-loader.c: Add full error handling here
8049
8050         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
8051         on file load
8052
8053         * gtk/gtkiconfactory.c: Update to reflect addition of error
8054         handling to gdk-pixbuf loaders
8055
8056 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
8057
8058         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
8059         move to new modularized testgtk.
8060
8061 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
8062
8063         * gtk/gtktreeview.c: Draw the arrows correctly.
8064
8065         * gtk/gtktreemodel.c: Added user docs.
8066
8067         * gtk/gtk.h: remove gtktreedatalist.h.
8068
8069         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
8070         parent when generating my type.
8071
8072         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
8073         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
8074
8075 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
8076
8077         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
8078         GtkTreeModel from object to interface.
8079
8080 2000-10-16  Havoc Pennington  <hp@redhat.com>
8081
8082         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
8083         compilation
8084
8085 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
8086
8087         * gtk/gtktreeselection.c: Add API documentation to all public
8088         functions.
8089
8090         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
8091         functions.
8092
8093 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
8094
8095         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
8096         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
8097         docs to all public functions.
8098
8099         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
8100         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
8101         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
8102         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
8103         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
8104         issue.
8105
8106 2000-10-14  Robert Brady  <robert@suse.co.uk>
8107
8108         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
8109
8110 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
8111
8112         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
8113         values other then G_TYPE_STRING.
8114         * gtk/gtktreeselection.c: Minor commenting updates.
8115         * gtk/gtktreeview.c: Format updates.
8116
8117 2000-10-09  Tor Lillqvist  <tml@iki.fi>
8118
8119         * README.win32: Update.
8120
8121         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
8122         lines that had been deleted by mistake (?).
8123
8124         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
8125         also the case fg==white and bg==black (but still not randomly
8126         coloured cursors). Thanks to Wolfgang Sourdeau.
8127
8128         * gdk/win32/*.c: Silence gcc -Wall.
8129
8130         * gtk/gtk.def: Add missing entry points.
8131
8132         Fixes by Hans Breuer:
8133
8134         * gdk/makefile.msc
8135         * gdk/win32/makefile.msc: Update.
8136
8137         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
8138         some MSVC thing, presumably), cause breakpoint on failures. Add
8139         GDK_NOR case. Call g_log_set_always_fatal.
8140
8141         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
8142         should be pased by reference.
8143         
8144         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
8145         
8146         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
8147
8148         * gdk/win32/gdkevents-win32.c
8149         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
8150
8151         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
8152         implementation object.
8153
8154         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
8155         not just windows.
8156         
8157         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
8158         Use the wrapper object.
8159         
8160 2000-10-06  Havoc Pennington  <hp@redhat.com>
8161
8162         * Makefile.am (SRC_SUBDIRS): contrib subdir
8163
8164         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
8165         so it can be used in Xlib version
8166
8167         * demos/testpixbuf.c (update_timeout): error checking from 1.0
8168         tree
8169
8170         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
8171         change from 1.0 tree that returns first frame of animation
8172         if the loaded file is an animation.
8173
8174         * contrib: add new directory to hold stuff that comes with GTK+
8175         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
8176         
8177         * configure.in: add contrib/*
8178
8179 2000-10-05  Havoc Pennington  <hp@redhat.com>
8180
8181         * demos/testpixbuf-save.c: add pixbuf save test
8182
8183         * demos/Makefile.am: add testpixbuf-save.c
8184
8185 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
8186
8187         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
8188         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
8189         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
8190         * gtk/gtktreeselection.[ch]: Replaced
8191         "node_selected"/"node_unselected" signal with "selection_changed"
8192         signal.
8193
8194 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
8195
8196         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
8197         tree widget.
8198
8199 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
8200
8201         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
8202         drawing.
8203
8204 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
8205
8206         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
8207         Move list pointer forwards before removing item from
8208         list. (Crash reported by Salmaso Raffaele)
8209
8210         * gdk/gdkwindow.h: Remove spurious trailing ,
8211
8212         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
8213         dependencies on uninstalled libraries, sorry folks.
8214
8215 2000-10-04  Havoc Pennington  <hp@redhat.com>
8216
8217         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
8218         gtk/gtkiconfactory.c: Fix copyrights    
8219
8220         * demos/testpixbuf.c: add inline pixbuf test
8221         
8222 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
8223
8224         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
8225         Add gdk_window_iconify.
8226
8227         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
8228         (gdk_window_set_geometry_hints): Add win_gravity
8229         to geometry structure.
8230
8231         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
8232         Implement _NET_WM_PING.
8233
8234         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
8235         Set _NET_WM_PID on the client leader.
8236
8237         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
8238         Handle UTF-8 better.
8239
8240         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
8241         UTF-8 better, set _NET_WM_NAME as well. Only set
8242         icon name if it hasn't previously been explicitely 
8243         set.
8244
8245 2000-10-03  Havoc Pennington  <hp@redhat.com>
8246
8247         * gtk/testtextbuffer.c: clean up trailing whitespace,
8248         add extensive tests for tag toggle iteration.
8249         
8250         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
8251         distance
8252
8253         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
8254         optimize case where the tag root is on level 1
8255         (gtk_text_line_previous_could_contain_tag): attempt to implement
8256         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
8257         functionality
8258
8259         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
8260         Implement this, though not very efficiently.
8261
8262         * gtk/gtktextiterprivate.h: reformat
8263
8264         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
8265         iterator
8266
8267         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
8268         this to properly revalidate the iterators.
8269
8270         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
8271         properly at the end of the line (and therefore on empty lines)
8272
8273         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
8274         maybe we should return a value...
8275
8276 2000-10-03  Tor Lillqvist  <tml@iki.fi>
8277
8278         * config.h.win32: Guard definition of alloca(). glib.h now handles
8279         that.
8280
8281         * gdk/gdk.def
8282         * gtk/gtk.def: Add new entry points.
8283
8284         Changes just to make GTK+ build without errors on Win32. No hope
8285         of it working in its current state, though...:
8286         
8287         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
8288         some functions from the X11 backend, just to make GTK+ build.
8289
8290         * gdk/makefile.mingw.in
8291         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
8292         number. Add new object files.
8293
8294         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
8295         GetMessageTime to get timestamp (where on X11 uses
8296         gdk_x11_get_server_time()).
8297
8298 2000-10-02  Havoc Pennington  <hp@pobox.com>
8299
8300         * gtk/gtktextview.c: text_window_* weren't static and should have
8301         been.
8302         Start work on child widgets; not yet complete, syncing to 
8303         office computer.
8304
8305         * gtk/gtktextchild.h: change this to contain a public interface,
8306         starting work on child interfaces.
8307         * gtk/gtktextchildprivate.h: move private interfaces here
8308
8309         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
8310
8311         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
8312         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
8313         gtk/gtktextmark.c: copyright notices
8314
8315         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
8316         internal functions      
8317
8318         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
8319         internal function
8320
8321         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
8322         Reformatting    
8323
8324 2000-09-30  Havoc Pennington  <hp@pobox.com>
8325
8326         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
8327         NULL start/end pointers
8328
8329         * gtk/gtktextbuffer.c: Write some docs
8330         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
8331         NULL, so you can just check whether there's a selection.        
8332
8333         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
8334         cleanup_line or segments_changed ourselves, it gets done 
8335         in unlink_segment
8336
8337         * gtk/gtktextmark.h:
8338         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
8339         
8340         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
8341
8342         * gtk/gtktextmark.c: delete some more old Tk cruft
8343
8344         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
8345         mark before removing it, so we can emit MARK_DELETED with a valid
8346         pointer.
8347         (gtk_text_buffer_mark_set): hold ref across signal emission
8348
8349         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
8350         whining about attempts to delete special marks
8351
8352         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
8353         underscore, since it's internal.
8354
8355         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
8356         now implemented in terms of iterators in gtktextiter.h
8357
8358         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
8359         New function, destructively sets contents of buffer. Also 
8360         a convenient way to clear the buffer by setting text to ""
8361
8362         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
8363         multiline string literal
8364
8365         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
8366         text changes.
8367
8368         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
8369         is not dereferenceable
8370         (gtk_text_iter_forward_lines): fix return value
8371
8372 2000-09-29  Havoc Pennington  <hp@redhat.com>
8373
8374         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
8375
8376         * gtk/gtktextview.c: Implement drag thresholding; change functions 
8377         that set border window size to have nicer name
8378         (gtk_text_view_mark_set_handler):  Fix this to have the 
8379         right signature.
8380
8381         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
8382
8383         * gtk/testtext.c: Update with API changes, put line numbers on 
8384         both sides.
8385         
8386         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
8387         with this
8388
8389         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
8390         pixbuf; delete a big block of #if 0 Tk code
8391
8392         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
8393         insert_pixmap with insert_pixbuf
8394
8395 2000-09-29  Martin Baulig  <baulig@suse.de>
8396
8397         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
8398         confusion with the GdkPixbuf of the GNOME 1.x platform.
8399
8400 2000-09-29  Havoc Pennington  <hp@pobox.com>
8401
8402         * gtk/gtktextview.c: Implement the side windows.
8403
8404         * gtk/testtext.c: Implement simple line numbering in the 
8405         left side window; seems to make scrolling sloooow. Oops.
8406         Also, cursor blink is for some reason causing redraws
8407         of the line numbers. Should investigate...
8408
8409 2000-09-28  Havoc Pennington  <hp@redhat.com>
8410
8411         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
8412         scrolling child windows, and draw focus rectangle properly.
8413         
8414         (gtk_text_view_buffer_to_window_coords):
8415         Coordinate transformation to deal with all these freaking windows
8416         and offsets
8417         (gtk_text_view_window_to_buffer_coords): transform the other way
8418
8419         * gtk/testtext.c (create_buffer): Update to match Pango API change
8420
8421         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
8422         anonymous tags
8423         (foreach_unref): don't emit remove signal from finalize, just
8424         set tag's parent to NULL
8425
8426 2000-09-26  Havoc Pennington  <hp@redhat.com>
8427
8428         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
8429         Fix some warnings       
8430
8431 2000-09-26  Havoc Pennington  <hp@redhat.com>
8432
8433         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
8434         headers into the private header list
8435
8436         * Makefile.am (pkgconfig_DATA): install pkg-config files
8437
8438         * configure.in: add pkg-config files
8439
8440         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
8441
8442         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
8443         outstanding icon caches on theme change.
8444
8445         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
8446         important types:
8447
8448         (GtkIconSource): Specification for creating a pixbuf 
8449         appropriate for a direction/state/size triplet from 
8450         a source pixbuf or filename
8451
8452         (GtkIconSet): List of GtkIconSource objects that are used to
8453         create the "same" icon (e.g. an OK button icon), and cache for
8454         rendered icons
8455
8456         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
8457         up the icon set for a given stock ID.  GTK maintains a stack of
8458         GtkIconFactory to search, and applications or libraries can add
8459         additional icon factories on top of the stack
8460         
8461         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
8462         the set of GtkIconSource specified for a given stock ID into 
8463         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
8464         RcStyle, under the specified stock ID.
8465
8466         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
8467         render_icon used to derive a GdkPixbuf from a GtkIconSource.
8468         This allows people to theme how prelight, insensitive, etc. are
8469         done.
8470
8471         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
8472         icon factories for a style, and return the resulting 
8473         icon set if any.
8474
8475         (gtk_style_render_icon): Render an icon using the render_icon 
8476         method in the GtkStyleClass.
8477
8478         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
8479         Use the style for a given widget to look up a stock ID, get the
8480         icon set, and render an icon using the render_icon method 
8481         of the style
8482
8483         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
8484         (contains information about a stock item), the built-in stock item
8485         IDs, and functions to add/lookup stock items.
8486
8487         * gtk/stock-icons/*: Stock icons that come with GTK
8488
8489         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
8490         a button based on a GtkStockItem
8491         (gtk_button_new_accel): Takes a uline string and accel group, and
8492         installs the accelerator.
8493
8494         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
8495         image-display widget.
8496
8497 2000-09-25  Havoc Pennington  <hp@redhat.com>
8498
8499         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
8500
8501         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
8502         Fix a bug when removing node data, we didn't properly 
8503         re-splice the linked list after removing the data.
8504
8505         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
8506         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
8507
8508         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
8509
8510         * gtk/gtktextlayout.c (set_para_values): Set tab array 
8511         for the layout from the GtkTextTag.
8512
8513         * gtk/gtktexttypes.h: delete tab and search cruft, 
8514         remove g_convert() in favor of GLib version
8515
8516         * gtk/gtktexttypes.c: remove tab implementation from here,
8517         move to Pango
8518
8519         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
8520         tab stuff using new PangoTabArray from Pango
8521
8522         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
8523         unused border_width stuff
8524
8525 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
8526
8527         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
8528         glib) and now useless utf_to_latin1() latin1_to_utf()
8529
8530         * gtk/gtktextview.[ch]: Change ::move_insert and
8531         ::delete_text action signals to ::move and ::delete;
8532         create the signals with the right enumeration type,
8533         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
8534         C-v bindings, change Home, End to move to beginning/end
8535         of line, Add C-Home C-End to move to beginning/end
8536         of buffer. Change ::cut_text to ::cut_clipboard, etc;
8537         combine ::scroll_text into ::move; use new GtkSelectionData
8538         functions to simplify DND text handling.
8539         
8540         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
8541         deletion enumerations here, rename enumeration values to 
8542         be consistently plural.
8543
8544         * gtk/gtktextbuffer.c: Use new clipboard interfaces
8545         for cut/copy/paste and primary selection.
8546
8547         * gtk/gtktextbuffer.[ch]: Remove excess time and
8548         'interactive' arguments from cut/copy/paste;
8549         rename cut to cut_clipboard, etc; remove
8550         gtk_text_buffer_get_clipboard_contents().
8551
8552         * gtk/gtktextlayout.[ch]: Add 
8553         gtk_text_layout_move_iter_to_line_end() to move the iter to 
8554         line ends.
8555
8556         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
8557         Functions to set or get a UTF-8 string on the selection
8558         data.
8559
8560         * gtk/gtkclipboard.[ch]: New, simplified selection handling
8561         interfaces.
8562
8563         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
8564         created widgets - one of these is useless if we don't.
8565
8566         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
8567         a public function clear all targets registered for the
8568         widget.
8569
8570         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
8571         Never call gtk_widget_realize() - that was just asking
8572         for bizarre side-effects.
8573
8574         * gtk/gtkselection.c (gtk_selection_owner_set): Call
8575         gdk_selection_owner_set even if the widget is the
8576         same so that we reliably update the timestamp on
8577         the server.
8578
8579         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
8580         gdk_x11_get_server_time() function.
8581         
8582         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
8583         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
8584         Add some tricky filtering on serial numbers for
8585         selection clear events to fix up long-standard
8586         race condition FIXME's in gtkselection.c.
8587
8588         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
8589         routines to convert from utf8 to compound text or
8590         STRING and from a text property to UTF-8.
8591
8592         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
8593         a convenience function gdk_get_current_event_time().
8594
8595         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
8596         and free selection_data->data properly
8597
8598 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
8599
8600         * gtk/gtkthemes.c: Remove some unecessary includes.
8601
8602 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
8603
8604         * gtk/gtktextdisplay.c
8605         * gtk/gtktextlayout.c
8606         * gtk/gtktexttag.c
8607         * gtk/gtktexttag.h
8608         * gtk/testtext.c: Change the overstrike property to strikethrough,
8609         to closer match pango.
8610
8611 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
8612
8613         * gtk/gtktextview.c: Fix up visibility so that focus,
8614         cursor_visible and blink interact properly.  Reenable cursor blink
8615         which had been roughly disabled. Make blink and focus
8616         properly per-view.
8617
8618         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
8619         Add a flag for whether to display insertion cursor and
8620         a function to set the flag.
8621
8622         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
8623         get_line_y() to get_line_yrange(), to be a bit more generally
8624         useful.
8625
8626 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
8627
8628         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
8629           do stop_navigating_submenu, to clear last timeout properly.
8630           Also in gtk_menu_motion_notify move ignore_enter above
8631           the conditional to make it always happen as suggested by Owen
8632
8633 2000-09-07  Tor Lillqvist  <tml@iki.fi>
8634
8635         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
8636
8637         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
8638         w32api headers.
8639
8640         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
8641         declarations.
8642
8643         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
8644         (gdk_win32_get_colormap): A line had been deleted by mistake.
8645
8646         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
8647         (gdk_event_translate): Handle more virtual keycodes to be able to
8648         generate GDK events for Control-comma, Control-period, etc.
8649
8650         * gtk/gtk.def: Add some missing entry points.
8651
8652 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
8653
8654         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
8655         Doc comment fixing. (Mostly non-matching parameter names.)
8656
8657         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
8658         comments a little to avoid looking like a doc comment.
8659
8660         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
8661         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
8662         conversions be changed to GError?)
8663
8664         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
8665         Move private #defines into .c file.
8666
8667         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
8668         order of argument addition, remove duplicates.
8669
8670         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
8671         parent class is FrameClass, not BinClass.
8672
8673         * gtk/gtk.h: Add gtkinvisible, which was missing.
8674         (It's occasionalyl useful for client apps, if seldom.)
8675
8676         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
8677         #define.
8678
8679 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
8680
8681         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
8682         coordinates when creating window, instead of GDK-space
8683         coordinates. (Avoid BadValue on too large windows.)
8684
8685 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
8686
8687         * configure.in (use_mmx_asm): Remove conftest* after use along the
8688         lines of AC_TRY_COMPILE.        
8689         
8690         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
8691         of g_dirname, which is deprecated.
8692         (gtk_rc_parse_any): Removed calls to
8693         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
8694
8695         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
8696         Removed calls to g_hash_table_{freeze,thaw}, as they are
8697         deprecated now.
8698
8699         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
8700         instead of g_basename.
8701         
8702 2000-09-04 Elliot Lee <sopwith@redhat.com>
8703         
8704         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
8705         ANSI warning.
8706
8707 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
8708
8709         * gtk/gtkwidget.h:  Add some documenting comments about 
8710           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
8711           just as owen said on irc.
8712
8713         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
8714           set HAS_DEFAULT.  Only set it if there isn't another window
8715           holding it (a focus window which RECEIVES_DEFAULT) and only unset
8716           it if the widget is not the focused window with RECEIVES_DEFAULT.
8717           This fixes weird double default bugs in dialogs which has things
8718           call gtk_window_set_default at times.
8719
8720 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
8721
8722         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
8723         Nils Barth and David Santiago to improve submenu
8724         navigation. The patch does this by creating a triangular
8725         region from the point where the pointer leaves the
8726         menu to the submenu.  While the pointer is in
8727         that region and a timeout has not expired, events 
8728         that would cause the active submenu to change are
8729         ignored.
8730
8731 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
8732
8733         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
8734         moving a toplevel window immediately after sizing it would
8735         result in it being sized back to the old size since 
8736         impl->width, impl->height aren't updated until we hear
8737         back from the server. There is still a (longstanding) bug
8738         here that gdk_window_get_size() will give the wrong size
8739         until we do hear back.
8740
8741 2000-08-31  Havoc Pennington  <hp@redhat.com>
8742
8743         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
8744         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
8745         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
8746         Rename GtkTextStyleValues to GtkTextAttributes
8747
8748 2000-08-31  Havoc Pennington  <hp@pobox.com>
8749
8750         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
8751         for rapid testing whether an iterator is the end iterator
8752         (gtk_text_btree_new): init end line cache
8753         (gtk_text_line_is_last): use fast cached line to 
8754         see if we're the last line.
8755         (get_last_line): use cached line here too, should 
8756         speed up some random unrelated code.
8757         
8758 2000-08-30  Havoc Pennington  <hp@pobox.com>
8759
8760         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
8761         signals.
8762
8763         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
8764         delete_text signals. This allows the signals to be used for
8765         implementing undo.
8766
8767         * gtk/gtktextbuffer.c: Change signal handler signatures; 
8768         provide "interactive" argument when emitting insert_text or
8769         delete_text signal.
8770         
8771 2000-08-30  Havoc Pennington  <hp@pobox.com>
8772
8773         * gtk/gtktextbuffer.c: Docs
8774
8775 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
8776
8777         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
8778         from switch statements, since Tor removed the enumeration
8779         value.
8780         
8781         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
8782         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
8783
8784 2000-08-29 Elliot Lee <sopwith@redhat.com>
8785         * */*.h: Use G_GNUC_CONST.
8786
8787 2000-08-27  Havoc Pennington  <hp@pobox.com>
8788
8789         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
8790         minor indentation fixes, inserted some FIXME about stuff I
8791         realized was broken while documenting it.
8792         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
8793         GTK convention  
8794
8795 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
8796
8797         * gtk/testgtk.c (create_styles): Fix double free of
8798         font desc.
8799
8800 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
8801
8802         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
8803         
8804         * gtk/testgtk.c (create_styles): Add a test for modifying
8805         the style through gtk_widget_modify_*.
8806
8807         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
8808         a function to get the current modifier style.
8809
8810         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
8811         of the passed in GtkRcStyle instead of ref'ing it.
8812
8813         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
8814
8815 2000-08-20  Tor Lillqvist  <tml@iki.fi>
8816
8817         * gdk/gdkimage.h
8818         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
8819         shared memory image+pixmap GdkImage type, or
8820         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
8821         I am dropping that.
8822
8823         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
8824         actually call gtk_init_abi_check(), passing also
8825         sizeof(GtkWindow). Ditto for gtk_init_check(). 
8826
8827         * gtk/gtk.def
8828         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
8829         New functions, used to check that the GTK+-using code has been
8830         compiled using the correct compiler and switches. In particular,
8831         with gcc one has to use the -fnative-struct switch as GTK+ is
8832         compiled with that.
8833
8834 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
8835
8836         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
8837         ->prev fields when merging lists. (Found simultaneously
8838         by Pawel Salek and Jakub Jelinek)
8839
8840 2000-08-12  Tor Lillqvist  <tml@iki.fi>
8841
8842         * gdk/gdk.def
8843         * gtk/gtk.def: Add missing entries.
8844
8845         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
8846         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
8847
8848         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
8849         function. Dummy implementation at this point.
8850
8851         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
8852         rules. Undefine GTK_COMPILATION when compiling the test programs.
8853         
8854         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
8855
8856 2000-08-11  Tor Lillqvist  <tml@iki.fi>
8857
8858         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
8859         to convert back and forth from UTF-8 and the "system" (or "current
8860         locale") charset when necessary. Indentation/spacing cleanup.
8861
8862 2000-08-10  Havoc Pennington  <hp@redhat.com>
8863
8864         * Makefile.am (snapshot): Change the format of the snapshot
8865         version to match glib
8866
8867         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
8868         from EXTRA_DIST since it doesn't seem to exist
8869
8870 2000-08-10  Tor Lillqvist  <tml@iki.fi>
8871
8872         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
8873         version of the directory name (not the UTF-8 one) when building
8874         the path name to stat().
8875
8876 2000-08-03  Elliot Lee  <sopwith@redhat.com>
8877
8878         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
8879         PANGO_ATTR_SHAPE set.
8880
8881 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
8882
8883         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
8884         Peter Osterlund to simplify the code while keeping the
8885         functionality the same.
8886
8887 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
8888
8889         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
8890         is_viewable() test further inside the function, since removing the 
8891         window from the redraw list without clearing ->update_area
8892         was also very broken.
8893
8894 2000-08-02  Tor Lillqvist  <tml@iki.fi>
8895
8896         * configure.in: Check for <unistd.h>.
8897
8898 2000-08-01  Martin Baulig  <baulig@suse.de>
8899
8900         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
8901         to display the message that this is a development version of GTK+.
8902
8903 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
8904
8905         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
8906         was depending on widget->allocation instead of the width of text_area,
8907         which was incorrect for subclasses like GtkSpinButton.
8908
8909         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
8910         with width == 1 tests that should be width == -1.
8911
8912 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
8913
8914         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
8915         (broken, Elliot, every single window blank on X) custom code with call
8916         to gdk_window_is_viewable() which a) prevents code duplicate and
8917         b) works. 
8918
8919 2000-07-31  Elliot Lee  <sopwith@redhat.com>
8920
8921         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
8922         to get the GDK_PARENT_ROOT() macro to work.
8923         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
8924         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
8925         of, windows that aren't shown.
8926         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
8927         pointer grab stuff.
8928
8929 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
8930
8931         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
8932           s/gtk_main_iteration/g_main_iteration/
8933
8934           Did this already in change:
8935                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
8936           don't know how it got reverted.
8937
8938 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
8939
8940         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
8941         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
8942
8943         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
8944         not gdk_pixbuf.
8945
8946 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
8947
8948         * configure.in,po/{sp,sr}.po: Added Serbian files
8949
8950 2000-07-30  Tor Lillqvist  <tml@iki.fi>
8951
8952         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
8953
8954         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
8955         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
8956         GIOChannel implementation.
8957
8958         * gdk/win32/gdkinput.c
8959         * gdk/win32/gdkpango-win32.c: Update license name here, too.
8960
8961         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
8962         definition to match prototype.
8963
8964         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
8965
8966 2000-07-27  Elliot Lee  <sopwith@redhat.com>
8967
8968         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
8969         function, to allow handling image formats that cannot be detected
8970         by looking at content alone.
8971
8972 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
8973
8974         * docs/tutorial/*.gif *.jpg *.eps
8975           Update these to the same look-n-feel.
8976           Why does including images in DocBook suck so badly?
8977
8978 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
8979
8980         * gtk/gtktable.c: applied patch from Phil Thompson
8981         <phil@river-bank.demon.co.uk> that enables space settings for
8982         the last row/columns as well.
8983
8984 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
8985
8986         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
8987         updates the license headers to the GNU Lesser General Public License,
8988         as well as updating the copyright year to 2000.
8989
8990 2000-07-26  Robert Brady  <rwb197@zepler.org>
8991
8992         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
8993           and po/Makefile, was installing and looking for them under gtk20
8994           and gtk2 respectively.
8995
8996 2000-07-25  Havoc Pennington  <hp@redhat.com>
8997
8998         * gtk/testtext.c: Comment out some stuff that depends on the rest
8999         of my patches.
9000
9001 2000-07-25  Havoc Pennington  <hp@redhat.com>
9002
9003         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
9004         buffer
9005
9006 2000-07-25  Havoc Pennington  <hp@redhat.com>
9007
9008         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
9009         widget changes.
9010
9011         * gtk/gtktextview.h: To be consistent with usage of "line"
9012         throughout the API to mean "newline-terminated thingy", change
9013         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
9014         to MOVEMENT_LINE.
9015
9016         (GtkTextView): Add flags for default editability, and whether to
9017         show the cursor. Add functions to get/set that. Add 
9018
9019         (gtk_text_view_get_iter_location): new function
9020
9021         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
9022         gtktextlayout.h
9023         (g_convert): Add g_convert temporarily, will go in glib in a bit
9024         
9025         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
9026         GtkTextTagTableForeach instead of brokenly using GHFunc.
9027         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
9028
9029         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
9030         moved to public header.
9031
9032         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
9033         "invisible", since "elide" was a bad name.
9034         (gtk_text_tag_get_priority): Added
9035
9036         (GtkTextStyleValues): put this in public header, along with
9037         functions to use it.
9038
9039         * gtk/gtktextmarkprivate.h: Include more headers, since we no
9040         longer include gtktextbtree.h.
9041
9042         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
9043         gtk_text_mark_deleted
9044
9045         * gtk/gtktextlayout.h: Don't include the "really private" headers,
9046         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
9047         to make this possible. Now we only need to install
9048         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
9049         (However the Makefile.am isn't changed yet because of the
9050         logistics of merging gtk-hp-patches piecemeal)
9051
9052         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
9053         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
9054         gtk_text_iter_get_line is now used in the public API for a
9055         different purpose.
9056
9057         * gtk/gtktextiter.h: Clean up function names to be more
9058         consistent. Always call char offset "offset" and byte index
9059         "index". A "line" is always a line number. 
9060
9061         (gtk_text_iter_is_last): new function, more efficient than 
9062         the existing way to check
9063         (gtk_text_iter_is_first): new function, also more efficient
9064
9065         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
9066
9067         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
9068         gtk_text_iter_forward_char, etc.
9069
9070         (gtk_text_iter_forward_to_tag_toggle): Renamed from
9071         forward_find_tag_toggle, since this isn't a linear search
9072
9073         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
9074
9075         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
9076         New functions, search for a buffer substring.
9077
9078         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
9079         interactive and default editable (since we need to store that info
9080         until we receive the selection data).
9081
9082         Remove all the _at_char and at_line etc. versions of functions;
9083         only have iterator versions.
9084
9085         Add _interactive() versions of functions, that consider the
9086         editability of text. (FIXME add interactive flag to the 
9087         insert/delete signals per Darin's suggestion)
9088
9089         (gtk_text_buffer_get_tag_table): new function, demand-creates the
9090         tag table if necessary
9091
9092         Remove declaration of gtk_text_buffer_get_iter_from_string
9093
9094         (_gtk_text_buffer_get_btree): private/internal function, added.
9095         
9096
9097         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
9098         (gtk_text_line_is_last): new function
9099
9100 2000-07-25  Havoc Pennington  <hp@redhat.com>
9101
9102         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
9103         using GtkProgressBar. See Changes-2.0.txt for details.
9104
9105         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
9106         "pulse_step" which are the equivalent of
9107         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
9108         Implement new API.
9109         
9110         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
9111         (use_text_format) to mark whether text set on the progress bar is
9112         a format string. Deprecate entire GtkProgress interface.
9113
9114         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
9115         (gtk_progress_build_string): make this a no-op if use_text_format
9116         is FALSE
9117
9118         * docs/Changes-2.0.txt: Describe progress bar changes.
9119
9120 2000-07-25  Tor Lillqvist  <tml@iki.fi>
9121
9122         * Makefile.am: Include the build directory.
9123
9124         * configure.in: Generate build/Makefile, build/win32/Makefile,
9125         gdk/, gdk/win32/, and gtk/makefile.mingw.
9126
9127         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
9128         Add GETTEXT_PACKAGE.
9129         
9130         * gdk/gdk.def
9131         * gtk/gtk.def: Updates.
9132
9133         * gdk/gdkfont.h
9134         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
9135         need them any longer.
9136
9137         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
9138
9139         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
9140         PANGOWIN32_LIBS and gdk_pixbuf.
9141
9142         * gdk/win32: Compiles, but no doubt doesn't work at all.
9143
9144         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
9145
9146         * gdk/win32/gdkinput.c: New file, temporarily.
9147         
9148         * gdk/win32/gdkinput-win32.h: New file
9149
9150         * gdk/win32/gdkinputprivate.h: Remove.
9151
9152         * gdk/win32/gdkpango-win32.c: New file.
9153
9154         * gtk/makefile.mingw.in: New file
9155
9156         * gtk/makefile.cygwin: Removed
9157         
9158         * gtk/Makefile.am: Update accordingly.
9159
9160         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
9161         made externally visible.
9162
9163         * gtk/gtkmain.c: Use it.
9164         
9165         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
9166         is enough.
9167
9168         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
9169
9170 2000-07-24 Elliot Lee <sopwith@redhat.com>
9171         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
9172         individual backends already.
9173         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
9174         again. Yes, there really is a good reason for this, if you are using the gdkregion
9175         internals, and if you're not, why do you care?
9176         * gdk/gdkwindow.c: Fix inverted condition
9177         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
9178         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
9179         * gtk/gtkrange.c: Redraw trough when moving.
9180         * gtk/gtktypeutils.c: Fix warning by adding const cast.
9181         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
9182
9183 2000-07-23  Tor Lillqvist  <tml@iki.fi>
9184
9185         * configure.in: Check for mkstemp and sigsetjmp. Output
9186         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
9187
9188         More work on GDK for Win32. Still in an intermediate state.
9189
9190         * gdk/makefile.cygwin
9191         * gdk/win32/makefile.cygwin: Removed.
9192         
9193         * gdk/makefile.mingw.in
9194         * gdk/win32/makefile.mingw.in: New files.
9195
9196         * gdk/Makefile.am
9197         * gdk/win32/Makefile.am: Generate and distribute them.
9198
9199         * gdk/win32/gdkwindow-win32.h
9200         * gdk/win32/gdkdrawable-win32.h
9201         * gdk/win32/gdkpixmap-win32.h: New files.
9202
9203         * gdk/win32/gdkcolor-win32.c
9204         * gdk/win32/gdkcursor-win32.c
9205         * gdk/win32/gdkdrawable-win32.c
9206         * gdk/win32/gdkgc-win32.c
9207         * gdk/win32/gdkimage-win32.c
9208         * gdk/win32/gdkprivate-win32.h
9209         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
9210         Rename fields and variables called xcursor, xid, etc (these names
9211         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
9212
9213 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
9214
9215         * gtk/gtkentry.[ch]: Fix some problems with vertical
9216         alignment.
9217
9218         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
9219         char/byte confusion.
9220
9221 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
9222
9223         * gtk/gtktextview.c (changed_handler): Fix bug where
9224         redraw wasn't being done properly when height of
9225         dirty region changed.
9226
9227         * demos/Makefile.am: Remove various references to
9228         -lgmodule
9229
9230 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
9231
9232         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
9233         PangoAttrShape to reserve space for pixmaps, add 
9234         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
9235         in the display functions.
9236         
9237         * gtk/testgtk.c (create_layout): Set some more exotic
9238         scrolled window options
9239
9240         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
9241         Add function to set the shadow type of a window, to allow
9242         putting a shadow around widgets such as GtkLayout or GnomeCanvas
9243         which don't draw their own frame.
9244
9245 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
9246
9247         * docs/tutorial/package-db-tutorial.sh: New file for
9248           packaging DocBook format tutorial
9249
9250 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
9251
9252         * docs/tutorial/gtk-tut.sgml: Minor updates
9253
9254         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
9255
9256 2000-07-19  Tor Lillqvist  <tml@iki.fi>
9257
9258         * gtk/gtksignal.c: Fix C++ comment.
9259
9260         * gtk/gtkimmulticontext.c
9261         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
9262         don't return value from void functions.
9263
9264         * gtk/gtk.def: Add gtk_rc_style_unref.
9265
9266 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
9267
9268         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
9269         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
9270         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
9271         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
9272         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
9273         gtk/gtktypeutils.h: Include files outside of the extern "C"
9274         block. Makes some C++ compiler happy. Reported by Denis Vakatov
9275         <vakatov@peony.nlm.nih.gov>.
9276
9277 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
9278
9279         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
9280           Completes first pass. Hurrah!
9281
9282 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
9283
9284         * docs/tutorial/gtk-tut.sgml: More clean ups.
9285
9286 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
9287
9288         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
9289         paint the background of the text area which was accidentally
9290         removed at some point.
9291
9292         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
9293           
9294          - Move most of the functionality from the theme vtable
9295            into GtkRcStyleClass and GtkStyleClass. The moved
9296            vtable functions were changed a bit in the move to
9297            work better in their new home.
9298
9299          - Get rid of the engine and engine_data fields from
9300            GtkRcStyle and GtkStyle; instead the theme
9301            engine derives theme-specific subclasses of GtkRcStyle
9302            and GtkStyle
9303
9304          - Add extra dlsym() found entry point to themes,
9305            theme_create_rc_style().
9306
9307         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
9308         in gtk_style_real_copy.
9309
9310         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
9311         to register a type associated with an engine. (The engine
9312         won't be unloaded as there is an instance of the type.)
9313
9314
9315 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
9316
9317         * docs/tutorial/gtk-tut.sgml: Clean ups.
9318
9319 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
9320
9321         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
9322           of cleaning up to do.
9323
9324 2000-07-15  Tor Lillqvist  <tml@iki.fi>
9325
9326         * gdk/testgdk.c: New file, quick hack to test backends for
9327         pixel-by-pixel correctness of the most simple graphic operations.
9328
9329 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
9330
9331         * Really release 1.3.1
9332         
9333         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
9334         include structure.
9335
9336 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
9337
9338         * Released 1.3.1
9339
9340 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
9341
9342         * gtk/gtktextlayout.c: use FALSE for size_only most
9343         of the time when calling gtk_text_layout_get_line_display()
9344         to avoid causing double reshapes when a redraw follows
9345         immediately after.
9346
9347 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
9348
9349         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
9350         appropriate region and gdk_window_process_updates() so trough
9351         updating doesn't lag behind the window being scrolled.
9352
9353         * gdk/gdkgc.c: Make parent_class pointer static.
9354          
9355 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
9356
9357         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
9358         include <string.h>.
9359          
9360         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
9361         cut-and-paste error in computing memory offset for 4 channels.
9362
9363 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
9364
9365         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
9366         gtk_rc_append_default_pixmap_path(), since it wasn't
9367         adding an interesting path and we don't have a meaningful
9368         default for this value.
9369
9370 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
9371
9372         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
9373         gtk-config to gtk-config-2.0 move gtk_.m4 to
9374         gtk-2.0.m4
9375
9376         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
9377         gdk/Makefile.am demos/Makefile.am: Change 
9378         library names to libgtk-1.3.la, etc, so that we
9379         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
9380
9381         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
9382         gdk/Makefile.am gdk/x11/Makfile.am
9383         Move include files into /usr/include/gtk-2.0, 
9384         /usr/lib/gtk-2.0/include/
9385          
9386         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
9387         gtk/gtkintl.h: Change package for gettext from 
9388         gtk+ to gtk20. Put hack in autogen.sh to modify
9389         po/Makefile.in.in after gettextize to make this
9390         possible.
9391
9392         * gtk+.spec: Some updates, not tested.
9393
9394         * gdk-pixbuf/Makefile.am: Move loaders into
9395         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
9396
9397         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
9398         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
9399         to THEMENAME/gtk-2.0/. Move engine directory  to
9400         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
9401         
9402 2000-07-12  Tor Lillqvist  <tml@iki.fi>
9403
9404         Win32 changes, still doesn't build though.
9405
9406         * gdk/makefile.cygwin
9407         * gdk/win32/makefile.cygwin
9408         * gtk/makefile.cygwin: Updates.
9409
9410         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
9411         default values for fg and bg pixel as X11 does (0 and 1), not
9412         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
9413         Use 0 for pen width by default (treated as 1 anyway later, but for
9414         apps that might check the value in the GdkGC).
9415         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
9416         interface to gdk_gc_predraw and _postdraw.
9417
9418         * gdk/win32/gdkwin32.h
9419         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
9420
9421         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
9422         extraneous semicolon.
9423
9424         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
9425
9426         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
9427         not the Win32 bitspixel value.
9428
9429         * gdk/win32/gdkcc-win32.c:
9430         * gdk/win32/gdkcolor-win32.c 
9431         * gdk/win32/gdkprivate-win32.h
9432         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
9433         GDK object structure.
9434
9435 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
9436
9437         * docs/tutorial/gtk_tut_12.es.sgml (name): 
9438         * docs/tutorial/gtk_tut_it.sgml (name): 
9439         * docs/tutorial/gtk_tut_fr.sgml (name): 
9440         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
9441         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
9442
9443 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
9444
9445         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
9446           small changes.
9447
9448 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
9449
9450         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
9451         a bug here, never been here and never fixed anything ;(
9452         (don't segfault if tree->root_tree is NULL, which happens prior
9453         to widget realization, but puke instead).
9454
9455 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
9456
9457         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
9458         add the necessary tokens.
9459
9460         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
9461         (gtk_rc_style_to_style): copy thicknesses.
9462         (gtk_rc_init_style): apply thicknesses.
9463         (gtk_rc_parse_style): parse xthickness and ythickness.
9464
9465         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
9466
9467         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
9468         (gdk_window_new): 
9469         (_gdk_windowing_window_init): 
9470         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
9471         (gdk_pixmap_create_from_data): 
9472         (gdk_bitmap_create_from_data): 
9473         (gdk_pixmap_new): 
9474         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
9475         (gdk_image_new): 
9476         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
9477         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
9478         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
9479         (gdk_colormap_get_system): 
9480         (gdk_colormap_new): 
9481         * gdk/gdkwindow.c (gdk_window_init): 
9482         * gtk/gtkstyle.c (gtk_style_new):
9483         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
9484         * gdk/gdkpixmap.c (gdk_pixmap_init): 
9485         * gtk/gtkrc.c (gtk_rc_style_new):
9486         use g_object_new() instead of g_type_create_instance() which
9487         is a private function for fundamental type implementations.
9488
9489 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
9490
9491         * configure.in: Add check for db2html
9492
9493 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
9494
9495         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
9496         hack to set glib_debug_objects based on gtk_debug_flags.
9497
9498 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
9499
9500         * INSTALL.in: Update the Prerequisites section.
9501
9502         * Makefile.am demos/Makefile.am docs/Makefile.am
9503         docs/tutorial/Makefile.am gdk/x11/Makefile.am
9504         gdk/linux-fb/Makefile.am: Dist fixes
9505
9506 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
9507
9508         * NEWS: 10,000 foot view of 1.3.1 changes.
9509
9510 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
9511
9512         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
9513         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
9514         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
9515         gdk/x11/gdkmain-x11.c: 
9516
9517         Patch from George Lebl to add a GdkGrabStatus enumeration to use
9518         as a return value of gdk_*_grab(). Previously, we just
9519         returned the X11 values directly.
9520
9521 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
9522
9523         * gdk/x11/Makefile.am: Patch from George Lebl to 
9524         install all the headers in the right place.
9525
9526 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
9527
9528         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
9529           initial conversion to DocBook.
9530
9531 2000-07-04  Tor Lillqvist  <tml@iki.fi>
9532
9533         * README.win32: Improve a bit.
9534
9535         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
9536         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
9537         Alt+0nnn on the numpad (used to enter characters by numeric code
9538         from current DOS or ANSI codepage) working correctly, as in other
9539         Windows apps.
9540
9541         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
9542         same argument validity tests as in X11 version.
9543         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
9544
9545         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
9546         definitions in case missing from headers.
9547
9548         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
9549         destroy the window-specific cursor.
9550         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
9551         calling GetModuleHandle(NULL).
9552         (gdk_window_set_cursor): Reworked to always copy the passed cursor
9553         with CopyCursor before setting it as the window-specific
9554         cursor. It is OK for the caller to destroy the GdkCursor (and thus
9555         also its Windows cursor) after calling this function. Destroy any
9556         previous window-specific cursor.
9557
9558 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
9559
9560         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
9561         font charset is iso8859-1, not iso-8859-1.
9562
9563 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
9564
9565         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
9566         Use g_get_charset() instead of g_get_codeset().
9567
9568         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
9569         Comment out some strdup'ing functions to keep timj
9570         happy until we finish fighting this out.
9571
9572 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
9573
9574         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
9575         <= width or height.
9576
9577         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
9578         from 1.2 for parent/child states.
9579
9580         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
9581         of typos.
9582
9583         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
9584         event structures, replace with a generic axes field. Replace 
9585         deviceid/sourec with GdkDevice *device.
9586
9587         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
9588         to extract particular axis use value from event. (Also
9589         can be used for normal X/Y.)
9590
9591         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
9592         allow for arbitrary number of axes, namespace everything
9593         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
9594         everywhere.
9595
9596         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
9597         Get rid of the gdk_input_vtable setup if favor of simply
9598         defining the functions in gdkinput-none/gxi/xfree.c in
9599         a similar fashion to the way that the port structure is 
9600         done.
9601
9602         * gtk/gtkdnd.c: Fix fields of synthesized button press event
9603         for new event structures. 
9604
9605         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
9606         new device interfaces.
9607
9608 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
9609
9610         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
9611         set the initial text.
9612
9613         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
9614         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
9615         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
9616         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
9617
9618         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
9619         pango_layout_set_font_description to simplify.
9620
9621 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
9622
9623         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
9624         pango_layout_set_font_description to simplify.
9625
9626 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
9627
9628         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
9629         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
9630         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
9631
9632         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
9633         PANGO_PIXELS() macro.
9634
9635 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
9636
9637         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
9638         that returns a PangoContext owned by the widget and updated to
9639         match future changes in the widget. Also, make 
9640         gtk_widget_create_pango_layout() use this context. If we ever
9641         add a ::changed signal to PangoContext, this will make things
9642         much more convenient. 
9643
9644         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
9645         in the appropriate places instead of destroying the layouts and
9646         creating new ones.
9647
9648         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
9649         in a few strategic places.
9650
9651 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
9652
9653         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
9654         gtk_widget_size_request() on reparented child, if one. Otherwise,
9655         queue_resize() on the child never results in it getting size-requested
9656         at all.
9657
9658         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
9659         in option menus, so that (with luck) people won't copy it into
9660         their apps in the future.
9661
9662         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
9663         to gtk_option_menu_calc_size. This isn't perfect, but should fix
9664         a lot of problems with changing the size of the menu's menu
9665         items after adding it to the option menu.
9666
9667         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
9668
9669         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
9670         the text direction for a widget changes.
9671
9672         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
9673         ::direction_changed to get rid of various hacks.
9674
9675 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
9676
9677         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
9678         name.
9679
9680 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
9681
9682         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
9683         flag to the structure. Do not call XFreePixmap on pixmaps created
9684         by gdk_pixmap_foreign_new().
9685
9686 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
9687
9688         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
9689         value using GdkRGB functionality given GdkColormap and GdkColor.
9690         (name not final, waiting for inspiration.)
9691         
9692         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
9693         set the foreground/background of a GC using the GC's colormap
9694         and GdkRGB. (name not final, waiting for inspiration.)
9695
9696         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
9697         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
9698
9699         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
9700         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
9701         purely a function of the corresponding colormap. Make
9702         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
9703
9704         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
9705         gdk_pixbuf_*create_from_xpm_* in terms of
9706         gdk_pixbuf_new_from_xpm_data(), move into platform independent
9707         code.
9708
9709         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
9710         advantage of the new draw_rgb_32_image_dithalign.
9711
9712         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
9713
9714         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
9715         on each created GC.
9716
9717         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
9718
9719         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
9720         which we initialize from the drawable when the GC is created,
9721         if the drawable has a colormap.
9722
9723         * gdk/x11/gdkgc-x11.c: include string.h for memset.
9724
9725         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
9726
9727         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
9728
9729 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
9730
9731         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
9732         actually returning expose events, make sure to set
9733         the count field properly.
9734
9735         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
9736         accidentally reintroced bug which always cleared
9737         the graphics_exposures value. 
9738
9739 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
9740
9741         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
9742
9743 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
9744
9745         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
9746
9747 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
9748
9749         * docs/faq/gtk-faq.sgml: Start of Section 6.
9750
9751 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
9752
9753         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
9754         
9755         (Fixes problem with drawing childless frames. Pointed out
9756         by and a first patch from Anders)
9757         
9758         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
9759         compute a child_allocation, even if we don't have a child.
9760
9761         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
9762         Always chain to the parent's impl, even if we don't have a child.
9763
9764 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
9765
9766         * gdk/gdkrgb.c: If possible, create only a single shm segment and
9767         use multiple parts of it instead of creating a bunch of separate
9768         segments, since the maximum number of segments per system is not
9769         large. (This might be worth backporting to GTK+-1.2.x if we make a
9770         new release )
9771
9772         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
9773         structure in preparation for per-colormap GdkRGB.
9774
9775         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
9776         to False when we get EINVAL from shmget so that the caller of
9777         gdk_image_new can retry with a smaller segment size.
9778
9779 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
9780
9781         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
9782
9783 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
9784
9785         * configure.in: make the current version number 1.3.1 (binary age 0,
9786         interface age 0).
9787         
9788         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
9789         gtkcompat.h is all we want.
9790
9791         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
9792         GLib primitive types. fixed g_type_register_fundamental() argument
9793         ordering.
9794
9795         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
9796         compiles.
9797
9798         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
9799         object code cleanup, comment trigraph fixes, etc...
9800
9801 2000-06-23  Havoc Pennington  <hp@redhat.com>
9802
9803         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
9804         instead of making up a bogus name for first_para_mark
9805
9806         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
9807         0 as a context ID
9808
9809 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
9810
9811         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
9812
9813 2000-06-21  Havoc Pennington  <hp@pobox.com>
9814
9815         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
9816         we didn't check window->bg_pixmap != GDK_NO_BG.
9817
9818         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
9819         gdk-pixbuf
9820
9821 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
9822
9823         * docs/faq/gtk-faq.sgm: Move file to here.
9824           TODO: Update Makfile.am 
9825
9826 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
9827
9828         * docs/gtk-faq.sgm: Add Section 2
9829
9830 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
9831
9832         * docs/gtk-faq.sgm: New file. Start of DocBook
9833           version of the FAQ.
9834
9835 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
9836
9837         * configure.in (GDK_PIXBUF_MAJOR): Define version
9838         numbers for GDK_PIXBUF_*, as they get substituted
9839         into a header file. Need to consider versioning
9840         for gdk-pixbuf more carefully later.
9841
9842 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
9843
9844         Work with srcdir != builddir.   
9845         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
9846         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
9847         * demos/testpixbuf.c: Likewise.
9848         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
9849         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
9850         <gdk/x11/gdkx.h>.
9851         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
9852         "gdk-pixbuf.h".
9853         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
9854
9855 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
9856
9857         * TODO.xml: Change 1.4 version numbers to 2.0.
9858
9859 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
9860
9861         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
9862         fixups to GTK+ standard.
9863
9864 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
9865
9866         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
9867         gdk-pixbuf.
9868
9869         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
9870         fixups for GObject.
9871
9872         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
9873         gdk-pixbuf with GDK dependencies moved into GDK.
9874         
9875         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
9876         move gdk-pixbuf-loader here until GObject has signals.
9877
9878         * demos/: New directory of demos. Move demos from
9879         gdk-pixbuf here.
9880
9881         * demos/pixbuf-init.c: Small bit of code to check for
9882         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
9883         set GDK_PIXBUF_MODULEDIR appropriately.
9884
9885         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
9886         define which no longer makes sense.
9887
9888 2000-06-21  Havoc Pennington  <hp@redhat.com>
9889
9890         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
9891         gtk_get_default_language
9892
9893         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
9894         new function to get the default language
9895
9896         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
9897         s/gtk_text_view_style_values/gtk_text_style_values/
9898
9899         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
9900         Add a "language" field to tags.
9901
9902         (gtk_text_tag_set_arg): Fix bug in setting
9903         "bg_full_height_set" tag.
9904
9905 2000-06-21  Havoc Pennington  <hp@redhat.com>
9906
9907         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
9908         in the interfaces
9909
9910         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
9911         stuff instead when possible.
9912
9913         * gtk/gtktexttypes.h: Delete some unused constants
9914
9915         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
9916         testtextbuffer.c: use glib instead of custom unicode routines
9917
9918 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
9919
9920         * docs/es/: Removed mistakenly added generated sgml
9921
9922         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
9923         Remove outdated info files.
9924
9925         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
9926         Moved tutorial files into subdir
9927
9928         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
9929         subdir.
9930
9931         * docs/man/gtk_button.pod: Remove. (contents will be
9932         integrated into gtk-reference button page.)
9933
9934         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
9935         docs/faq/Makefile.am: Adjust for new organization
9936
9937 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
9938
9939         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
9940         not $(MKINSTALLDIRS)
9941
9942 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
9943
9944         * gtk/testgtk.c (create_text): Finish the job Elliot started
9945         of removing font setting test for text widget. (Since text widget
9946         and GdkFont are not deprecated, and cause portability problems.)
9947
9948 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
9949
9950         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
9951         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
9952         Remove use of libunicode in favor of new GLib functions.
9953
9954         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
9955         nano-x, framebuffer. The X11 include is just a hack until we get
9956         the necessary functions in gdkcolor.h, so there is no reason to
9957         add other includes of platforms.
9958
9959         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
9960         window bigger than the screen change.
9961
9962         * gtk/testgtk.c: Revert some random changes from Elliot
9963         that had no particular point and were causing testgtkrc
9964         not to function correctly.
9965         
9966         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
9967         because GdkSegment and GdkRegionBox have the same fields,
9968         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
9969         results in clearer code.
9970
9971         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
9972         gdk_input_translate_coordinates): Fix missed GdkObjectification
9973
9974 2000-06-18  Elliot Lee  <sopwith@redhat.com>
9975
9976         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
9977         * gtk/gtk{plug,socket}.h: Missed commits from previous.
9978
9979 2000-06-20  Havoc Pennington  <hp@redhat.com>
9980
9981         * modules/linux-fb/Makefile.am: Make this compile
9982         without framebuffer enabled
9983
9984         * gdk/linux-fb/Makefile.am: Add conditional to not build
9985         framebuffer unless specified in configure
9986
9987         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
9988         the size of the target instead of source if -1 was passed for
9989         width/height
9990
9991         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
9992         width/height confusion.
9993
9994 2000-06-19  Havoc Pennington  <hp@redhat.com>
9995
9996         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
9997         GDK_DRAWABLE_XID. In the future, we probably want to make it
9998         faster with G_DISABLE_CHECKS turned on.
9999
10000 2000-06-14  Havoc Pennington  <hp@redhat.com>
10001
10002         * gdk/Makefile.am: add gdkpixmap.c
10003
10004         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
10005         s/gdk_image_init/_gdk_windowing_image_init
10006
10007         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
10008         ref/unref
10009
10010         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
10011
10012         * gdk/gdkcompat.h: remove GdkWindowType compat, since
10013         GdkWindowType is now non-deprecated; 
10014         change gdk_window_get_type() compat to be
10015         gdk_window_get_window_type().
10016
10017         * gdk/gdkdnd.h: make GdkDragContext a GObject.
10018
10019         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
10020         virtual GObject. Make all functions call into the vtable.
10021         Move gdk_image_put() guts in here. Remove GdkDrawableType
10022         and gdk_drawable_get_type(), these are now GdkWindow-specific.
10023         draw_image, get_depth, get_size, set_colormap, get_colormap,
10024         get_visual added to the vtable.
10025         
10026         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
10027         GObject. Virtualize everything. 
10028         (gdk_gc_new_with_values): remove check for destroyed window,
10029         because now GdkWindow::create_gc will check this.
10030         (gdk_gc_set_values): New function to set GC values, this 
10031         was already implemented but wasn't in the header
10032
10033         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
10034
10035         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
10036         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
10037         remove _gdk_window_class; add _gdk_window_impl_get_type() and
10038         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
10039         _gdk_windowing_window_init, rename gdk_image_init to
10040         _gdk_windowing_image_init.
10041         
10042         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
10043         (gdk_draw_layout): Remove check for destroyed window, 
10044         because all the drawable methods already check it.
10045         
10046         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
10047         Add gdkpixmap.c which contains implementation of GdkDrawable
10048         virtual table (by chaining to a platform-specific implementation
10049         object).
10050         
10051         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
10052         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
10053         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
10054         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
10055         GdkColormapPrivate. 
10056
10057         * gdk/gdktypes.h: #include <glib-object.h>
10058
10059         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
10060         Move most functionality to platform-specific implementation
10061         object. GdkWindow itself now handles the backing store, then
10062         chains to the platform-specific implementation.
10063         (gdk_window_get_window_type): return GdkWindowType of the window.
10064         (gdk_window_peek_children): New routine, returns the children of 
10065         a GdkWindow
10066         (gdk_window_get_children): Was in X11-specific code and did 
10067         XQueryTree. Changed to simply return a copy of window->children; 
10068         so it can go in cross-platform code.
10069         
10070         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
10071
10072         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
10073         GdkColormap; just changed to use the new private data instead
10074         of casting to GdkColormapPrivate.
10075
10076         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
10077         gdk_cursor_new().
10078
10079         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
10080         (private data member in the GObject). 
10081         (xdnd_manager_source_filter): Function had broken 
10082         error handling, fix it (use gdk_error_trap_push).
10083
10084         * gdk/x11/gdkdrawable-x11.c: This file now implements
10085         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
10086         base class is purely for the convenience of the X port,
10087         and not part of the interface to cross-platform GDK.
10088
10089         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
10090         
10091         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
10092         specific to X, and returned by the create_gc virtual method
10093         of GdkDrawableImplX11. 
10094         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
10095         rather than gchar, this was also changed in the GdkGC vtable.
10096         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
10097         mask is 0, return immediately, instead of checking every flag.
10098         This is faster, and keeps us from segfaulting if values is NULL
10099         and the mask contains some nonzero flags.
10100
10101         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
10102         GdkWindow.
10103
10104         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
10105         GdkWindowPrivate is gone.
10106
10107         * gdk/x11/gdkim-x11.c: rename things that got renamed.
10108
10109         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
10110         remove the image_put stuff that got transferred to GdkDrawable.
10111         
10112         * gdk/x11/gdkinput.c: renamings
10113
10114         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
10115
10116         * gdk/x11/gdkpixmap-x11.c: GObject conversion
10117
10118         * gdk/x11/gdkprivate-x11.h: indentation fixes
10119
10120         * gdk/x11/gdkproperty-x11.c: renamings
10121
10122         * gdk/x11/gdkselection-x11.c: renamings
10123
10124         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
10125         implements the platform-specific "impl" object.
10126         Moved gdk_window_get_children to gdk/gdkwindow.c
10127
10128         * gdk/x11/gdkx.h: Remove all the private structs and private datas
10129         that no longer exist. Add declaration of GdkGCX11 object here.
10130         Fix all the macros to still work. 
10131
10132         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
10133         GdkDragContext from the boxed types since they are now GObjects.
10134
10135         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
10136         moved xthickness/ythickness into the instance. GtkStyleClass
10137         functions are now in the standard vtable for GtkStyle, so you have
10138         to create a GObject subclass to write a theme engine.
10139         (gtk_style_copy): fixed a leaked PangoFontDescription
10140         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
10141         can be the standard GObject function.
10142         
10143         * Throughout GTK:
10144         s/style->klass->[xy]thickness/style->[xy]thickness
10145         s/pango_layout_unref/g_object_unref/
10146
10147         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
10148         
10149         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
10150         accessing GDK internals.
10151
10152         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
10153         accessing GDK internals.
10154
10155 2000-06-18  Elliot Lee  <sopwith@redhat.com>
10156
10157         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
10158
10159         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
10160         problem by calculating event position relative to the trough
10161         rather than the slider.
10162         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
10163
10164         * gdk/gdkgc.h: Add GDK_NOR.
10165
10166         * configure.in, Makefile.am: Add modules top level dir
10167         * configure.in: Only use pangox library if building x11 target.
10168         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
10169
10170 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
10171
10172         * gtk/gtkcolorsel.c: Change private class member to be named
10173         private_data throughout the file.
10174
10175         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
10176         private_data to avoid clashing with keyword.
10177
10178 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
10179
10180         * gdk/gdkdnd.h: Add comment to remove warning.
10181
10182 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
10183
10184         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
10185         Byelorussian language; changed the Makefile and file names 
10186         to reflect that.
10187
10188 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
10189
10190         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
10191         rather than gdk_window_hide; this makes things work
10192         correctly if the window is programmatically hidden while
10193         iconified.
10194
10195 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
10196
10197         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
10198         cut and paste typo where wrong pixmap was being
10199         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
10200
10201 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
10202
10203         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
10204         Add helper function to compute format / bytes 
10205         relationship. Use in a couple places to fix up
10206         errors which assume 8 * format.
10207
10208         * gtk/gtkselection.c (gtk_selection_request): Use 32
10209         rather than 8 * sizeof (GdkAtom), to work correctly
10210         on Alpha.
10211
10212 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
10213
10214         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
10215         libgtk.la
10216         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
10217         versions
10218
10219         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
10220         checking macros return NULL since the function has a return value.
10221
10222 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
10223
10224         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
10225         GTK+ from building at all.
10226
10227         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
10228
10229 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
10230
10231         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
10232         gtk/Makefile.am: make it possible to configure gtk for different
10233         targets on the same platform. The library name is now 
10234         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
10235         flag. Only the x11 target compiles right now.
10236         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
10237         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
10238         * gdk/nanox/gdk*generic*: delete generic region code.
10239         * gdk/linux-fb/gdk*generic*: delete generic region code.
10240         * README.nanox: update information.
10241         
10242 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
10243
10244         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
10245         prepend not append. (Pointed out by Brett Hall.)
10246
10247 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
10248
10249         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
10250
10251 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
10252
10253         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
10254         need this later, and this makes sure that the atexit for
10255         glib gets called after that for GDK, so atexits are
10256         properly ordered for object leak checking.
10257
10258         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
10259
10260         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
10261         pango_x_shutdown_display()
10262
10263         * gtk/simple.c (main): Close window on destroy.
10264
10265 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
10266
10267         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
10268         to treat initial creation different from setting with 
10269         regards to the graphics-exposures parameter, so add a parameter
10270         indicating whether this is initial or not.
10271
10272 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
10273
10274         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
10275         to sort of work by adding an extra return_exposes arg
10276         to gdk_event_translate() - it might be better to simply
10277         deprecate the function altogether and force people to rewrite
10278         without it. gdk_window_scroll() handles most of it, and where
10279         gdk_window_scroll() doesn't work, simply redrawing more does.
10280
10281         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
10282         assertion.
10283
10284         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
10285
10286         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
10287         bunch of pretty much useless /* Print debugging info */ comments 
10288         which had drifted away from the code they were commenting.
10289
10290 2000-06-02  Havoc Pennington  <hp@pobox.com>
10291
10292         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
10293         is in working order.
10294         
10295         * gtk/testtext.c: Change to reflect anonymous mark API
10296
10297         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
10298
10299         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
10300         field, which was unused.
10301
10302         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
10303         saves some typing.
10304
10305         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
10306
10307         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
10308         flag on the insertion point and selection bound
10309
10310         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
10311         make mark-manipulation functions take a GtkTextMark* instead of a
10312         mark name.
10313         
10314         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
10315         GtkTextMarkBody; will be used to detect attempts to delete
10316         the permanent marks (insert and selection bound)
10317
10318         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
10319
10320 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
10321
10322         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
10323         flag to on.
10324
10325         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
10326         Honor DOUBLE_BUFFRED_FLAG
10327
10328         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
10329         function to set the DOUBLE_BUFFERED flag.
10330
10331         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
10332         or not exposes done on the widget should be double-buffered.
10333
10334         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
10335         to be what would be expected. (Fixes problem with a
10336         g_return_if_fail() validating a TextDirection enumeration)
10337
10338 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
10339
10340         * gtk/gtkwidget.c: Remove all references to 
10341         offscreen flag which was no longer used.
10342
10343         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
10344
10345         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
10346         for non-null label_widget->parent.
10347
10348         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
10349         which no longer was used.
10350
10351         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
10352
10353         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
10354         for null arguments.
10355
10356         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
10357         check for destroyed windows.
10358
10359 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
10360
10361         * gtk/gtkimmulticontext.c: Add a finalize method and unref
10362         the slave context there.
10363
10364         * gtk/gtkinvisible.[ch]: Make reference counting behavior
10365         identical to GtkWindow.
10366
10367 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
10368
10369         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
10370         pangox to here, so we can write them independent of rendering
10371         system, using GDK primitives.
10372
10373         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
10374         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
10375         since we have a rendering-system independent implementation in
10376         terms of draw_glyphs().
10377         
10378         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
10379         function to render a single line.
10380
10381         * gdk/x11/gdkpango.c: Move the guts of this file mostly
10382         into ../gdkpango.c, which simplifies things, since we
10383         don't have to deal with raw X gc's.
10384
10385 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
10386
10387         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
10388         get the logical attributes for a given GtkTextLine.
10389
10390 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
10391
10392         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
10393         g_locale_get_codeset() to g_get_codeset() change.
10394
10395 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
10396
10397         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
10398         descriptions.
10399
10400         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
10401         the entry.
10402
10403         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
10404         redoing (vastly simplifying) for Pango. Still needs quite
10405         a bit of work. (Size selection is currently poor. List of 
10406         predefined sizes is not a good idea, since all of these
10407         sizes won't necessarily be distinct.)
10408
10409 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
10410
10411         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
10412         CODESET results for LANG=C.
10413
10414 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
10415
10416         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
10417         which takes a stringized pango font description;
10418         ignore the older 'font' and 'fontset' declarations.
10419
10420         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
10421         field with a GdkFont derived via gdk_font_from_description(),
10422         for compatibility. (Should we just remove it entirely?
10423         Probably too much compatibility breakage, but people
10424         should be migrating to the new Pango stuff as quickly
10425         as possible.)
10426
10427 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
10428
10429         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
10430
10431 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
10432
10433         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
10434         redoing; there are some bugs in size allocation right
10435         now, the semi-existant distinction between header / day
10436         fonts was removed, but, with Pango, could actually
10437         be made functional in a nice way.
10438         
10439         * gtk/testcalender: Move calender from examples into this
10440         directory as a test program. (We really need to restrcture
10441         testgtk into a whole directory full of tests for every
10442         widget or functionality group, separated into multiple .c
10443         files.)
10444
10445 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
10446
10447         * gtk/testgtk.c (file_exists): Fix stupid typo that
10448         was keeping RC file from being loaded.
10449
10450         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
10451         RC file font code.
10452
10453 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
10454
10455         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
10456         Add function to load a GdkFont from a PangoFontDescription.
10457
10458 2000-05-29  Tor Lillqvist  <tml@iki.fi>
10459
10460         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
10461         variable should be of type GdkEventPrivate.
10462
10463 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
10464
10465         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
10466         to have any widget for the label, use a GtkLabel widget
10467         to display the text. (Based partially on a patch from
10468         Anders Carlson.)
10469
10470         (Quite a bit of code reorganization - strip 90% of the
10471         guts out of gtkaspectframe and add a single virtual
10472         func to GtkFrameClass - compute_child_allocation.)
10473
10474 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
10475
10476         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
10477         (Removed clist->row_center_offset field because caching
10478         it wasn't saving time or code, added private function
10479         _gtk_clist_create_cell_layout()).
10480
10481 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
10482
10483         * gtk/gtkaccellabel.c: Pangoized.
10484
10485         * gtk/[hv]ruler.c: Pangoized
10486
10487 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
10488
10489         * gtk/gtkfilesel.c (gtk_file_selection_init):
10490         Use gtk_clist_set_column_auto_resize() to remove need
10491         need for manual column width computations.
10492
10493 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
10494
10495         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
10496         ensuring Pango correctness, and considerably simplifying the
10497         code.
10498         
10499         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
10500
10501         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
10502         getting of numbers of lines.
10503
10504         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
10505         to the actual requested width of the lable, not to the wrap
10506         width we set.
10507
10508         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
10509
10510         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
10511           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
10512
10513         * gtk/gtktextview.c: Fix structure inheritance.
10514
10515         * gtk/gtkprogressbar.c: Pangoize.
10516
10517 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
10518
10519         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
10520         in a function.
10521
10522         * gtk/gtktextlayout.c (find_display_line_above): Fixed
10523         bug with computing line tops.
10524
10525         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
10526
10527 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
10528
10529         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
10530         and y_offset coordinates to do what we need now. (The offset between
10531         buffer and layout coordinates has been reintroduced, but is a 
10532         bit different than before.)
10533
10534         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
10535         handle the adjustments ourselves, and scroll as necessary using
10536         the new gdk_window_scroll().
10537         
10538         The advantage of this is that when we are incrementally revalidating,
10539         we are essentially rearranging things around the visible portion
10540         of the screen. With the old setup, the visible portion of the
10541         screen was moved around in the layout, so scrolling and redrawing
10542         to track that caused jumping of the display. Since we now
10543         control the scrolling ourselves, we can suppress this and
10544         only redraw when things actually change.
10545
10546 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
10547
10548         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
10549         the region not just redisplay it after-all, since we store the
10550         cursors in the LineDisplay. (Ugly interactions here between
10551         GtkLayout and GtkTextBTree here.)
10552         
10553         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
10554
10555 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
10556
10557         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
10558         Added function to scroll contents of a window while keeping the
10559         window constant. Works by XCopyArea or guffaw-scrolling depending
10560         on the details of how the window is set up. (guffaw-scrolling
10561         still needs to be filled in.)
10562
10563 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
10564
10565         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
10566         move the debugging that was tied to a global variable
10567         to that.
10568
10569         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
10570
10571         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
10572         validated flag, in line data instead of setting height/width to
10573         -1. This allows us to perform operations with partially invalid
10574         buffer (using the old size for invalid lines) and thus to do
10575         incremental vaidation. Keep height/width aggregates up to date
10576         when deleting text and rebalancing the tree.
10577
10578         * gtk/gtktextbtree.[ch]: Add functions validate a line
10579         (gtk_text_btree_validate_line), and to validate up
10580         to a number of pixels (gtk_text_btree_validate).
10581
10582         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
10583         that indicates that something is changed and a revalidation
10584         pass is needed. Change ::need_repaint to ::changed, and
10585         make it take old and new yranges instead of a rectangle.
10586
10587         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
10588         the line_data_destroy() function from 
10589         gtk_text_btree_add_view() to a virtual function in 
10590         GtkTextLayout
10591
10592         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
10593         since we are handling partial repaints in a different fashion
10594         now.
10595
10596         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
10597         of the selection instead of queueing a repaint on the
10598         entire widget.
10599
10600         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
10601         get_selection_bounds() down to btree, make the function
10602         in buffer a wrapper around the btree function.
10603
10604         * gtk/gtktextlayout.[ch]: Add functions to check if the
10605         layout is valid and to recompute either a range of pixels
10606         aroudn a line or a certain total number of pixels.
10607
10608         * gtk/gtktextlayout.[ch]: Cache a single line display;
10609         now that we only redraw the needed portions, the hit rate
10610         for this cache is quite high.
10611         
10612         * gtk/gtktextview.[ch]: Keep track of the first paragraph
10613         on the screen so that when re-laying-out the buffer, we can
10614         keep the same place. This requires connecting to ::value_changed
10615         on the adjustments
10616
10617         * gtk/gtktextview.[ch]: Add idle functions to revalidate
10618         the buffer after we receive an ::invalidated signal.
10619         
10620 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
10621
10622         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
10623         to max of allocation and layout size, not just to the
10624         layout size.
10625
10626         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
10627         Invalidate window so it gets redrawn properly.
10628
10629         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
10630         to mean the entire window.
10631
10632         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
10633         into public header.
10634
10635 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
10636
10637         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
10638         to get the name of a mark.
10639
10640         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
10641         to find the paragraph from a y position.
10642
10643 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
10644
10645         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
10646         nodes have width/height >= 0, not > 0.
10647
10648 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
10649
10650         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
10651         Add a size_only flag, so when we only need the size, we don't create
10652         useless appearance attributes.
10653
10654         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
10655         duplicate setting of font description.
10656
10657         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
10658
10659 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
10660
10661         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
10662         EXTRA_DIST. It does not work well when the file that
10663         everything depends on is not in the tarball.
10664
10665 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
10666
10667         * gtk/testgtk.c: Some hacks and fixes so that it basically
10668         works when not sitting in the GTK+ build tree.
10669
10670 2000-05-03  Havoc Pennington  <hp@redhat.com>
10671
10672         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
10673         Properly determine the ordering of the tag root and the current
10674         line within the tree. Previous algorithm only worked if the tag
10675         root's immediate parent was the common root of both the current
10676         line and the tag root.
10677
10678 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
10679
10680         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
10681         alignment.
10682
10683         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
10684         the widget text directional dynamically.
10685
10686         * gtk/gtktextview.[ch]: Added functions to get and set default
10687         wrap mode.
10688
10689 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
10690
10691         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
10692         in cursor location computation.
10693
10694 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
10695
10696         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
10697         vadjusment values properly when layout gets smaller.
10698
10699         * gtk/gtktextview.c (need_repaint_handler): Areas being
10700         passed in are far completely inaccurate, and sometimes
10701         too small, so, for now, just queue a redraw on the
10702         whole visible region.
10703
10704 2000-04-25  Havoc Pennington  <hp@redhat.com>
10705
10706         * gtk/gtktextbtree.c (summary_destroy): new function to 
10707         destroy tag summary nodes
10708         (gtk_text_line_next_could_contain_tag): this function was 
10709         totally broken if the line passed in wasn't below the tag
10710         root. Fix it.
10711         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
10712         "wildcard" case, we have to do a linear scan. Blah.
10713         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
10714         we have to do the linear scan
10715         (tag_removed_cb): When a tag is removed from the tag table, 
10716         remove the GtkTextTagInfo node from the btree.
10717         (gtk_text_btree_spew): Implement the spew function, for 
10718         our debugging pleasure.
10719
10720 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
10721
10722         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
10723         a problem with referring to the wrong buffer.
10724
10725         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
10726
10727         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
10728         font description to gtk_style_new() - otherwise things
10729         don't work without a .gtkrc file.
10730
10731         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
10732         tags table if we create it ourself, too.
10733
10734         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
10735         it was conflicting with XKB modifiers.
10736
10737         * gtk/gtktextview.[ch]: Add simple support for 
10738         GtkIMContext.
10739
10740 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
10741
10742         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
10743         with deletion from last commit.
10744
10745 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
10746
10747         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
10748         in the context from the current locale.
10749         
10750         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
10751         context, not hardcoded value.
10752
10753         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
10754         not logical.
10755
10756 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
10757
10758         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
10759         attributes - that doesn't handle partial-glyph selection
10760         properly. Instead use new pango_layout_line_get_x_ranges()
10761         functionality to draw the selection.
10762
10763         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
10764         now properly handles out-of-range coordinates.
10765
10766         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
10767
10768         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
10769         public.
10770
10771         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
10772         for paragraphs opposite to the base direction of the widget.
10773
10774         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
10775
10776         * gtk/gtktextlayout.c: Don't split segments on marks, since that
10777         causes Arabic words to reshape as you cursor through.
10778
10779         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
10780         cursor position when moving vertically with the arrow keys and
10781         scrolling with page-up/page-down. (Arrow keys save only the X,
10782         scrolling saves both X and Y.)
10783
10784         This means you can line-up / line-down or page-up / page-down
10785         without losing your place, and also that moving vertically
10786         with the cursor keys keeps the same X position, not the same
10787         character count:
10788
10789         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
10790         arrow keys move by display lines, not paragraphs.
10791
10792 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
10793
10794         * gtk/gtklayout.c: Make sure that the bin window is at least
10795         as big as the allocation. (Should we also make sure that the
10796         bin window is big enough to completely cover widget->window?)
10797
10798         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
10799         function to get the onscreen rectangle.
10800
10801         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
10802         for offsets in window coordinates.
10803
10804 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
10805
10806         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
10807         confusion.
10808
10809         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
10810         from the widget direction.
10811
10812         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
10813         Add a "direction" attribute.
10814
10815         * gtk/gtktextview.c: global s/tkxt/text_view/.
10816
10817         * gtk/testtext.c: Added long block of text in Arabic, to test out
10818         the direction attributes. (Some problems with the shaping system
10819         for arabic become obvious - like the fact the cursor splits words
10820         into unjoined pieces.)
10821
10822 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
10823
10824         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
10825
10826         * gtk/gtktextlayout.c: Fix up alignment.
10827
10828         * gtk/testtext.c: Add some tests for centering, wrapping.
10829
10830 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
10831
10832         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
10833         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
10834         If we wrote GTK+-specific layout-render function this could just replace
10835         the draw_layout() operation in the vtable.
10836
10837         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
10838         pango_layout_get_cursor_pos() and use that function.
10839
10840         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
10841         is a non-static symbol.
10842
10843         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
10844         with gtk_text_btree_find_line_by_y()
10845
10846         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
10847         renderer that handles GtkTextAppearance attributes.
10848
10849         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
10850
10851           - Move the values in the style that don't affect geometry into a
10852             GtkTextAppearance structure.
10853           - Change underline to take a PangoUnderline and "font" a string
10854             representation of a font description
10855           - Add a "font_desc" attribute which takes a FontDescription structure.
10856
10857         * gtk/gtktextlayout.[ch]:
10858
10859           - Get rid of the display-line list per each line. Instead, we
10860             generate, on demand, a GtkTextLineDisplay structure which]
10861             contains a PangoLayout * and other necesary information
10862             (offsets, cursor locations) for displaying a paragraph.
10863           - Get rid of the code to wrap lines, create display chunks,
10864             etc. Instead, we just go through a paragraph and convert
10865             it into the necessary inputs to a PangoLayout.
10866           - Implement a new attribute type, GtkTextAttrAppearance. This
10867             holds a GtkTextAppearance, and is used to pass colors, 
10868             stipple, etc, through from the layout to the display without
10869             having to use lots and lots of individual attributes.
10870           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
10871             in terms of PangoLayout functions.
10872         
10873         * gtk/gtktextview.c: 
10874          
10875           - Handle passing the necessary PangoContext to the layout
10876           - Some fixups in painting to deal with the automatic backing store
10877             and offsetting of GTK+-1.4
10878           - Add a style_set handler so that the default style reacts
10879             properly to theme changes.
10880         
10881         * gtk/gtktext?*.[ch]: Random code-style fixes.
10882
10883         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
10884
10885 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
10886
10887         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
10888         in original form preparatory to Pango-ization and gdkimcontext-ization.
10889
10890 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
10891
10892         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
10893         so that we can derive from gtkimcontext in language bindings properly.
10894
10895 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
10896
10897         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
10898         Add a compose table including (almost) all the compose combinations
10899         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
10900         data in the XIM implementation.
10901
10902         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
10903         Moved functions to convert keyvalues from and to unicode here from
10904         the win32 port and made them public.
10905
10906 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
10907
10908         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
10909
10910 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
10911
10912         * gtk/gtkimcontext.[ch]: Base class for new input context system
10913
10914         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
10915         the real input context implementation to be loaded from modules
10916         and switched on the fly.
10917
10918         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
10919         context that just does direct keysymbol => unicode translation.
10920
10921         * gtk/gtkentry.[ch]: Start switching editing over to using
10922         GtkInputContext. (No handling of preedit yet.)
10923
10924 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
10925
10926         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
10927         many substitutions. (klass should not be subsituted.)
10928
10929 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
10930
10931         * configure.in: Add checks for Pango
10932
10933         * configure.in docs/Makefile.am: Add test for sgml2html
10934         and allow 'make dist' without building html, but print out
10935         warnings in that case. (For making snapshots)
10936
10937         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
10938         Add Pango libraries and C flags
10939
10940         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
10941         Add function (gdk_draw_layout) to draw a pango layout.
10942
10943         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
10944         for getting Pango contexts for GDK.
10945
10946         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
10947
10948         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
10949         editing.
10950
10951         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
10952         keysym => unicode translations. More languages can be added
10953         here, but real input-method support is needed.
10954
10955         * docs/Changes-1.4.txt: Added note about entry behavior.
10956         
10957         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
10958         to set the reading direction for a widget and the global direction.
10959         Add test which allows toggling the global direction. Two private
10960         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
10961
10962         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
10963           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
10964
10965         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
10966
10967         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
10968         underlining now handled by Pango.
10969
10970         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
10971         to RCStyle and Style. (Having both this and the old font name and GdkFont 
10972         is temporary.)
10973
10974         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
10975         convenience functions for creating contexts and layouts for widgets.
10976
10977         * gtk/testgtk.c: Enhance label tests with multilingual labels.
10978
10979 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
10980
10981         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
10982         titles to be active, even if they aren't visible.
10983         (gtk_clist_column_titles_passive):  Ditto.
10984
10985 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
10986
10987         * gtkmenu.c:
10988         * gtkmenu.h:
10989         * gtktypeutils.h: Spelling/grammar fixes in comments.
10990
10991 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
10992
10993         * gdk/nanox/*.h: add missing header files.
10994
10995 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
10996
10997         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
10998         send_event to TRUE.
10999         (gtk_drawing_area_size): queue a resize.
11000
11001 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
11002
11003         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
11004         the handlers, also invalidate them. bug nailed down by Karl Nelson
11005         <kenelson@ece.ucdavis.edu>.
11006
11007 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
11008
11009         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
11010         "(nil)" foundries, patch from Grigorios Magklis.
11011
11012         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
11013         on non-available fonts, based on a patch by Grigorios Magklis
11014         <maglis@cs.rochester.edu>.
11015
11016 2000-05-18  Elliot Lee  <sopwith@redhat.com>
11017
11018         * gdk/x11/gdkregion-generic.c: If a region does not have any
11019         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
11020         instead of GDK_OVERLAP_RECTANGLE_IN.
11021
11022 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
11023
11024         * gtk/gtklayout.c (gtk_layout_map): Remove references to
11025         OFFSCREEN, as it is no longer necessary.
11026
11027 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
11028
11029         * gtk/gtkcolorsel.c: Patch from David Santiago
11030         <mrcooger@cyberverse.com> to change things so that the 
11031         indicator of the active palette entry is done independently,
11032         not via the focus, since it should always be visible.
11033
11034 2000-05-17  Tor Lillqvist  <tml@iki.fi>
11035
11036         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
11037         refcount leaks as in the X11 backend.
11038
11039         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
11040         cosmetics.
11041
11042         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
11043         backend. Add _gdk_windowing_window_destroy().
11044
11045         * gtk/gtkcolorsel.c: Include correct backend-specific header.
11046         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
11047         either, but these probably do exist on nanox?)
11048         
11049         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
11050         which isn't necessarily defined by <math.h>.
11051
11052         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
11053         ancestry past GtkObject.
11054
11055         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
11056         from DLL on Win32.
11057
11058         * gtk/gtk.def: Update corresponding to recent changes.
11059
11060         * gtk/makefile.{cygwin,msc}: Updates.
11061
11062 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
11063
11064         * docs/Changes-1.4.txt: A bit of editing.
11065
11066         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
11067         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
11068         to clear the update area for the window, and clear it
11069         when hiding a window.
11070
11071         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
11072         if window destroyed.
11073
11074         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
11075
11076         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
11077         gdk_window_destroy() to the generic code, since there was a lot of 
11078         window-system-independent logic it in. Add a function:
11079         
11080          _gdk_window_destroy() 
11081
11082         to the internal API to destroy a window without unreferencing it.
11083         Add a function:
11084
11085          _gdk_windowing_window_destroy()
11086
11087         That does the windowing-system-dependent part of destroying 
11088         the window.
11089
11090 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
11091
11092         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
11093
11094 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
11095
11096         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
11097         Make gtk_widget_shape_combine_mask() keep a reference count on
11098         the pixmap since it keeps it around.
11099
11100 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
11101
11102         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
11103         leak.
11104
11105         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
11106         leak with event filters.
11107
11108 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
11109
11110         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
11111         signal handlers with the right data arguments. (Fixes
11112         some warnings when a widget was repeatedly set as a drag
11113         destination.)
11114
11115         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
11116         window so we can avoid avoid setting the DND properties on the
11117         toplevel window repeatedly.
11118
11119 2000-05-13  Tor Lillqvist  <tml@iki.fi>
11120
11121         * gdk/win32/gdkwin32.h: Define more message types missing from
11122         mingw headers.
11123
11124         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
11125         call gdk_window_destroy_notify(). It was never called. This
11126         probably meant that the GdkWindow was never freed. Thanks Owen for
11127         noticing (!).
11128
11129         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
11130         window as destroyed before calling DestroyWindow(). DestroyWindow()
11131         causes a call to the window procedure (gdk_WindowProc), which
11132         calls gdk_event_translate(), which calls
11133         gdk_window_destroy_notify(), which gets confused unless the window
11134         is set as destroyed.
11135
11136         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
11137         this function to indicate it's win32 only. Put inside #ifdef
11138         G_ENABLE_DEBUG.
11139
11140         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
11141         debugging function. (gdk_event_translate:) Add a default branch
11142         that uses the above function to print debug messages with all
11143         Windows messages symbolically.
11144
11145         * gdk/win32/gdkprivate-win32.h: Declare it, and
11146         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
11147
11148 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
11149
11150         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
11151         public header file.
11152
11153 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
11154
11155         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
11156
11157         * gtk/gtktext.c: made the adjustments no-construct args, simply
11158         provide default adjustments.
11159         (gtk_text_destroy): release adjustments.
11160
11161         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
11162         adjustment argument non-construct.
11163
11164         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
11165         instead of in finalize.
11166         (gtk_progress_get_text_from_value): 
11167         (gtk_progress_get_current_text): 
11168         (gtk_progress_set_value): 
11169         (gtk_progress_get_percentage_from_value): 
11170         (gtk_progress_get_current_percentage): 
11171         (gtk_progress_set_percentage): 
11172         (gtk_progress_configure): ensure an adjustment is present.
11173
11174 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
11175
11176         * gtk/gtkcolorsel.[hc]:
11177         * gtk/gtkcolorseldialog.[hc]:
11178         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
11179         their parent implementation, use bit fields for boolean values, don't
11180         create unused widgets, usage of glib types, braces go on their own
11181         lines, function argument alignment, #include directives etc. etc. etc..
11182
11183         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
11184
11185 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
11186
11187         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
11188
11189         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
11190         of NULL.
11191
11192         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
11193         to freed data.
11194         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
11195
11196         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
11197         to NULL when the toplevel is getting destroyed.
11198         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
11199         (gtk_menu_destroy): 
11200         (gtk_menu_init): store the information of whether we have to
11201         readd the initial child ref_count during destruction in a new
11202         GtkMenu field needs_destruction_ref_count.
11203
11204         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
11205         here, those reading: learn from my mistake! ;)
11206         in order for set_?adjustment to support a default adjustemnt if
11207         invoked with an adjustment pointer of NULL, the code read (pseudo):
11208         if (v->adjustment) unref (v->adjustment);
11209         if (!adjustment) adjustment = adjustment_new ();
11210         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
11211         now imagine the first unref to actually free the old adjustment and
11212         adjustment_new() creating a new adjustment from the very same memory
11213         portion. here, the latter comparision will unintendedly fail, and
11214         all hell breaks loose.
11215         (gtk_viewport_set_hadjustment):
11216         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
11217         after unreferencing it.
11218
11219         * gtk/gtkcontainer.[hc]: removed toplevel registration
11220         functions: gtk_container_register_toplevel(),
11221         gtk_container_unregister_toplevel() and
11222         gtk_container_get_toplevels() which had wrong semantics
11223         anyways: it didn't reference and copy the list.
11224
11225         * gtk/gtkwindow.c: we take over the container toplevel registration
11226         bussiness now. windows are registered across multiple destructions,
11227         untill they are finalized. the initial implicit reference count
11228         users are holding on windows is removed with the first destruction
11229         though.
11230         (gtk_window_init): ref & sink and set has_user_ref_count, got
11231         rid of gtk_container_register_toplevel() call. add window to
11232         toplevel_list.
11233         (gtk_window_destroy): unref the window if has_user_ref_count
11234         is still set, got rid of call to
11235         gtk_container_unregister_toplevel().
11236         (gtk_window_finalize): remove window from toplevel list.
11237         (gtk_window_list_toplevels): new function to return a newly
11238         created list with referenced toplevels.
11239         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
11240
11241         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
11242         adjustment a non-construct arg.
11243         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
11244         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
11245         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
11246
11247         * gtk/gtkrange.c: added some realized checks.
11248         (gtk_range_destroy): get rid of the h/v adjustments in the
11249         destroy handler instead of finalize. remove timer.
11250         (gtk_range_get_adjustment): demand create adjustment.
11251
11252         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
11253         we simply create them on demand now and get rid of them in
11254         the destroy handler.
11255         (gtk_viewport_destroy): get rid of the h/v adjustments in the
11256         destroy handler instead of finalize.
11257         (gtk_viewport_get_hadjustment): 
11258         (gtk_viewport_get_vadjustment): 
11259         (gtk_viewport_size_allocate): demand create h/v adjustment
11260         if required.
11261
11262         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
11263         gtk_widget_real_destroy () functionality.
11264         (gtk_widget_real_destroy): reinitialize with a new style, instead
11265         of setting widget->style to NULL.
11266
11267 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
11268
11269         * gtk/gtkcalendar.c:
11270         * gtk/gtkbutton.c: ported _get_type() implementation over to
11271         GType, either to preserve memchunks allocation facilities,
11272         or because Gtk+ 1.0 GtkTypeInfo was still being used.
11273
11274         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
11275         over. prepare for ::destroy to be emitted multiple times.
11276         removed reference tracer magic. chain into GObjectClass.shutdown()
11277         to emit ::destroy signal.
11278
11279         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
11280         fundamental.
11281
11282         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
11283         cludge.
11284
11285         * gtk/gtksocket.c:
11286         * gtk/gtkplug.c:
11287         * gtk/gtklayout.c:
11288         * gtk/gtklabel.c:
11289         * gtk/gtkargcollector.c:
11290         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
11291         not being a fundamental anymore, and to work with the new
11292         type system (nuked fundamental type varargs clutter).
11293
11294         * gtk/*.c: install finalize handlers in the GObjectClass
11295         part of the class structure.
11296         changed direct GTK_OBJECT()->klass accesses to
11297         GTK_*_GET_CLASS().
11298         changed direct object_class->type accesses to GTK_CLASS_TYPE().
11299
11300         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
11301         GType. made most of the GTK_*() type macros and Gtk* typedefs
11302         simple wrappers around macros and types provided by GType.
11303         most notably, a significant portion of the old API vanished:
11304         GTK_TYPE_MAKE(),
11305         GTK_TYPE_SEQNO(),
11306         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
11307         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
11308         GTK_TYPE_ARGS,
11309         GTK_TYPE_CALLBACK,
11310         GTK_TYPE_C_CALLBACK,
11311         GTK_TYPE_FOREIGN,
11312         GtkTypeQuery,
11313         gtk_type_query(),
11314         gtk_type_set_varargs_type(),
11315         gtk_type_get_varargs_type(),
11316         gtk_type_check_object_cast(),
11317         gtk_type_check_class_cast(),
11318         gtk_type_describe_tree(),
11319         gtk_type_describe_heritage(),
11320         gtk_type_free(),
11321         gtk_type_children_types(),
11322         gtk_type_set_chunk_alloc(),
11323         gtk_type_register_enum(),
11324         gtk_type_register_flags(),
11325         gtk_type_parent_class().
11326         replacements, where available are described in ../docs/Changes-1.4.txt.
11327         implemented compatibility functions for the remaining API.
11328
11329         * configure.in: depend on glib 1.3.1, use gobject module.
11330
11331 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
11332
11333         * TODO.xml: Various updates to current status.
11334
11335 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
11336
11337         * gtk.m4: Print out version when test succeeds.
11338
11339 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
11340
11341         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
11342         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
11343         
11344         (Original triangle color selector from Simon Budig
11345         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
11346         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
11347         Santiago <mrcooger@cyberverse.com>)
11348
11349         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
11350         out into a separate widget.
11351
11352         * gtk/testgtk.c: Add some checkbuttons for toggling palette
11353         and opacity controls.
11354
11355 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
11356
11357         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
11358         snuck in prematurely.
11359
11360 2000-05-07  Tor Lillqvist  <tml@iki.fi>
11361
11362         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
11363         had deleted a ! operator by mistake, which caused
11364         GDK_SELECTION_CLEAR events never to be generated, which caused
11365         only the first copy to the clipboard from an gtkeditable to
11366         actually cause a copy to the Windows clipboard.
11367
11368 2000-05-06  Tor Lillqvist  <tml@iki.fi>
11369
11370         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
11371         compilation, too. Current mingw gcc distributions include the
11372         necessary headers. Also the necessary IIDs are now in mingw
11373         headers/libraries, and own definitions unnecessary.
11374
11375         More hacking on OLE2 DND, still doesn't work though, and thus
11376         ifdeffed out.
11377
11378         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
11379         here, too.
11380
11381 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
11382
11383         * gdk/nanox/*: nano-X port work in progress.
11384         * gdk/simple.c: simple test for Gdk.
11385         * README.nanox: notes about the port: read this first!
11386         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
11387         with nano-X.
11388
11389 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
11390
11391         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
11392         gdk_window_clear() into common code, implement in terms of
11393         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
11394         not redirected to the backing rectangle.
11395
11396 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
11397
11398         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
11399         EXTRA_DIST. It does not work well when the file that
11400         everything depends on is not in the tarball.
11401
11402 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
11403
11404         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
11405         with recursion where process_updates() is called from
11406         an expose handler. (GtkTextView is highly broken in
11407         doing this, but it should work, so it is a nice test
11408         case.)
11409
11410 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
11411
11412         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
11413         handle the case where updates are queued during processing of
11414         updates.
11415
11416 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
11417
11418         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
11419         window is on gdk_display - use that instead of segfaulting.
11420
11421 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
11422
11423         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
11424         broken and require an empty arg, give it to them.
11425
11426 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
11427
11428         * gtk/gtklabel.h: indentation fixes.
11429
11430 2000-05-02  Tor Lillqvist  <tml@iki.fi>
11431
11432         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
11433         draw too narrow or too low arcs, they seem to fail, at least with
11434         some display drivers.
11435
11436         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
11437
11438         Large changes to the Win32 backend, partially made necessary by
11439         the changes to the backend-independent internal
11440         structures. Attempts to implement similar backing store stuff as
11441         on X11. The current (CVS) version of the Win32 backend is *not* as
11442         stable as it was before the no-flicker branch was merged. A
11443         zipfile with that version is available from
11444         http://www.gimp.org/win32/. That should be use by "production"
11445         code until this CVS version is usable. (But note, the Win32
11446         backend has never been claimed to be "production quality".)
11447
11448         * README.win32: Add the above comment about versions.
11449
11450         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
11451
11452         * gdk/gdk.def: Update.
11453
11454         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
11455         presumably be replaced by some more better mechanism as 1.4 gets
11456         closer to release shape.
11457
11458         * gdk/makefile.{cygwin,msc}: Update.
11459
11460         * gdk/win32/*.c: Correct inclusions of the backend-specific and
11461         internal headers. Change code according to changes in these. Use
11462         gdk_drawable_*, not gdk_window_* where necessary.
11463
11464         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
11465         our old DND.
11466
11467         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
11468         to interpret single characters as UTF-8. Thanks to Hans Breuer.
11469         Use correct function name in warning messages.
11470
11471         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
11472         GSourceFuncs gdk_event_prepare and gdk_event_check.
11473         (gdk_event_get_graphics_expose): Do implement, use
11474         PeekMessage. Thanks to Hans Breuer.
11475         (event_mask_string): Debugging function to print an GdkEventMask.
11476         (gdk_pointer_grab): Use it.
11477
11478         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
11479         (old) book I used claimed was Hangul actually is CJK Unified
11480         Ideographs Extension A. Also, Hangul Syllables were missing.
11481         Improve logging.
11482
11483         * gdk/win32/gdkgc-win32.c: Largish changes.
11484
11485         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
11486         g_win32_getlocale() from GLib, and not setlocale() to get current
11487         locale name.
11488
11489         * gdk/win32/gdkprivate-win32.h
11490         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
11491         gdkwin32.h, similarily as in the X11 backend.
11492
11493         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
11494         assignment was used instead of equals in if test. Thanks to Hans
11495         Breuer.
11496
11497         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
11498         the X11 version.
11499
11500         * gdk/win32/makefile.{cygwin,msc}
11501         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
11502         path to the Win32 headers that works also with the mingw compiler.
11503
11504         * gtk/gtkstyle.c: Include <string.h>.
11505
11506 2000-04-26  Havoc Pennington  <hp@redhat.com>
11507
11508         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
11509         replacing the broken gtk_label_get ()
11510
11511 2000-04-15  Havoc Pennington  <hp@pobox.com>
11512
11513         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
11514         this keeps scanner scripts from getting confused.
11515
11516         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
11517         data, rather than void
11518
11519 2000-04-15  Tor Lillqvist  <tml@iki.fi>
11520
11521         * gtk/gtkclist.c (gtk_clist_motion)
11522         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
11523         with is_hint FALSE, get x and y from the event. They used to be
11524         used uninitialised. The Win32 backend never sends motion events
11525         marked as hints. This for instance fixes the annoying file and
11526         font selector behaviour in the Win32 version.
11527
11528 2000-04-14  Tor Lillqvist  <tml@iki.fi>
11529
11530         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
11531         gtk_private_n_signals variables, they are used by some software,
11532         sigh.
11533
11534         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
11535         installation directory from the Registry, where the installer
11536         should have put it.
11537
11538 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
11539
11540         * gdk/x11/Makefile.am: Fix problem with installation directory for
11541         gdkx.h
11542
11543         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
11544         <mrcooger@cyberverse.com> so that when selecting menus with the
11545         mouse, the first item will not be selected, but when selecting
11546         with an accelerator, or navigating left-right on a menubar with
11547         the menus popped up, the first item will be selected.
11548
11549 2000-04-05  Dan Damian  <dand@dnttm.ro>
11550
11551         * configure.in: Added "ro" to ALL_LINGUAS.
11552
11553 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
11554
11555         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
11556         indentation.
11557
11558         * Makefile.am (EXTRA_DIST): Fix typo.
11559
11560         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
11561         to catch gdkconfig.h
11562
11563         * gtk/gtkitemfactory.c: Added FIXME.
11564
11565 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
11566
11567         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
11568         s/return_if_fail/return_val_if_fail/g and add a return value.
11569
11570 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
11571
11572         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
11573         merge slipup.
11574
11575         * gdk/gdkinput.h: Fix missing line from merge.
11576
11577 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
11578
11579         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
11580         instead of gdkprivate.h.
11581
11582 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
11583
11584         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
11585         parent class to correctly be GtkDialogClass.
11586
11587 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
11588
11589         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
11590         toplevel windows and their immediate children by their parents,
11591         since the size of toplevel windows is out of our immediate
11592         control and we don't get any real benefit from trying to track
11593         this size for clipping.
11594
11595         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
11596         for input_only windows.
11597
11598         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
11599         to fix some hacks and make sure that we don't try to set the
11600         background of input only windows.
11601
11602 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
11603
11604         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
11605         the _really_ internal stuff, and leave gdkprivate.h for the fake private
11606         stuff that we've traditionally exposed.
11607
11608         * gdk/**.c: Use gdkinternals.h where appropriate.
11609
11610         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
11611         not include gdkprivate-x11.h, move all stuff of conceivable public
11612         interest into gdkx.h; keep all really private stuff in
11613         uninstalled header gdkprivate-x11.h.
11614
11615         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
11616         image->image_put on windows through a new function _gdk_window_draw_image()
11617         to allow us to do backing store for images. (Sort of ugly)
11618
11619         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
11620         contexts locally so that we can offset them properly when drawing 
11621         onto backing pixmaps.
11622
11623         * gdk/gdkinput.h: Reindented
11624
11625         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
11626         pixmap or color for the window, so we can properly initialize
11627         our double-buffer pixmaps, and also so that we temporarily set
11628         a background of None while scrolling.
11629
11630         * gdk/gdkregion.h: Revise region boolean operators to have an
11631         interface that is actually convenient - switch from creating new
11632         regions on every op, to "methods" that modify existing regions
11633         (A = A OP B). 3 argument forms which allow dest == src, would also
11634         be possible, but the current interfaces seem to map nicely
11635         onto what needs to be done. (There is quite a lot of region
11636         code in GDK now.)
11637
11638         * gdk/gdkregion.h: Add constructor from rectangle and a copy
11639         operator.
11640
11641         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
11642         gdkpoly-generic.h: Copy region code from Xlib, switch it over
11643         to 32 bit coordinates, modify it to be mostly GTK+ style
11644         and to have interfaces that match gdkregion.h.
11645
11646         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
11647         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
11648         create a backing pixmap and redirect all drawing to
11649         that backing pixmap until a matching gdk_window_end_paint().
11650
11651         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
11652         Create a special drawable class for GtkWindow's that 
11653         redirects the drawing to the backing pixmap as necessary
11654         and then calls the real operations in _gdk_windowing_window_class.
11655
11656         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
11657         Store invalid region for each window. Generate expose events for invalid
11658         region in an idle. This replaces both the expose compression
11659         and the redrawing queuing in GTK+. It is both more efficient and
11660         simpler than either one individually and far more so then the
11661         combination.
11662
11663         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
11664         Emulate 32 bit coordinates for windows with 16 bit coordinates
11665         by offsetting drawing, guffaw scrolling techniques and
11666         mapping/unmapping child windows as necessary.
11667
11668         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
11669         where, when invalid regions are processed, the region is stored,
11670         and if expose events come in that are detectably duplicate
11671         the processed exposes (by comparison of event serial numbers),
11672         the stored region is subtracted out of those exposes.
11673
11674         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
11675         regions newly exposed when scrolling or resizing windows.
11676         This, combined with forcing processesing of queued invalidated
11677         regions, gives nice flicker-free scrolling.
11678
11679         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
11680         invalidated regions after every scroll.
11681
11682         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
11683         emulation in GDK. Its, for all practical purposes just a
11684         GtkViewport/GtkFixed hybrid now.
11685
11686         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
11687         (16-bit) structures as necessary instead of just casting.
11688
11689         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
11690         in terms of the structures from gdkregion-generic.c, using appropriate
11691         offsets from GDK to X11 coordinates. Cache clip mask and
11692         origin and ts origin locally and only flush to the server
11693         when drawing, to avoid constantly setting and resetting these
11694         values when offsetting GC's for scrolling and backing pixmaps.
11695
11696         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
11697
11698         * gtk/gtkcontainer.c: Call process_all_updates at end
11699         of resizing to reduce flicker. (Avoids having redraw
11700         lag arbitrarily behind resize under some circumstances)
11701
11702         * gtk/gtkentry.c: Remove old backing store code, and simply take
11703         advantage of the new backing store capabilities of GDK.
11704
11705         * gtk/gtkmain.c: Simple implementation of widget backing
11706         store - simply push a paint while handling each expose.
11707         (Should really be configurable widget for widget.)
11708         
11709         * gtk/gtkwidget.c: Remove all the old complicated redraw
11710         code, and simply invalidate the GDK windows from
11711         gdk_window_queue_clear(), etc. (Sigh, so much carefully
11712         debugged complexity ... gone to the winds.)
11713
11714         Remove all the code for suppressing expose events while
11715         resizes are pending; this isn't needed since the invalid
11716         areas won't be processed until after the resizes are
11717         processed, since they are in a lower priority idle.
11718
11719 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
11720
11721         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
11722         and height of dest rectangle for non-intersecting rectangles.
11723
11724 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
11725
11726         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
11727         for GdkRectangle.
11728
11729 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
11730
11731         * gdk/gdk{events,image,private,types,window}.h
11732          gdk/x11/gdkinputprivate.h: Change all coordinates
11733          from int16 to int. Also, Change width and height from
11734          unsigned to signed to avoid all the stupid C 
11735          signedness bugs.
11736
11737 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
11738
11739         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
11740         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
11741         Add some more detailed checking.
11742
11743         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
11744         New function to retrieve the depth of a drawable.
11745
11746         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
11747         field, reorder fields to save memory. 
11748
11749 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
11750
11751         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
11752         of the background image instead of scaling the background down to
11753         a line.
11754
11755         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
11756         which temporarily set slider to wrong size.
11757
11758         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
11759         queue_clear().
11760
11761 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
11762
11763 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
11764
11765         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
11766
11767 2000-03-17  Tor Lillqvist  <tml@iki.fi>
11768
11769         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
11770         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
11771
11772         * gdk/win32/gdkfont-win32.c
11773         * gdk/win32/gdkproperty-win32.c
11774         * gdk/win32/gdkselection-win32.c
11775         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
11776         now declared such.
11777
11778 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
11779
11780         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
11781
11782 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
11783
11784         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
11785         is called without trapping X errors.
11786
11787 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
11788
11789         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
11790         way into the fontset lists.
11791
11792 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
11793
11794         * gtk/gtkthemes.h: add extern "C" scope.
11795
11796 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
11797
11798         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
11799         to make appends to the list constant. (gtk-guy-990901-0.patch)
11800
11801 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
11802
11803         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
11804         for the typename hash table.
11805
11806 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
11807
11808         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
11809         to make sure we never divide by zero. 
11810         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
11811
11812 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
11813
11814         * gtk/gtkfontsel.c: Apply patch from
11815         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
11816         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
11817
11818         Also, some cleanups in atom handling.
11819
11820 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
11821
11822         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
11823         not GtkWidget.
11824
11825 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
11826
11827         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
11828         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
11829         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
11830         more guint wrap-around bugs before going to bed.
11831
11832 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
11833
11834         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
11835         guint wrap arounds in allocation.width.
11836
11837         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
11838         process untill we fit the allocation given.
11839
11840 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
11841
11842         * gtk/gtkwidget.c:
11843         (gtk_widget_unrealize): guard widget access with ref/unref
11844         around signal emission.
11845         (gtk_widget_hide): same here, but also check its destroyed
11846         state before queueing a resize.
11847
11848 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
11849
11850         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
11851         of gtk_default_insensitive_bg as insensitive base color.
11852
11853         * gtk/gtktext.c (gtk_text_style_set): set the background color according
11854         to the widget's state.
11855         (gtk_text_realize): same here.
11856         (gtk_text_state_changed): same here.
11857         (draw_bg_rect): compare background color against base[] from
11858         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
11859
11860 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
11861
11862         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
11863         grabs are active, unless a delete event is send to the toplevel
11864         of the currently grab holding widget.
11865
11866 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
11867
11868         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
11869         debugging g_print's.
11870
11871 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
11872
11873         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
11874         ever make the scrolled-window requisition ever depend on the 
11875         visibility state of the scrollbars for the AUTOMATIC policy. 
11876         This breaks the GTK+ requisition model, and causes loops.
11877
11878 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
11879
11880         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
11881         the default font to avoid problems with XFree86-4.0 where the
11882         default charset is iso10646-1, not iso8859-1.
11883
11884 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
11885
11886         * acinclude.m4
11887         * config.guess
11888         * config.sub
11889         * ltconfig
11890         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
11891
11892         * gtk/Makefile.am: minor cosmetic consistency tweak
11893
11894 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
11895
11896         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
11897         the activate_time to 0, so that we handle a quick
11898         press/release press/release properly and don't suppress
11899         the second release. (Red Hat bug #7545)
11900
11901 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
11902
11903         * gtk/gtkctree.c (row_delete):
11904         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
11905         bugs with destruction notifier, *always* update internal
11906         structures *before* calling user code.
11907
11908 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
11909
11910         A few more fixes for bug #5487, #2051, #2677.
11911         * gtk/gtkclist.c : 
11912         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
11913         not GDK_BUTTON_PRESS.
11914         (resync_selection): resync only if selection_mode is
11915         GTK_SELECTION_EXTENDED
11916         * gtk/gtkctree.c (resync_selection): same here
11917
11918 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
11919
11920         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
11921         gdk_drag_get_selection() and gtk_menu_detach().
11922
11923         [ From Jeroen Ruigrok/Asmodai ]
11924
11925 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
11926
11927         * gtk/gtknotebook.c (gtk_notebook_size_request): 
11928         page->tab_label can be NULL.
11929
11930 2000-01-25  Havoc Pennington  <hp@pobox.com>
11931         
11932         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
11933         arg is boolean
11934
11935         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
11936
11937         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
11938
11939         * gdk/gdkproperty.c (gdk_property_get): return boolean
11940
11941         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
11942
11943         * gdk/gdkim.c (gdk_im_ready): return boolean
11944
11945         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
11946
11947         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
11948         glib clash, should fix glib)
11949
11950         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
11951         (gdk_get_show_events): return gboolean, and canonicalize 
11952         to TRUE/FALSE
11953
11954         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
11955         colormap is private
11956         (gdk_colors_alloc): gboolean whether to be contiguous
11957         (gdk_color_equal): return gboolean since we are a predicate
11958         and not a qsort() (this looks semi-wrong due to glib breakage,
11959         IMO glib should be fixed)
11960         
11961         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
11962         (gdk_get_use_xshm): return gboolean
11963         (gdk_pointer_is_grabbed): return gboolean
11964
11965         * gdk/gdk.h: Change prototypes to match all the above changes,
11966         and re-run egtk-format-protos as required.
11967
11968 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
11969
11970         * gtk/gtkctree.c (resync_selection): 
11971         * gtk/gtkclist.c (resync_selection):
11972
11973         Return immediately if clist->drag_pos < 0. This is a workaround
11974         for the corrupt state that the clist gets into when a
11975         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
11976
11977         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
11978         
11979         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
11980         variable from recent commit.
11981
11982 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
11983
11984         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
11985
11986 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
11987
11988         * gtk/Makefile.am: prefix all autogenerated source that get build in
11989         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
11990         in builddir. since we subsequently cd into srcdir for autogeneration,
11991         the paths have to be stripped from the target file names, thusly we
11992         use $(@F) as target names now.
11993         put a comment about configure.in's --disable-rebuilds option,
11994         which can be used for non-writable source directories, for development
11995         setups though, srcdir has to be *writable*.
11996
11997 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
11998
11999         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
12000           Finish the job of allowing event to be NULL.
12001           (Fixes bug #4283, reported by Chris Blizzard)
12002
12003         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
12004           things so that the cursor appears on screen, properly
12005           take into account INNER_BORDER.
12006           (Fixes bug #4754, reported by Antonio Campos)
12007
12008 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
12009
12010         * gtk/gtknotebook.c (gtk_notebook_map): Don't
12011           show the tab_label unless it itself is visible.
12012
12013           gtk/gtknotebook.c (gtk_notebook_size_request):
12014           Do a better job of making sure that the visibility
12015           of the tab label corresponds to whether it should
12016           be mapped or not.
12017
12018 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
12019
12020         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
12021           Use the requisition, not the allocation, since the
12022           allocation has not necessarily been computed yet.
12023           (Pointed out by Eugene Osintsev)
12024
12025 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
12026
12027         * gtk/gtkstyle.c (gtk_style_new): Dont' set
12028           style/base[GTK_STATE_INSENSITIVE] both to
12029           gtk_default_insensitive_bg!
12030           (Bug #2187, reported by Jonathan Blandford)
12031
12032         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
12033           Add Alt_L, Alt_R to list of invalid accelerators.
12034           (Bug #3736, reported by Vlad Harchev)
12035
12036 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
12037
12038         * gtk/gtkfilesel.c (open_ref_dir): Fix several
12039         bugs which occured after an attempt to open 
12040         invalid home directory left cmpl_state->reference_dir == NULL.
12041
12042          - completion on files in home directory didn't work
12043          - completion on an empty string caused  segfault
12044
12045          (Bug #3678, reported by Steve Ratcliffe)
12046
12047         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
12048         cut and paste error that was causing scales to
12049         be incorrectly positioned.
12050         (Bug #2956,
12051          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
12052
12053 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
12054
12055         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
12056         when checking for dcgettext, if we've found we needed
12057         it for dgettext.
12058 +
12059 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
12060
12061         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
12062         queue_clear on NO_WINDOW widgets during a reparent,
12063         since at that point the window and widget heirarchies
12064         are out of sync. This stops crashing in some cases
12065         (the scrolled window reparent test, for instance), and
12066         _probably_ won't cause drawing errors.
12067
12068         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
12069         test do what it was supposed to do and be robust against
12070         window closings, etc. (Bug #2443)
12071
12072 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
12073
12074         * gtk/gtkentry.c: Fix return values on mouse events.
12075         (Bug #2686, Sky <seb_sky@yahoo.com>)
12076
12077         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
12078         (pointed out by George Lebl)
12079
12080         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
12081         (From Ettore Perazzoli  <ettore@helixcode.com>)
12082  
12083 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
12084
12085         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
12086         clicks between rows or outside calender area correctly.
12087         (Patch from Damon Chaplin)
12088
12089         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
12090         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
12091           Call destroy function when overwriting existing data. 
12092           (Pointed out by Damon Chaplin)
12093
12094 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
12095
12096         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
12097           which was causing problems on various systems with Xmu.
12098           This hasn't been needed for a very long time.
12099           (Fixes #1185 3167)
12100
12101 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
12102
12103         * gdk/gdki18n.h: Include <ctype.h> when defining
12104           gdk_isw* in terms of is* as a fallback.
12105           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
12106
12107 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
12108
12109         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
12110           realize the widget when it is size allocated!
12111           (old, old bug)
12112
12113         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
12114           Removed unused call to gdk_window_get_size() that
12115           showed up when the above was fixed.
12116
12117 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
12118
12119         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
12120           fix up widget->window when the widget is a
12121           NO_WINDOW container widget.
12122
12123 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
12124
12125         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
12126           to account for the fact that feof() does _not_ 
12127           return TRUE on errors, and thus avoid infinite loops
12128           when trying to use gdk_pixmap_create_from_xpm()
12129           on unreadable values.
12130
12131 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
12132
12133         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
12134
12135 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
12136
12137         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
12138           gdk_gc_set_dashes to take gint8 instead of gchar to
12139           make it clearer that it is _not_ a NULL terminated string.
12140
12141         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
12142           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
12143           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
12144           arguments.
12145
12146 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
12147
12148         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
12149         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
12150         background size relative to our allocation, guard against small
12151         allocations, we may have not yet been size allocated.
12152
12153 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
12154
12155         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
12156         not just version == 3. We implement all 3 + most of 4 - 
12157         (we don't support matching text/plain;charset=iso-8859-1
12158         to a dest that expects text/plain). We'll still advertise
12159         3 to be safe, but any client implementing version >= 3
12160         must interoperate with 3.
12161         
12162 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
12163
12164         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
12165         background and gc members, add a warning in gtk_tooltips_set_color()
12166         indicating that this function is deprecated.
12167
12168 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
12169
12170         * docs/gtkfaq.sgml: FAQ Update:
12171           - Minor cleanups (Emmanuel, me)
12172           - New questions:
12173                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
12174                 How can I retrieve the text from a GtkMenuItem? (timj)
12175                 How do I validate/limit/filter the input to a GtkEntry? (me)
12176                 Memory does not seem to be released when I free the list
12177                         nodes I've allocated (timj)
12178
12179 2000-03-07  Tor Lillqvist  <tml@iki.fi>
12180
12181         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
12182         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
12183         for which it is no use to call GetLastError onWin9x.
12184         (gdk_other_api_failed) New function, for general error
12185         reporting without calling GetLastError.
12186         (gdk_win32_api_failed) OTOH, this function always calls
12187         GetLastError. (gdk_win32_last_error_string) Remove this function,
12188         GLib has the equivalent now.
12189
12190         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
12191         call them with function name, file name and line number in the
12192         arguments.
12193
12194         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
12195         functions.
12196         
12197         * gtk/gtk.def: Add some missing entry points.
12198
12199         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
12200         gtk_paned_set_gutter_size, which don't exist any longer, as void.
12201         
12202         Fixes by Hans Breuer:
12203
12204         * gdk/makefile.msc: Update for debugging.
12205
12206         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
12207         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
12208         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
12209         in the dash_list.
12210
12211         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
12212         the x11 backend.
12213
12214         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
12215
12216         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
12217
12218 2000-03-04  Tor Lillqvist  <tml@iki.fi>
12219
12220         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
12221         just pixel value of background colour.
12222
12223         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
12224         containing code snippet previously duplicated in a couple of
12225         places.
12226         
12227         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
12228         gdk_colormap_color.
12229
12230         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
12231         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
12232         events for autorepeated Shift, Control and Alt keys. Use
12233         gdk_colormap_color.
12234
12235         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
12236         pointer is inside the window the cursor of which we are setting,
12237         call SetCursor immediately.
12238
12239         * gdk/win32/makefile.cygwin
12240         * gtk/makefile.cygwin: If we don't have the build number stamp
12241         file, use zero.
12242
12243         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
12244         gtk_paned_set_gutter_size as empty.
12245
12246         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
12247         
12248 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
12249
12250         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
12251           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
12252           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
12253           docs/gtk_tut.sgml docs/gtk.texi TODO:
12254
12255           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
12256
12257 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
12258
12259         * gtk/gtkcalendar.c: Implement num_marked_dates,
12260           and don't emit mutiple day_selected signals on
12261           month_prev.
12262
12263 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
12264
12265         * docs/make-todo (lineno): let title and logo be configurable so
12266         that GNOME can use this script too.
12267
12268         * TODO.xml: added logourl and a title
12269
12270 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
12271
12272         * TODO.xml: Added some UI items, and an explanatory
12273         comment at the top of the file.
12274
12275 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
12276
12277         * TODO.xml: some updates, added abunch of new entries.
12278         a note for those fiddeling with this file, when done
12279         with it, invoke:
12280         $ ./docs/make-todo TODO.xml >/dev/null
12281         and correct output errors before comitting changes.
12282
12283 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
12284
12285         * TODO.xml: Added XML-structured TODO file.
12286         * docs/make-todo: python script to turn TODO.xml into
12287           pretty XML output. 
12288
12289 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
12290
12291         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
12292         the function to let it draw the seven dots, instead of the old,
12293         much maligned, method.
12294         (draw_dot): New function to draw a dot.
12295
12296         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
12297         to draw the handle inside the border width as opposed to outside.
12298         Use paint function instead of gdk_draw_point.
12299
12300         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
12301         to draw the handle inside the border width as opposed to outside.
12302         Use paint function instead of gdk_draw_point.
12303
12304         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
12305         Change indenting to be more GTK like.
12306
12307 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
12308
12309         * docs/gtk_tut.sgml: New section on GtkCalendar
12310         * examples/calendar: Update example code
12311
12312 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
12313
12314         * docs/gtkfaq.sgml: FAQ Update
12315
12316 2000-02-19  Anders Carlsson  <andersca@gnu.org>
12317
12318         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
12319         to prevent the scroll event to be propagated upwards.
12320
12321 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
12322
12323         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
12324         OwnerGrabButtonMask from button entries for
12325         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
12326
12327         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
12328         to the event mask (which will result in button/press release
12329         being added to the event mask on Unix) so scrolling works
12330         for layouts in scroll windows.
12331
12332         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
12333
12334         Patch from Anders Carlsson  <andersca@gnu.org> to add
12335         a scroll event.
12336
12337         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
12338         scrolling to the "Test Scrolling" part of testgtk.
12339  
12340         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
12341  
12342         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
12343         it against GDK_SCROLL.
12344  
12345         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
12346         way of mouse wheel scrolling.
12347  
12348         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
12349  
12350         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
12351  
12352         * gtk/gtkmain.c: Removed previous mouse wheel hack.
12353  
12354         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
12355         gdk_event_mask_table.
12356  
12357         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
12358         GdkEventScroll handler.
12359  
12360         * gdk/gdkevents.h: Added GdkEventScroll structure.
12361  
12362 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
12363
12364         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
12365         and Anders Carlsson to change the Paned widgets so that they
12366         can be dragged from anywhere along the length. Also change
12367         the way that this is drawn to make this apparent.
12368
12369         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
12370         from George Lebl to check that option_menu->menu is present
12371         before getting history.
12372
12373 2000-02-14  Tor Lillqvist  <tml@iki.fi>
12374
12375         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
12376         before the assertion for non-NULL segment list.
12377
12378         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
12379         Seems that pattern brushes *must* be 8x8 pixels! At least on my
12380         machine, but it might be display driver dependent. Sigh, so make
12381         sure the stipple is that size. Does Windows suck or what?
12382
12383         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
12384         places.
12385
12386 2000-02-13  Havoc Pennington  <hp@pobox.com>
12387
12388         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
12389         refcount to 1
12390         (gdk_cursor_new): init refcount to 1
12391
12392         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
12393
12394 2000-02-13  Tor Lillqvist  <tml@iki.fi>
12395
12396         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
12397         so that we don't have to do unnecessary settings to the HDC.
12398
12399         * gdk/win32/gdkdrawable-win32.c
12400         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
12401         gdk_gc_predraw.
12402
12403         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
12404         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
12405         GDI paths, call WidenPath to get the outline of the stroken path,
12406         and then fill the outline (with the brush that was built from the
12407         stipple).
12408
12409         * gdk/win32/gdkgc-win32.c: Factor out common code from
12410         _gdk_win32_gc_new and gdk_win32_gc_set_values into
12411         gdk_win32_gc_values_to_win32values. Use correct colour for
12412         SetBkColor() (Until now the code actually used a random colour in
12413         the call to SetBkColor()... but that didn't show up as not many
12414         GDI APIs use the background colour. Pattern (opaque stippled)
12415         brushes do.)
12416
12417         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
12418         gdk_win32_api_failed): New functions for error logging.
12419
12420         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
12421         WIN32_API_FAILED to call them, passing function or file name and
12422         line number.
12423
12424         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
12425
12426         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
12427         GdkColor for foreground and background in GdkGCWin32Data.
12428
12429         * gdk/makefile.cygwin: Link in the resource object separately.
12430
12431         * gdk/win32/rc/gdk.rc
12432         * gtk/gtk.rc (New file)
12433         * gdk/win32/makefile.cygwin
12434         * gtk/makefile.cygwin: Update build number in DLLs automatically,
12435         as in GLib.
12436
12437 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
12438
12439         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
12440         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
12441         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
12442         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
12443         parameters given and cursor->ref_count. coding style fixups.
12444
12445         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
12446         not GtkWidget.
12447         
12448         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
12449         fix up widget macros and add _GET_CLASS() variant.
12450         
12451         * gtk/*.c: some GtkType fixups.
12452
12453 2000-02-09  Tor Lillqvist  <tml@iki.fi>
12454
12455         * gdk/win32/gdkproperty-win32.c
12456         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
12457         were reversed.
12458
12459 2000-02-04  Tor Lillqvist  <tml@iki.fi>
12460
12461         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
12462         g_filename_to_utf8 to convert the font names Windows gives us from
12463         whatever is the default codepage to UTF-8.
12464         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
12465         in the other direction.
12466
12467         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
12468         error in debugging output.
12469
12470 2000-02-02  Tor Lillqvist  <tml@iki.fi>
12471
12472         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
12473         and height parameters to gdk_window_clear_area(). Not minus one.
12474
12475 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
12476
12477         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
12478         checks if the widget passed to gtk_drag_get_data() was not the
12479         dest widget.
12480
12481 2000-02-01  Tor Lillqvist  <tml@iki.fi>
12482
12483         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
12484         g_filename_from_utf8 functions (which were added a moment ago to
12485         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
12486         size buffers.
12487
12488         gtk_file_selection_get_filename returns the filename in the C
12489         runtime encoding. It calls g_filename_from_utf8, but copies the
12490         returned string to a static buffer, which is returned. I think
12491         this is better than returning the result from g_filename_from_utf8
12492         directly, which would mean all apps that use it would have to free
12493         the return value. Or should this function care about this issue at
12494         all? Maybe a new function with clearly defined semantics.
12495
12496         * gtk/gtkfilesel.h: Add comment about
12497         gtk_file_selection_get_filename returning the filename in the C
12498         runtime's encoding.
12499
12500         * README.win32
12501         * gdk/gdk.def
12502         * gdk/makefile.{cygwin,msc}
12503         * gtk/gtk.def: Updates.
12504
12505         * gdk/gdkcursor-win32.c: Initialise refcount.
12506
12507 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
12508
12509         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
12510
12511 2000-01-30  Havoc Pennington  <hp@pobox.com>
12512
12513         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
12514         destroy
12515
12516         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
12517
12518         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
12519         implemented in platform-specific code
12520
12521         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
12522
12523         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
12524         underscore in front
12525
12526         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
12527         put an underscore in front
12528
12529         * gdk/gdkcursor.c: new file, implements
12530         gdk_cursor_ref/gdk_cursor_unref
12531
12532         * gdk/gdkcursor.h: Refcount GdkCursor
12533
12534         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
12535
12536 2000-01-29  Tor Lillqvist  <tml@iki.fi>
12537
12538         * gdk/gdkwindow.h
12539         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
12540
12541 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
12542
12543         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
12544         structures to properly inherit from GtkWidget not GtkBin.
12545
12546 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
12547
12548         * gtk+.spec.in: Added lib/gtk+/include/* to %files
12549         (bug #5178 - Peter Wainright)
12550         
12551         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
12552         so that it will be installed.
12553         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
12554
12555 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
12556
12557         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
12558         for the GtkStyleClass vtable const.
12559
12560         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
12561         take a const string argument like GtkTranslateFunc. This will
12562         require changes in use code.
12563
12564 2000-01-19  Tor Lillqvist  <tml@iki.fi>
12565
12566         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
12567         semantics (to mimic the X11 backend, which just calls XClearArea)
12568         is to check for zero width (and height), and in that case use the
12569         window's width minus x (height minus y). This fixes for instance
12570         some redraw problems with gtkclist, which were easily noticeable
12571         in the gtk file selection widget.
12572
12573         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
12574         windows.
12575
12576 2000-01-13  Tor Lillqvist  <tml@iki.fi>
12577
12578         * configure.in
12579         * gdk/Makefile.am
12580         * gdk/x11/Makefile.am
12581         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
12582         (bug #5177).
12583         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
12584         out later.
12585
12586 2000-01-09  Tor Lillqvist  <tml@iki.fi>
12587
12588         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
12589         WM_MOVE for iconified or invisible windows. This fixes various
12590         problems when minimising windows. Thanks to Bernd Herd.
12591
12592 2000-01-05  Tor Lillqvist  <tml@iki.fi>
12593
12594         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
12595         backend's draw_lines method, not draw_points.
12596
12597 2000-01-02  Tor Lillqvist  <tml@iki.fi>
12598
12599         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
12600         before Owen's reorganisation: Don't have queued_events and
12601         queued_tail statics in this file, but use gdk_queued_events and
12602         gdk_queued_tail. This makes exposure event compression work again.
12603
12604         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
12605         seem to be needed?
12606
12607 1999-12-30  Tor Lillqvist  <tml@iki.fi>
12608
12609         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
12610         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
12611         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
12612         doesn't do anything.
12613
12614         * gdk/gdk.def: Add gdk_xid_table_insert.
12615
12616         * gdk/win32/gdkprivate-win32.h
12617         * gdk/win32/gdkevents-win32.c
12618         * gdk/win32/gdkinput-win32.c
12619         
12620         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
12621         extension_events field in the GdkWindowWin32Data struct. Use only
12622         the extension_events field in GdkWindowPrivate. Previously one was
12623         set, and the other one tested, which broke tablet
12624         functionality. Thanks to Keishi Suenaga for pointing this out.
12625
12626 1999-12-18  Tor Lillqvist  <tml@iki.fi>
12627
12628         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
12629         When handling a single character (text length == 1), don't handle
12630         it as if it was UTF-8.
12631
12632 1999-12-11  Tor Lillqvist  <tml@iki.fi>
12633
12634         * Makefile.am: Distribute README.win32.
12635         
12636         * gdk/Makefile.am
12637         * gdk/win32/Makefile.am: Distribute Win32 files.
12638
12639         * gdk/makefile.msc: New file.
12640
12641         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
12642         after label).
12643
12644         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
12645         gdk_error_code as GDKVAR, as they are referred outside GDK.
12646
12647         * gdk/win32/makefile.msc: Update.
12648
12649         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
12650         tweaks. Check only if at least one of those Unicode subrange bits
12651         we care for is set. If no code page bits are set, guess (wildly)
12652         based on the charset.
12653
12654         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
12655
12656         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
12657         non-NULL.
12658
12659         * gtk/gtkdnd.c
12660         * gtk/gtklayout.c
12661         * gtk/gtkplug.c
12662         * gtk/gtkselection.c
12663         * gtk/gtksocket.c
12664         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
12665         appropriate. There must be a cleaner way to handle this?
12666
12667         * gtk/gtkrc.c: Must include windows.h on Win32.
12668
12669         * gtk/testgtk.c: No need to include gdkx.h.
12670
12671         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
12672
12673 1999-12-07  Tor Lillqvist  <tml@iki.fi>
12674
12675         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
12676         the rbearing is set to the same as the width, but this should be
12677         fixed.
12678
12679 1999-12-06  Tor Lillqvist  <tml@iki.fi>
12680
12681         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
12682         function. If Windows doesn't tell us what Unicode subranges a font
12683         covers, guesstimate based on the codepages it covers. This will
12684         hopefully help those Windows versions or fonts that don't give us
12685         any useful Unicode subrange information with GetTextCharsetInfo.
12686         Call this function in gdk_font_load_internal.
12687
12688         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
12689         minor changes.
12690
12691 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
12692
12693         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
12694         New function, long needed.
12695
12696 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
12697
12698         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
12699         only_if_exists argument of gdk_atom_intern to
12700         bool.
12701
12702 1999-11-25  Tor Lillqvist  <tml@iki.fi>
12703
12704         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
12705         Fix two copy&paste errors.
12706
12707         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
12708         win32 has changed.
12709
12710         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
12711         GdkWin32SingleFont struct.
12712
12713         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
12714         subranges of loaded fonts. Clear font signature first, in case
12715         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
12716         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
12717
12718         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
12719         Unoffset clip region.
12720
12721 1999-11-23  Tor Lillqvist  <tml@iki.fi>
12722
12723         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
12724         event->any.window before calling filter functions.
12725
12726 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
12727
12728         * gtk/gtkgamma.h: Adapt cast macros to standard.
12729
12730 [ Merges from 1.2 ]
12731
12732 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
12733
12734         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
12735         If translation does not include a '/', use entire
12736         translation instead of crashing.
12737
12738 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
12739
12740         * docs/gtk_tut.sgml:
12741         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
12742
12743 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
12744
12745         * gtk/gtkselection.c (gtk_target_list_remove): Use
12746         g_list_remove_link, not g_list_remove.
12747
12748         [ From Geert Bevin <gbevin@thunderstorms.org> ]
12749         
12750 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
12751
12752         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
12753         statement upon unselection (how the heck did that slip in?).
12754
12755 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
12756
12757         * gtk/gtktext.c (gtk_text_freeze): 
12758         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
12759         in frozen state (and aparently crashes). patch provided by Anders
12760         Melchiorsen <and@kampsax.dtu.dk>.
12761
12762 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
12763
12764         * fix insensitive default/focus widget activation,
12765         reported by Matt Goodall <mgg@isotek.co.uk>.
12766
12767         * gtk/gtkwindow.c (gtk_window_key_press_event): 
12768         (gtk_window_activate_default):
12769         (gtk_window_activate_focus):
12770         return handled=FALSE for actiavtion of insensitive default
12771         widgets. return handled=TRUE for activation of insensitive
12772         focus widgets. don't activate in either case.
12773
12774 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
12775
12776         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
12777         and $glib_cflags to match library order and in the
12778         theory that an old version of GLib is more likely to
12779         be in the include directory for X then vice-versa.
12780         (Bug #2776)
12781
12782 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
12783
12784         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
12785         to determine the locale for fontsets, not LC_MESSAGES;
12786         the user may want English messages with a handling
12787         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
12788         will still be broken) (Bug #2891)
12789
12790 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
12791
12792         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
12793
12794 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
12795
12796         * gtk/gtkrc.ko: Changed the Korean default fontset.
12797
12798 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
12799
12800         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
12801         where when scrolling to the left or top double exposes
12802         were done, causing major slowdowns.
12803
12804 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
12805
12806         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
12807         names to lowercase and alphanumeric, before looking
12808         them up.
12809
12810         * gtk/Makefile.am: Install codeset variant gtkrc files
12811         with normalized names.
12812
12813 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
12814
12815         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
12816         popup menus when the menu is already visible, but its parent
12817         is still hidden, (happens after tornoff window got hidden).
12818
12819 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
12820
12821         * gtk/Makefile.am (install-data-local): Fix
12822         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
12823         deleted, causing error messages on install.
12824
12825 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
12826
12827         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
12828         the handle as well, since we now sometimes ignore
12829         exposes on the handle while resizing.
12830
12831 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
12832
12833         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
12834         extra g_free introduced in one of the last one or two 
12835         commits.
12836
12837 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
12838
12839         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
12840         consistent, put each style that a gtkrc.* file creates
12841         in a unique namespace, remove old files before installing.
12842
12843 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
12844
12845         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
12846         gtk_rc_init is called multiple times. (Yes, people who
12847         do that have bugs in their code.)
12848
12849 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
12850
12851         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
12852         Remove it since it's generated by the Makefile anyway
12853
12854 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
12855
12856         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
12857         device->info.axes for core pointer.
12858
12859 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
12860
12861         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
12862         idle_id, to deal with obsolete, broken C libraries.
12863
12864 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
12865
12866         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
12867         allocation->x/y twice!
12868
12869         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
12870         consistent with gtk_vscale_pos_trough().
12871
12872 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
12873
12874         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
12875         be queueing a resize on a toplevel container between
12876         the time we show it and when we map it. So, we need
12877         to test GTK_WIDGET_VISIBLE() for toplevels, and only
12878         use GTK_WIDGET_DRAWABLE() for child windows.
12879
12880 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
12881
12882         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
12883         (fixes bug #2144)
12884
12885 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
12886
12887         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
12888         container DRAWABLE (instead of VISIBLE), so we don't queue
12889         resizes on non-toplevel containers.
12890
12891 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
12892
12893         * gtk/gtkselection.[ch]: Make the data argument
12894         const guchar *.
12895
12896 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
12897
12898         * gtk/gtkwindow.c: Try to behave sensibly if 
12899         the focus widget is the window itself. (Should
12900         we allow this at all?)
12901
12902 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
12903
12904         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
12905         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
12906         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
12907         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
12908         in prototypes and implementations consistent (Tomas Ogren).
12909
12910         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
12911         before the widget is unparented (reported by damon).
12912
12913         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
12914         since we provide unsigned data anyways.
12915
12916 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
12917
12918         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
12919         the call to gtk_tooltips_layout_text() until later.
12920
12921         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
12922         Call gtk_widget_ensure_style() before using the style.
12923
12924 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
12925
12926         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
12927         for old widgets that don't propagate draws to all
12928         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
12929
12930 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
12931
12932         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
12933         for a redraw but just the widget that requested the resize.
12934
12935 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
12936
12937         * gtk/gtkcontainer.c: added new widget level method
12938         gtk_container_set_reallocate_redraws() and a GtkContainer flag
12939         reallocate_redraws : 1 to reflect the setting, exported this through
12940         the argument system as a boolean ::reallocate_redraws.
12941
12942         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
12943         on the widget because the allocation changes, do so as well for
12944         widget->parent if the parent has reallocate_redraws set to TRUE.
12945         with that containers requesting reallocation redraws get automatically
12946         redrawn if their children changed allocation (this unfortunately
12947         affects also other children that didn't change allocation, but we
12948         cannot work around that before 1.3).
12949
12950 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
12951
12952         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
12953         _and_ height are >0 (not _or_).
12954
12955         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
12956         instead of gtk_container_queue_resize(), which is a core gtk internal
12957         function (must have been on crack when i queued that).
12958
12959         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
12960         we can check more reliably if we want to discard expose events.
12961         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
12962         flag.
12963         
12964         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
12965         we simply trust these events. for deciding whether to discard exposes,
12966         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
12967         
12968 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
12969
12970         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
12971         queues of areas that are completely off screen.
12972
12973         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
12974         logic for handleboxes.
12975
12976         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
12977         check on width/height.
12978
12979 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
12980
12981         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
12982         we are fine with using $@ the way we do (if we actually encounter
12983         brokeness with $@ in VPATH builds because of additional path prefixes,
12984         we need to use $(@F) actually).
12985
12986 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
12987
12988         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
12989         short lived bugs, that would allow language bindings to do surgeries
12990         to our guts.
12991
12992 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
12993
12994         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
12995         where comparison was being done against an uninitialized
12996         value causing intermittant results depending on
12997         compiler flags. Also make it clearer that we aren't
12998         ever initializing the child as 0x0 (though this will
12999         be caught in gtk_widget_size_allocate())
13000
13001 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
13002
13003         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
13004         gtk_window_unset_transient_for() call after we do checks
13005         involving the old transient parent.
13006         [ From Lance Capser <lmc@cyberhighway.net> ]
13007
13008 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
13009
13010         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
13011         an empty file.
13012
13013 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
13014
13015         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
13016         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
13017
13018 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
13019
13020         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
13021         `$@' is valid only in the build dir, not after we've done 
13022         `cd $srcdir'.  Also use `test -f' instead of less portable
13023         `test -e'.
13024
13025 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
13026
13027         * gtk/gtktext.c (correct_cache_insert): Rewrite
13028          for simplicity, and hopefully correctness.
13029          (Fixes bug #1322, which was a segfault when
13030           on some insertions with the properties around
13031           the insertion set up just wrong.)
13032
13033         * gtk/gtktext.c (gtk_text_adjustment): When we receive
13034          a "changed" signal, clamp the new value to the adjustment
13035          bounds to avoid segfaulting if someone tries to change
13036          the adjustment to a bogus value. (Bug #1795)
13037
13038 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
13039
13040         * gtk/gtkmain.c: Ignore unexpected destroy notifies
13041         for children, for toplevel windows handle them
13042         like delete_event.
13043
13044         * gtk/gtkplug.c: Add an unrealize handler so that
13045         we unref plug->socket_window when we are done
13046         with it.
13047
13048 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
13049
13050         * gtk/gtktext.c (clear_area): Fix stupid signedness
13051          problem that was causing background to sometimes
13052          be misaligned.
13053
13054 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
13055
13056         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
13057         
13058         * gtk/gtkmenu.c (gtk_menu_position): Make
13059          sure we never position menus with negative x, y,
13060          since gtk_widget_set_uposition() can't handle that.
13061
13062         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
13063          Modify the positioning code a bit so that we always
13064          put the top-left corner onscreen. (This is for
13065          UI reasons, gtk_menu_position() now takes care of
13066          gtk_widet_set_uposition() brokeness.)
13067
13068 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
13069
13070         * gtk/Makefile.am: fixed up things for -jx, x > 1.
13071
13072 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
13073
13074         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
13075           RC style that is passed in. The lack of the ref
13076           before was a bug. If people worked around this
13077           bug, this will introduce a slight memory leak
13078           in their code. The code should typically look like:
13079
13080             rc_style = gtk_rc_style_new ();
13081             [...]
13082             gtk_widget_modify_style (widget, rc_style);
13083             gtk_rc_style_unref (rc_style);
13084
13085         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
13086           the style if it was already set.
13087
13088         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
13089           style if it was set before.
13090
13091 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
13092
13093         * gtk/testgtk.c (main): Add a check to see if we
13094           are being run from the correct directory and
13095           to quit nicely if we are not.
13096
13097         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
13098           static.
13099
13100 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
13101
13102         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
13103
13104         * gtk/gtkwindow.c:
13105         queue resizes unconditionally (gtk_widget_queue_resize will figure
13106         what to do if the window is not realized).
13107         (gtk_window_move_resize): only recenter the window
13108         for GTK_WIN_POS_CENTER_ALWAYS.
13109         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
13110         the same way as GTK_WIN_POS_CENTER.
13111
13112 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
13113
13114         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
13115         with (!(info->last_flags & GDK_HINT_POS)) instead of
13116         (!info->last_flags & GDK_HINT_POS).
13117
13118         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
13119         new_height unconditionally, because we use these values even if
13120         !default_size_changed && !hints_changed.
13121         comented the (default_size_changed || hints_changed) case with
13122         respect to resize rejects from the window manager.
13123
13124         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
13125         in the zvt condition hack, since this includes the window hints, set
13126         the hints after the handling_resize case.
13127
13128         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
13129         window is initially shown with to the geometry.
13130
13131 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
13132
13133         * gtk/gtkwindow.c (gtk_window_move_resize):
13134         s/size_changed/default_size_changed/g so i know what's
13135         really going on (frying brain on smaller flame now).
13136
13137 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
13138
13139         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
13140         we have size_changed upon handling_resize. this is a gross
13141         workaround for the broken zvt widget and should be removed in
13142         1.3 again (search for FIXME).
13143         Owen provided an accurate comment for this:
13144
13145         /* We could be here for two reasons
13146          *  1) We coincidentally got a resize while handling
13147          *     another resize.
13148          *  2) Our computation of size_changed was completely
13149          *     screwed up, probably because one of our children
13150          *     is broken. It's probably a zvt widget.
13151          *
13152          * For 1), we could just go ahead and ask for the
13153          * new size right now, but doing that for 2)
13154          * might well be fighting the user (and can even
13155          * trigger a loop). Since we really don't want to
13156          * do that, we requeue a resize in hopes that
13157          * by the time it gets handled, the child has seen
13158          * the light and is willing to go along with the
13159          * new size. (this happens for the zvt widget, since
13160          * the size_allocate() above will have stored the
13161          * requisition corresponding to the new size in the
13162          * zvt widget)
13163          *
13164          * This doesn't buy us anything for 1), but it shouldn't
13165          * hurt us too badly, since it is what would have
13166          * happened if we had gotten the configure event before
13167          * the new size had been set.
13168          */
13169
13170 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
13171
13172         * gtk/gtkrc.c: deal properly with the fact that RC
13173           style lists may include rc styles more than once.
13174
13175         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
13176           unused static function.
13177
13178         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
13179           stack of directories of RC files currently being
13180           parsed and implicitely add them to pixmap path.
13181           
13182           This fixes a bug where the directory would get
13183           appended then overwritten by pixmap_path declarations.
13184
13185           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
13186
13187         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
13188           theme's exit function. (Patch from Peter Wainwright,
13189           bug #1454)
13190
13191         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
13192           Add a destroy() handler to take care of removing
13193           group for menu item. (Fixes bug #1197)
13194
13195         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
13196           in warning message.
13197
13198 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
13199
13200         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
13201         roundtrip to figure window's width and height, since we know that
13202         anyways from widget->allocation.
13203
13204 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
13205
13206         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
13207           the hints after we request the new size.
13208
13209 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
13210
13211         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
13212           GTK_WIDGET_REALIZED() assertion - we can compute the
13213           hints before we are realized.
13214
13215         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
13216           hint changing so that we have a value of hints_changed
13217           when we decide whether to constrain the window size.
13218
13219         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
13220
13221         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
13222         change back to G_MAXINT.
13223
13224 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
13225
13226         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
13227         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
13228         contain uncluttered values.
13229         (gtk_window_compute_hints): simply assert that window is realized
13230         and that geometry_info is valid, since we rely on this anyways.
13231         (gtk_window_constrain_size): major cleanups to the code.
13232         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
13233         for the base size, instead of the minimums. use 32767 as max width
13234         and height (like in gtkwindow.c) instead of G_MAXINT.
13235
13236 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
13237
13238         * cleaned up the GtkContainer.need_resize flag handling mess, we
13239         only need to force resize requests when we were prematurely
13240         realized, or our widget tree was modified when we were temporarily
13241         hidden. handling these cases directly upon showing the window (i.e.
13242         while the GdkWindow is still unmapped) avoids the need to wait for
13243         a configure event response and therefore makes the GUI more snappier
13244         and avoids blank windows during the roundtrip.
13245
13246         * gtk/gtkwidget.c:
13247         (gtk_widget_hide): 
13248         (gtk_widget_show): don't queue resizes on toplevels, they know how
13249         to deal with matters.
13250
13251         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
13252         flag directly for not visible resize containers and spare us unecessary
13253         signal emissions.
13254
13255         * gtk/gtkwindow.c:
13256         (gtk_window_realize): if we need to enforce premature size allocation,
13257         queue a container resize so we are correctly resized later on.
13258         (gtk_window_init):
13259         (gtk_window_size_request):
13260         don't freak around with the ->need_resize flag,
13261         gtk_container_queue_resize() will care about that.
13262         (gtk_window_show):
13263         handle initial resizing issues here, we can handle matters better in
13264         this place, especially since we know that our GdkWindow is still
13265         unmapped.
13266         (gtk_window_move_resize):
13267         don't care about ->need_resize at all.
13268         handle size changes properly that occoured while we waited for a
13269         configure event.
13270
13271 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
13272
13273         * gtk/gtkwidget.c (gtk_widget_set_uposition):
13274         * gtk/gtkwindow.[hc] (gtk_window_reposition):
13275         Move the hint setting code from gtk_widget_set_uposition
13276         to here; set the hints so that we respect any previously
13277         set geometry hints.
13278
13279         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
13280         change the window hints here or move the window here,
13281         let that happen in gtk_window_move_resize().
13282
13283 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
13284
13285         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
13286         to already queued resizes (and therefore redraws) on a widget, check
13287         its anchestry as well.
13288
13289         * gtk/gtkcontainer.c:
13290         (gtk_container_queue_resize): clear resize widgets for resize
13291         containers before aborting prematurely. this is especially important
13292         for toplevels which may need imemdiate processing or their resize
13293         handler to be queued.
13294         (gtk_container_dequeue_resize_handler): added new internal function for
13295         gtkwindow.c.
13296
13297         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
13298         configure event, take possible changes in window position into account
13299         as well.
13300         if we request a new window size, queue up a resize handler that will
13301         last until the configure event response arrives.
13302         combined the ->need_resize case (initial show) with the general size
13303         (hints) changed case and added even more comments.
13304         if !auto_shrink, only revert to the old allocation if the new size
13305         is smaller than the current allocation.
13306
13307 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
13308
13309         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
13310                            gtk_window_set_geometry_hints
13311                            gtk_window_set_default_size):
13312         When hints are set, queue a resize so that the hints will
13313         be eventually reset on the toplevel.
13314
13315         * gtk/gtkwindow.c (gtk_window_show): Use
13316         gtk_window_compute_default_size(). Clear the need_resize flag
13317         on the initail map so that we don't unnecessarily trigger the
13318         resize code.
13319
13320         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
13321         into separate functions. Compare the hints we are setting
13322         with what we set last time so that we can accurately
13323         tell when we need to reset the hints.
13324
13325         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
13326         function to figure out the size from requisition
13327         and default_size.
13328
13329         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
13330         from fvwm to constrain a size to the geometry hints.
13331
13332         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
13333         to compare two sets of geometry hints.
13334
13335         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
13336         from gtk_window_set_hints(), just compute the hints,
13337         don't set them.
13338
13339         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
13340         code from gtk_window_move_resize() to separate function,
13341         rationalize a bit.
13342
13343 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
13344
13345         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
13346         structure into a new private structure.
13347
13348         * gtkrc.c: Split GtkRcStyle into public/private.
13349         In the private part, add a list of pointers to the
13350         RcStyle lists this RcStyle participates in.
13351
13352         * gtkrc.c: When a RcStyle is free, remove all
13353         lists referencing it from the 
13354         realized_style_ht hash, and free those lists.
13355         
13356         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
13357         gtk_rc_init(), since that adds the default styles
13358         to the list of parsed RC files again.
13359
13360         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
13361         
13362 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
13363
13364         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
13365         checks that ensure that a widget's allocation is at least 1 in width
13366         and height. (GNOME note: this doesn't affect old panel code anymore,
13367         because GtkSocket will request width and height of at least 1 since
13368         Fri Jul 23).
13369
13370         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
13371         allocated yet (happens if the user realizes the window prematurely),
13372         size request and allocate it.
13373         (gtk_window_size_allocate): guard against guint underflows.
13374
13375 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
13376
13377         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
13378         in gtk_built_sources, so gtk.defs gets built prior to all other
13379         sources.
13380
13381 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
13382
13383         * gtk/Makefile.am:
13384         invoke indent on gtkmarshal.*. 
13385         rewrote source generation rules, use COPYING as oldest source tag for
13386         a piggyback rule to generate all sources from (don't touch it ;).
13387         major cleanups, strip spaces on build rules for GNU Make.
13388
13389         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
13390         source and target files from commandline arguments. don't invoke indent.
13391
13392 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
13393
13394         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
13395         notebook after switch to avoid drawing problems.
13396         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
13397         
13398         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
13399         show them instead. 
13400         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
13401
13402 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
13403
13404         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
13405         notebook after switch to avoid drawing problems.
13406         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
13407         
13408         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
13409         show them instead. 
13410         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
13411
13412 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
13413
13414         * gtk/gtkwindow.c:
13415         we use window->need_resize from configure_event now, to indicate that
13416         the gtkwindow should keep its allocation (e.g. because the user resized
13417         the window through window manager handles). resize_count is now reliably
13418         used to figure whether we got the allocation we requested from the
13419         window manager.
13420         configure events get queued as resizes now, the real stuff (size
13421         computation and allocation) now only goes on in gtk_window_move_resize().
13422         GtkWindow's requisition now contains its *real* requisition (like all
13423         other widgets), *not* taking usize into account.
13424         geometry_info->last_{width|height} is now updated from set_hints() only
13425         so it always contains the last hints we set for the window manager.
13426         made some event handlers return TRUE instead of FALSE.
13427         the overall code should be much more straight forward now, and the
13428         significant code portions are accompanied by comments now.
13429         (gtk_window_set_hints):
13430         removed requisition argument and made it
13431         fetch the requisition through gtk_widget_get_child_requisition.
13432         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
13433         does that now.
13434         (gtk_window_show):
13435         ensure that the widget is realized before calling 
13436         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
13437         ensure that we got properly size requested and allocated before
13438         realization.
13439         (gtk_window_configure_event):
13440         ignore plain window moves, or reallocate the widget tree through the
13441         resize queue otherwise.
13442         (gtk_window_move_resize):
13443         mostly rewrote this function to figure window manager hints more
13444         reliably, coalesce window moves and resizes to reduce configure events
13445         and do actuall size allocations.
13446
13447 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
13448
13449         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
13450         that have a resize pending, because a redraw is already queued for them.
13451
13452         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
13453         hack to clear resize_widgets.
13454
13455         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
13456         for resize containers prior to size allocation. (this is also a bit
13457         ugly, but avoids side effects for stopped emissions and is thus more
13458         reliable).
13459         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
13460
13461         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
13462         function from gtk_tooltips_expose, as we connect to ::expose_event
13463         *and* ::draw now.
13464
13465 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
13466
13467         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
13468         checks.
13469         (gtk_target_list_unref): Likewise.
13470
13471         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
13472
13473 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
13474
13475         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
13476         guard against division by zero. (Fixes bug #1339)
13477
13478 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
13479
13480         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
13481         Prevent the trivial leak of information of allowing
13482         word motion when the entry is not visible.
13483
13484 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
13485
13486         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
13487         modality to error dialog as well as confirmation dialogs.
13488         (Bug #1803, reported by Rosanna Wing Sze Yuen)
13489
13490 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
13491
13492         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
13493         tree->view_lines.
13494         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
13495
13496         * gtk/Makefile.am (install-data-local): Solaris apparently
13497         has various troubles with ln -f; use rm first instead.
13498         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
13499
13500 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
13501
13502         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
13503         use `cp' followed by `rm' (the `rm' was already there).
13504
13505 July 30, 1999 Elliot Lee <sopwith@redhat.com>
13506         
13507         * configure.in: Fix autoconf warnings about cross compilation by
13508         trying to provide sane defaults for AC_TRY_RUN.
13509         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
13510         put them into $(srcdir) when generated. Also add a dependency of
13511         gtksignal.h on gtkmarshal.h for -j builds. 
13512         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
13513
13514 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
13515
13516         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
13517         GDK_THREADS_{LEAVE,ENTER} pair.
13518         (From Paul Fisher <pnfisher@redhat.com>)
13519
13520 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
13521
13522         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
13523         width and height are always >0 (owen).
13524
13525 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
13526
13527         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
13528         change that assured that a widget's allocated with and height are
13529         always >1, since this breaks *buggy* panel code. unfortunately this
13530         back-breaks the gimp's color selector.
13531
13532         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
13533         allocation is always >0 in width and height, before sending the
13534         configure event; this is a *gross* hack to get the gimp back to work.
13535         
13536         * marked both cases with TODO-1.3
13537
13538 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
13539
13540         * gtk/gtktext.c: Don't display wrap indicators when
13541         text is not editable and word wrap is on.
13542
13543 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
13544
13545         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
13546         option menus here as they are not derived from menu shell, assure that
13547         the option menu has a menu we can add items to.
13548
13549 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
13550
13551         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
13552         width/height to (gint) before calculations and check against < 0 to
13553         avoid guint wraparounds.
13554
13555 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
13556
13557         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
13558         width and height is never zero. sanity check both dimensions against
13559         32767 and issue a warning if the allocation is greater than that.
13560
13561 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
13562
13563         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
13564         to g_main_pending() as well.
13565
13566 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
13567
13568         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
13569         call to g_main_iteration() - since that will regrab
13570         GTK+ lock to process events.
13571
13572 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
13573
13574         * gtk/gtkwindow.c
13575         - Regularize with the rest of GTK+ by making widget->requisition
13576           not reflect the set_usize()
13577         - Always recompute geometry hints, then check if they
13578           changed before sending them to the X server. The
13579           previous checks for changes would fail in a number
13580           of circumstances. 
13581
13582 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
13583
13584         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
13585
13586 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
13587
13588         * gtk/gtkdnd.c:
13589         - Code cleanups
13590         - Instantaneously update on modifier key presses
13591         - Allow cancellation of the drag with Escape.
13592
13593 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
13594
13595         * gtk/testgtk.c (create_handle_box): Set the policy
13596         to auto_shrink - otherwise the appearance is rather
13597         strange when flipping between horizontal and vertical.
13598
13599 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
13600
13601         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
13602         (gtk_window_set_default_size): don't change a value if it's < 0.
13603         queue a resize.
13604
13605 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
13606
13607         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
13608
13609 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
13610
13611         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
13612         add an extra "/" when concating "/" + filename.
13613         (From Matt Grossman <mattg@oz.net>)
13614
13615 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
13616
13617         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
13618         for fg_gc if we set it for drawing pixmap.
13619
13620 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
13621
13622         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
13623         
13624         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
13625         already set, call old engine's destroy function and
13626         unref the old engine.
13627
13628 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
13629
13630         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
13631
13632 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
13633
13634         * gtk/gtkaccelgroup.h: mark certain functions as internal.
13635
13636 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
13637
13638         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
13639         expand behaviour changed.
13640
13641         * gtk/gtklabel.c (gtk_label_set_pattern):
13642         (gtk_label_set_justify):
13643         (gtk_label_set_line_wrap):
13644         don't bother invoking queue_clear, the reallocation does
13645         that for us, always free_words so the upcoming resize will
13646         relayout the label's contents.
13647
13648 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
13649
13650         * applied argument implementation patches from Elena Devdariani
13651         <elena@cogent.ca>.
13652
13653         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
13654         ::space_style, ::relief
13655         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
13656         * gtk/gtkpreview.c: ::expand
13657         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
13658         * gtk/gtknotebook.c: ::homogeneous
13659         * gtk/gtklabel.c: ::wrap
13660         * gtk/gtklist.c: ::selection_mode
13661         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
13662         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
13663         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
13664         * gtk/gtkclist.c: ::sort_type
13665         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
13666         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
13667
13668 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
13669
13670         * gtk/gtkstyle.c: Removed ill-thought-out part of last
13671         comment.
13672
13673 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
13674
13675         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
13676         counting right when we have to attach a new style
13677         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
13678
13679         * gtk/gtkstyle.c: Documented the refcounting
13680         peculularities of gtk_style_attach.
13681
13682 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
13683
13684         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
13685         window types.
13686
13687         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
13688         of GTK_TOPLEVEL for creating the window.
13689
13690 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
13691
13692         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
13693         the last argument (reported by Per Winkvist).
13694         
13695 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
13696
13697         Fixes for invisible XOR lines (Frank Loemker
13698         <floemker@TechFak.Uni-Bielefeld.DE>)
13699         
13700         * gtk/gtkclist.c (gtk_clist_realize): Always use
13701         a non-zero pixel for GDK_XOR.
13702
13703         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
13704         Use GDK_INVERT instead of GDK_XOR.
13705
13706 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
13707
13708         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
13709         signals if h/voffsets differ from adjustment values.
13710         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
13711
13712 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
13713
13714         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
13715         ::selection-done emissions up to the topmost menu shell.
13716
13717 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
13718
13719         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
13720         the user data on the window before destroying it.
13721
13722         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
13723         unrealize handler to take care of destroying 
13724         notebook->panel properly. 
13725         (Bug #1198 - Morten Welinder <terra@diku.dk>)
13726
13727         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
13728         of g_new and g_realloc to stop memory leak. (Actually,
13729         we could just use g_realloc(), but I'm not 100% sure
13730         that is portable).
13731         (Bug #1196 - Morten Welinder <terra@diku.dk>)
13732
13733 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
13734
13735         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
13736
13737         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
13738         for fontsets.
13739
13740         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
13741         with bin/button confusion.
13742
13743 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
13744
13745         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
13746         and show how preselection of radio items is done.
13747
13748 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
13749
13750         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
13751         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
13752         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
13753         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
13754         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
13755         * gtk/gtktable.c (gtk_table_attach): 
13756         * gtk/gtklist.c (gtk_list_insert_items): 
13757         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
13758         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
13759         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
13760         * gtk/gtkbin.c (gtk_bin_add): 
13761         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
13762         * gtk/gtkfixed.c (gtk_fixed_put): 
13763         * gtk/gtklayout.c (gtk_layout_put):
13764         general fixups to container_add logic. always realize child if
13765         child->parent is realized, only map the child and queue a resize
13766         if child and child->parent are both visible.
13767
13768 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
13769
13770         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
13771         instead of gtk_container_foreach to walk and unrealize children, so
13772         composite children get also unrealized.
13773         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
13774         (gtk_widget_map): assert that the widget is visible (basic constrain).
13775         (gtk_widget_real_map): assert that the widget is realized (basic
13776         constrain).
13777
13778 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
13779
13780         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
13781
13782 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
13783
13784         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
13785         file for iso-8859-2 locales.
13786
13787         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
13788
13789 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
13790
13791         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
13792          (Pointed out by andy@rz.uni-karlsruhe.de and others).
13793          Remove some suspicious and useless lines. 
13794
13795 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
13796
13797         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
13798         width,height = 0, 0 to mean - here to edge of window,
13799         instead of -1, -1, since the former is all we support.
13800
13801 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
13802
13803         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
13804         when removing from quit_functions list.
13805
13806 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
13807
13808         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
13809
13810 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
13811
13812         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
13813          When redrawing characters on non-visible entry, use appropriate
13814          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
13815
13816 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
13817
13818         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
13819         from drag coordinates.
13820         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
13821         use drag_dest_cell.
13822
13823         * gtk/gtktree (drag_dest_cell)
13824         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
13825         (Bug #1129)
13826
13827 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
13828
13829         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
13830         translate_* fields.
13831         (gtk_item_factory_finalize): invoke translate_notify independant from
13832         translate_data.
13833         (gtk_item_factory_set_translate_func): likewise.
13834         (gtk_item_factory_destroy): only remove ifactory pointer from those
13835         widgets that belong to us (stupid me).
13836
13837 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
13838
13839         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
13840         rc_style list when lookup succeeeds.
13841
13842 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
13843
13844         * gtk/gtkctree.c (resync_selection): 
13845         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
13846         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
13847         bug.
13848
13849 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
13850
13851         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
13852         Add some missing GDK_THREADS_ENTER()/LEAVE around
13853         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
13854
13855 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
13856
13857         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
13858         rather than emit_by_name.
13859
13860         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
13861         on the widget across multiple signal emissions.
13862         (gtk_editable_delete_text): same here.
13863         (gtk_editable_class_init): set widget_class->activate_signal after
13864         editable_signals[ACTIVATE] has been created.
13865
13866 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
13867
13868         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
13869         position here prematurely -- we might not have the
13870         right ->min_position and ->max_position yet.
13871
13872 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
13873
13874         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
13875         Add error traps so if the other end of the connection
13876         dies, we survive.
13877
13878         * gtk/gtkselection.c (gtk_selection_notify): Clean
13879         up properly when selection property retrieval fails.
13880         
13881         * gtk/gtkselection.c (gtk_selection_request): Correctly
13882         reject SelectionRequest notifies where the handler
13883         returns no data.
13884
13885 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13886
13887         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
13888         when we've previously highlighted.
13889
13890         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
13891         emit two "drag_leave" signals for Motif drops.
13892
13893         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
13894         back the correct status messages when dropping from
13895         Motif onto a proxy window that is rejecting the
13896         drop.
13897
13898 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
13899
13900         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
13901         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
13902         to compare two argument values. added gtk_arg_to_valueloc() to set a
13903         variable from an arg through its location (pointer).
13904
13905         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
13906         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
13907         as gfloat*, uchars are collected as guchar*, ints are collected as
13908         gint*, etc...
13909
13910 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
13911
13912         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
13913         Include <string.h> instead of <strings.h>.
13914
13915         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
13916         (actually, a lot more duplicate includes occur if
13917          you trace through the sequence of #include's)
13918         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
13919         
13920 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
13921
13922         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
13923         gtk-a-higuti-990322-[0-3]
13924
13925         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
13926         that was causing -DX_LOCALE not to work.
13927
13928         * gtk/gtkrc.c (gtk_rc_init):
13929         X_LOCALE will never have LC_MESSAGES defined
13930
13931 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
13932
13933         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
13934         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
13935
13936         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
13937         left/right as well (gtk-michael-980726-0.patch.gz).
13938
13939         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
13940         for pointer values, use gchar instead of char. fixed uline allocation
13941         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
13942         chunks instead of G_ALLOC_ONLY.
13943         (gtk_label_size_request): always alter requisition as passed and leave
13944         widget->requisition alone.
13945         (gtk_label_set_text): allow NULL strings.
13946         (gtk_label_new): likewise.
13947
13948 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
13949
13950         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
13951
13952 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
13953
13954         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
13955         *and* mapped (i.e. drawable).
13956         (gtk_bin_expose): only send exposes to drawable children.
13957
13958         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
13959         (gtk_box_expose): only send exposes to drawable children.
13960
13961         * gtk/gtkhscale.c (gtk_hscale_draw): 
13962         * gtk/gtkvscale.c (gtk_vscale_draw):
13963         hm, this is an ugly one. we first compute the size of our trough area
13964         here (window relative) and then check intersection with the draw_area
13965         which is parent relative because we're a NO_WINDOW widget, so we need
13966         to offset the trough area by allocation.x and allocation.y before the
13967         check. (this must not be done for the background area though, since
13968         that's already computed parent relative).
13969
13970 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
13971
13972         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
13973         unrealize title buttons.
13974
13975 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
13976
13977         * gtk/gtkclist.c (gtk_clist_column_title_passive)
13978         (gtk_clist_column_title_active): 
13979         only connect/disconnect to GtkWidgetClass::event to block mouse events.
13980
13981         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
13982         zero initialize event, removed superfluous gdk_window_get_pointer call
13983
13984         * gtk/gtklist.c (gtk_list_vertical_timeout)
13985         (gtk_list_horizontal_timeout): removed superfluous
13986         gdk_window_get_pointer call
13987
13988 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
13989
13990         * plugging problems reported by "Bruce Mitchener, Jr."
13991         <bruce@puremagic.com> due to a purify session.
13992
13993         * gtk/gtkstyle.c:
13994         (gtk_style_ref): 
13995         (gtk_style_unref): assert ref_count to be > 0.
13996
13997         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
13998         the requisition.
13999         (gtk_clist_set_shift): likewise.
14000
14001         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
14002         adjustments.
14003
14004         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
14005         event before sending it and set send_event to TRUE (which needs to
14006         be done for *all* synthesized events).
14007         (gtk_list_vertical_timeout): likewise.
14008
14009         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
14010         leaks.
14011
14012         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
14013         to TRUE when synthesizing events.
14014
14015 [ *** end of merges from 1.2 *** ]      
14016         
14017 1999-11-21  Tor Lillqvist  <tml@iki.fi>
14018
14019         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
14020         (or copied from gdkconfig.h.win32 on Win32, sigh).
14021
14022         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
14023
14024         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
14025
14026         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
14027
14028         * gdk/gdkconfig.h.win32: New file.
14029
14030         * gdk/win32/makefile.cygwin: Build just a static archive here.
14031
14032         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
14033         for the DLL from the static archive built above.
14034
14035         * gdk/gdk.def: Moved here from the win32 subdirectory.
14036
14037         * gdk/win32/*: Adapt for the changed private struct organisation.
14038
14039         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
14040
14041 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
14042
14043         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
14044         for wheel mice (buttons 4 and 5).
14045
14046 1999-11-18  Tor Lillqvist  <tml@iki.fi>
14047
14048         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
14049         drawables use just the pixel field in the foreground and
14050         background GdkColor of the GdkGC.
14051
14052         gdk_gc_set_{fore,back}ground() are called in the GIMP with
14053         GdkColors containing uninitialized (red,green,blue) fields, and
14054         just the pixel field filled in, and furthermore in the
14055         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
14056         It thus turns out that we really don't need to have the full
14057         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
14058         it later to have just the pixel values.
14059
14060 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
14061
14062         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
14063
14064 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
14065
14066         * docs/gtkfaq.sgml: threads example from Erik Mouw.
14067         New question on GtkLabel background colors.
14068
14069         * docs/gtk_tut.sgml:
14070           - Correct the example code callback
14071             function definitions.
14072           - Update the gtkdial example code, from Frans van Schaik.
14073           - Update setselection.c to current API.
14074
14075         * examples/Makefile examples/*/*.c: Update to code
14076         listed in tutorial.
14077
14078 1999-11-10  Tor Lillqvist  <tml@iki.fi>
14079
14080         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
14081         subrange table (from the "Developing International Software for
14082         WIndows 95 and Windows NT" book) was missing the Hangul syllable
14083         block... Get the loaded font's charset correctly.
14084
14085         (Note that this, and the other *-win32.c files, still really are
14086         the old ones, the win32 subdirectory is not ready for compilation
14087         yet after the reorg.)
14088
14089 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
14090
14091         * gtk/gtkclist.c: Fix off-by-one bug in parameter
14092         check.
14093
14094 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
14095
14096         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
14097         on results of XQueryDeviceState().
14098
14099 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
14100
14101         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
14102         we need to accesss only ->children. We need an accessor
14103         for the children.
14104
14105         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
14106         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
14107         to get rid of gdkx.h include.
14108         
14109         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
14110         and random references to 'None'.
14111
14112         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
14113         Get rid of unused #include <gdk/gdkx.h>
14114
14115         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
14116         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
14117         gdkconfig.h.
14118
14119 1999-11-08  Tor Lillqvist  <tml@iki.fi>
14120
14121         * gdk/win32/gdkdraw.c
14122         * gdk/win32/gdkfont.c
14123         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
14124         following yesterday's changes. (Unrelated to Owen's reorg.)
14125
14126 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
14127
14128         * gdk/x11/gdkinput-gxi.c: Add missing include,
14129           fix GdkWindowPrivate => GdkDrawablePrivate.
14130
14131         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
14132
14133         * gdk/x11/Makefile.am (xinput_sources): Add missing
14134         backslash to fix building with --with-xinput=none
14135
14136 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
14137
14138         Move all X specific code into the x11/ directory.
14139         Aside from shuffling things around, did the following:
14140
14141        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
14142          gdk_arg_context_* - a simple argument parsing system
14143          in the style of popt.
14144
14145        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
14146          gdk/x11/gdkprivate-x11.h:
14147          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
14148          add ->klass and ->klass_data fields. The klass_data
14149          field points to an auxilliary structure that is
14150          windowing system dependent.
14151
14152        * gdk/gdkfont.c: Make most of the measurement functions
14153          simply wrappers around gdk_text_extents().
14154
14155        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
14156          _gdk_font_strlen() function that hides the weird
14157          behavior in gtk+-1.[02] where a string is interpreted
14158          differently for 8-bit and 16-bit fonts.
14159
14160        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
14161          to store common code for synthesizing double/triple
14162          press events.
14163         
14164        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
14165          Make all the function that modify an existing GC
14166          simply wrappers around gdk_gc_set_values().
14167          
14168        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
14169          for throwing out later.
14170
14171        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
14172          GdkImagePrivate and GdkColormapPrivate to have a
14173          windowing system dependent part (GdkFontPrivateX etc.)
14174          that "derives" from the system-independent part.
14175
14176        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
14177          Got rid of the included-source-files for XInput in
14178          favor of automake conditionals. (Which didn't exist
14179          when XInput support was originally added.)
14180
14181        * gdk/gdkrgb.c: Remove the visual id from the debugging
14182          statements since that is X11 specific; print out
14183          type/depth info instead.
14184          
14185
14186 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
14187
14188         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
14189         loading duplicates of hashed fonts.
14190
14191         * gdk/gdk.c (gdk_keysym_convert_case): rename
14192         gdk_XConvertCase to gdk_keysym_convert_case, allow
14193         results to be NULL in the GTK+ style.
14194
14195         * gdk/gdkcompat.h: Started compatibility header
14196         for renames.
14197
14198 1999-11-07  Tor Lillqvist  <tml@iki.fi>
14199
14200         * gdk/win32/gdkprivate.h: New font private structures, related to
14201         fontsets.
14202
14203         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
14204         gdk_font_list_free(). On X11, will just be wrappers to
14205         XListFonts() and XFreeFontNames(). On Win32, the code previously
14206         in gtkfontsel.c is now here.
14207
14208         New function gdk_font_xlfd_create(). On X11 will get the FONT
14209         property of the font (for GDK_FONT_FONTs), or call
14210         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
14211         builds a XLFD style name from the font information in the LOGFONT
14212         struct(s).
14213
14214         New function gdk_font_xlfd_free(), which correspondingly frees the
14215         string returned by gdk_font_xlfd_create().
14216
14217         Implement fontsets on Win32. Add a function that iterates over a
14218         wide char string and calls a callback function for each substring
14219         of wide chars from the same Unicode subrange (and thus probably
14220         available in the same real font).
14221
14222         Improve the XLFD emulation a bit.
14223
14224         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
14225
14226         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
14227         Beta3, WM_IME_CHAR messages don't seem to contain the composed
14228         multi-byte char as with the Active IMM on Win9x. Oh well, handle
14229         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
14230         ImmGetCompositionStringW() to get the composed Unicode chars.
14231
14232         * gdk/win32/gdkgc.c
14233         * gdk/win32/gdkdraw.c: Changes needed because of the font private
14234         struct changes.
14235
14236         * gdk/win32/gdk.def: Add the new functions.
14237
14238 1999-11-04  Tor Lillqvist  <tml@iki.fi>
14239
14240         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
14241         get the Platform SDK to get <dimm.h>.
14242
14243         * gdk/win32/gdkevents.c: More event handling fixes and
14244         simplification. Never generate motion events with is_hint true. We
14245         used to do that on bogus grounds earlier. Windows sends
14246         WM_MOUSEMOVE messages on button events even if the mouse hasn't
14247         moved, ignore these.
14248
14249         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
14250
14251         * gdk/win32/gdkglobals.c
14252         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
14253         the TrackMouseEvent function, and use it.
14254
14255         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
14256         char before calling WideCharToMultiByte in order to get a string
14257         for the window title.
14258
14259         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
14260
14261         * gdk/win32/gdk.def: Remove obsolete functions.
14262
14263         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
14264         /nodefaultlib and /defaultlib switches.
14265
14266         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
14267
14268 1999-10-31  Tor Lillqvist  <tml@iki.fi>
14269
14270         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
14271         EuroSign).
14272
14273         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
14274         same type as GdkWChar, especially on Win32.
14275
14276         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
14277
14278         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
14279         before passing to Windows GDI for drawing etc. Convert to the
14280         system default codepage before passing to Windows as window
14281         titles.
14282
14283         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
14284         support changing input locale on the fly.
14285
14286         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
14287         on-the-fly changes. Convert incoming characters from the current
14288         codepage to Unicode (and then to a UTF-8 multi-byte string) based
14289         on the current input language. Use keysym<->Unicode mapping tables
14290         and functions borrowed from xterm sources.
14291
14292         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
14293         editions of Win9x, use the ActiveX-based Active IMM (Input Method
14294         Manager) if available. IMEs and the Active IMM are available under
14295         the disguise of Chinese, Korean and Japanese support for IE and
14296         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
14297         support is present in all editions (as long as you install it).
14298
14299         Call DispatchMessage from gdk_events_queue() (and thus
14300         gdk_WindowProc()), instead of duplicating the code in
14301         gdk_WindowProc().
14302
14303         Reworked the grab handling and propagation code, factored out
14304         duplicated code snippets into separate functions. Other cleanups,
14305         too.
14306
14307         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
14308         the <dimm.h> header describing the Active IMM.
14309
14310         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
14311         just do the same as for "single" fonts.
14312
14313         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
14314         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
14315         the new keysyms from gdkkeysyms.h.
14316
14317         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
14318         fontset, so that gtkentry uses wide characters.
14319
14320         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
14321         GTk+'s system directory "gtk+", not "gtk".
14322
14323 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
14324
14325         * docs/gtkfaq.sgml: FAQ update
14326
14327 1999-10-21  Tor Lillqvist  <tml@iki.fi>
14328
14329         * gdk/win32/gdkprivate.h: Add more font private data.
14330
14331         * gdk/win32/gdkfont.c
14332         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
14333         fonts and strings. Now works much better. You still have to
14334         have a correct font selected, though. No fontset emulation yet.
14335
14336 1999-10-19  Tor Lillqvist  <tml@iki.fi>
14337
14338         * gtk/maketypes.awk: Use G_OS_WIN32.
14339
14340         * gtk/gtk.def: Add some missing entry points. Also some non-public
14341         ones, but PyGTK porter claims to need them.
14342
14343         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
14344         built-in type generation.
14345
14346 1999-10-14  Tor Lillqvist  <tml@iki.fi>
14347
14348         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
14349         GDK_FONT_FONT fonts (which is all we have for now, we don't
14350         emulate fontsets). The X11 version uses plain XDrawString in that
14351         case, too. The string passed to gdk_draw_text_wc seems to be in
14352         fact (at least, when used by gtkentry and gtktext) either in a
14353         single-byte charset, or a DBCS. Not Unicode.
14354
14355         This fixes the problem in gtkfontsel, where even if you had
14356         selected a font with a non-Latin1 charset (windows-greek, for
14357         instance), the preview still used Latin-1 glyphs.
14358
14359         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
14360         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
14361         (gdk_font_load): Recognize the demibold etc weights, even if we
14362         don't have the corresponding constants in the headers.
14363         (gdk_font_hash_insert): Use same hash mechanism as in the X11
14364         version. Should save font resources a bit, when we don't have
14365         multiple HFONTs for the same font.
14366
14367         * gdk/win32/gdkprivate.h: Add the names field as in the X11
14368         version.
14369
14370 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
14371
14372         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
14373         X values
14374
14375 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
14376
14377         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
14378         layout support (as mentioned on
14379         http://www.jcinteractive.com/gnome-ui/software/widgets/)
14380
14381 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
14382
14383         * gtk/fnmatch.c
14384         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
14385
14386 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
14387
14388         * configure.in (ALL_LINGUAS): Added Galician (gl)
14389
14390 1999-10-05  Tor Lillqvist  <tml@iki.fi>
14391
14392         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
14393
14394         * gdk/win32/gdkcompat.c: New file, actually provide an
14395         implementation for the deprecated functions. (Just temporarily.)
14396
14397         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
14398
14399         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
14400
14401         * gdk/win32/gdk.def gtk/gtk.def: Updates.
14402
14403 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
14404
14405         * configure.in: Added "uk" to ALL_LINGUAS.
14406         
14407 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
14408
14409         * configure.in: correct checking for BeOS check
14410
14411         * gdk/gdktypes.h
14412         * gtk/fnmatch.c
14413         * gtk/gtkfilesel.c
14414         * gtk/gtkitemfactory.c
14415         * gtk/gtkmain.[ch]
14416         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
14417
14418 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
14419
14420         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
14421         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
14422         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
14423         by Bulgarian). 
14424
14425 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
14426
14427         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
14428         Fix a reference to window_private->destroyed.   
14429
14430         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
14431         (ugly) setting of an internal GdkWindow member to use
14432         a _slightly_ cleaner macro.
14433
14434         * gdk/gdkprivate.h: Split GdkWindowPrivate into
14435         GdkDrawablePrivate and GdkWindowPrivate.
14436         Add extra macros for accessing GDK_DRAWABLE_ components.
14437
14438         * *.[ch]: Massive adjustments for the above, use the
14439         new macros in a lot of places.
14440
14441 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
14442
14443         * gdk/gdktypes.h: Make GdkDrawable the base type,
14444         not GdkWindow.
14445
14446 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
14447
14448         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
14449
14450 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
14451
14452         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
14453
14454 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
14455
14456         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
14457         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
14458
14459         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
14460
14461         * docs/gtk-config.1: Now autogenerated.
14462         * docs/Changes-1.4.txt: started
14463         
14464 1999-10-03  Tor Lillqvist  <tml@iki.fi>
14465
14466         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
14467         to #ifdef also here.
14468
14469         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
14470         Owen did to the X11 backend.
14471
14472         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
14473         ScrollWindowEx when blitting inside a window, it can't be correct
14474         in the general case.
14475
14476         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
14477         WM_GETMINMAXINFO is easier.
14478
14479         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
14480         depth equal to the bitspixel value, not the visual's depth.
14481
14482         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
14483         to 24 even if the bitspixel value is 32.
14484
14485         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
14486         need to check for depth==32 when bpp==32, depth will always be 24.
14487
14488 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
14489
14490         * docs/Changes-1.4.txt: Started
14491         
14492         * gtk/Makefile.am (gdk_headers): Include all the new headers.
14493
14494         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
14495         
14496         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
14497         into C file.
14498         
14499         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
14500         header to gdkinputprivate.h.
14501
14502         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
14503         unused since before 1.2.
14504
14505 1999-09-30  Tor Lillqvist  <tml@iki.fi>
14506
14507         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
14508         expand possible hex escapes in the font family (put there by
14509         logfont_to_xlfd if the font name isn't a legal XLFD font family,
14510         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
14511         On Win32, add hex escapes here, too.
14512
14513 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
14514
14515         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
14516         to #ifdef GDK_WINDOWING_X11.
14517
14518 [ Merges from gtk-1-2 ]
14519
14520 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
14521
14522         * configure.in: fixed "GNU Make" check to pass with new make version
14523         3.77.95.
14524
14525 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
14526
14527         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
14528         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
14529         AM_PATH_GTK() macros don't get confused by the -pre1.
14530
14531 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
14532
14533         * configure.in (REBUILD): Change check for perl5
14534           to check explicitely for v >= 5.002. (5.001
14535           does not work with our scripts.)
14536
14537 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
14538
14539         * configure.in: evaluate $PERL for the perl version check. added
14540         --disable-rebuilds to give the user an option to completely disable
14541         any source autogeneration rules.
14542
14543 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
14544
14545         * configure.in: evaluate $ac_make when checking for GNU Make.
14546
14547 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
14548
14549         * docs/Makefile.am: added generation.txt.
14550
14551         * Makefile.am: require automake 1.4, build README from README.in and
14552         INSTALL from INSTALL.in in dist-hook.
14553         
14554         * README.in:
14555         * INSTALL.in: new files to autogenerate README and INSTALL from.
14556
14557         * configure.in: figure whether we have GNU Make
14558
14559         * docs/generation.txt: minor additions/corrections.
14560
14561 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
14562
14563         * docs/gtkfaq.sgml: FAQ Update
14564
14565 July 30, 1999 Elliot Lee <sopwith@redhat.com>
14566         
14567         * configure.in: Fix autoconf warnings about cross compilation by
14568         trying to provide sane defaults for AC_TRY_RUN.
14569
14570 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
14571
14572         * ltconfig
14573         * ltmain.sh: upgrade to libtool 1.3.3
14574
14575 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
14576
14577         * INSTALL: Indicate that the --with-glib= configure
14578         time flag is unsupported.
14579
14580 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
14581
14582         * docs/generation.txt: Added a file that gives
14583         documenation about the autogeneration process for
14584         various autogenerated files.
14585         
14586 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
14587
14588         * configure.in (LIBS): Look for libgmodule in the
14589         right location.
14590
14591 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
14592
14593         * docs/gtk_tut.sgml: Removed references to
14594         code examples in my directory on gtk.org as
14595         they should all be in the tutorial now.
14596
14597         * docs/gtk_tut.sgml: Added sources for dial-test
14598         and scribble-xinput programs that were previously
14599         missing.
14600
14601 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
14602
14603         * TODO: Added entry about menu keyboard navigation, removed
14604         some finished items.
14605
14606 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
14607
14608         * acinclude.m4: Standardize on func_dgettext
14609         not func_gettext, so that the checks for dgettext
14610         actually are paid attention to.
14611
14612 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
14613
14614         * configure.in (LIBS): Add $INTLLIBS into $LIBS
14615         directly, rather than repeating the checks for
14616         gettext.
14617
14618         * INSTALL: Added information about gettext and
14619         NLS support.
14620
14621         * acinclude.m4 (LIBM): Check for dgettext, not
14622         just gettext. This should hopefully fix things wrt
14623         systems with old versions of GNU gettext installed.
14624
14625 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
14626
14627         * configure.in (LIBS): Look for libgmodule in the
14628         right location.
14629
14630 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
14631
14632         * autogen.sh: add --enable-maintainer-mode
14633
14634         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
14635
14636 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
14637
14638         * docs/gtk-config.1.in:
14639           docs/Makefile.am:
14640           configure.in: gtk-config is now generated.
14641
14642         * docs/gtk-config.1: Removed, now generated.
14643
14644 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
14645
14646         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
14647         handle CreateNotify itself, still put out a debuging message for
14648         --gdk-debug=events. made the ReparentNotify debugging message more
14649         verbose.
14650         wrap xcoords translation for ConfigureEvents into an error trap,
14651         a destroy event may already be pending, and in that case, the
14652         actuall coordinate values are not at all critical.
14653
14654 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
14655
14656         * gdk/gdkcc.c: Stop leaking the color_hash all over
14657         the place. Simplify and improve the logic.
14658
14659 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
14660
14661         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
14662         for prototypes and function implementations consistent (reported
14663         by Tomas Ogren).
14664
14665 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
14666
14667         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
14668         send_event set in debugging output.
14669         (gdk_compress_exposures): default initialize the event so we don't
14670         operate on bogus values (namely send_event).
14671
14672 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
14673
14674         * gdk/gdkwindow.c: When we receive an unexpected
14675         destroy notify on one of our windows, don't just
14676         warn about it, also mark our windows as destroyed.
14677
14678 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
14679
14680         * gdk/gdkfont.c (gdk_font_hash_insert): Add
14681           name => font and name => fontset hashes. The 
14682           name => fontset hash is a _big_ win since we
14683           weren't previously caching fontsets at all and loading
14684           fontsets is expensive. The name => font hash
14685           is less of a win, but it does save us from doing
14686           repeated XQueryFont calls on the same font.
14687
14688         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
14689           list so we can remove font/fontset from hash.
14690
14691 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
14692
14693         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
14694           and slightly confusing test. [ XInternAtom (,,TRUE)
14695           will never return None ].
14696
14697 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
14698
14699         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
14700           gdk/gdkwindow.c (gdk_window_set_hints):
14701
14702         Don't omit setting the properties if flags == 0 -
14703         there may be an existing set of properties there
14704         already. (Very old bug. Would it be better to
14705         delete the property instead?)
14706
14707         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
14708           spelling error in comment.
14709
14710 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
14711
14712         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
14713           to avoid stomping over gdk_error_warnings.
14714
14715         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
14716           as (bits_per_pixel + 7) / 8. This gives the same
14717           result as before for multiples of 8, but actually
14718           a "reasonable" value for 1bit or 4bit displays.
14719
14720 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
14721
14722         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
14723         GNU Make.
14724
14725 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
14726
14727         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
14728         discarding configure events.
14729
14730 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
14731
14732         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
14733         refcount is greater than zero.
14734
14735         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
14736
14737         * gdk/gdkfont.c (gdk_font_unref): Likewise.
14738
14739         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
14740
14741         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
14742
14743 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
14744
14745         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
14746         that format 32 => sizeof(item) == 4. It really is
14747         sizeof(long).
14748
14749 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
14750
14751         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
14752         core dump at all on X IO errors, only core dump
14753         if --enable-debug for X errors.
14754
14755 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
14756
14757         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
14758         unknown window:" message. disabled ConfigureNotify discarding code,
14759         because it led to events being processed out of order.
14760
14761 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
14762
14763         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
14764
14765         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
14766         we export this function, supress error warnings and don't reset the
14767         error code in the first half of this function.
14768
14769         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
14770         code (instead of just -1) so gdk_error_trap_pop() reveals something
14771         actually informative about the error that happened.
14772
14773         * gdk/*.c:
14774         don't rely on gdk_error_code being -1 if an error occoured, but just
14775         gdk_error_code != 0.
14776
14777 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
14778
14779         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
14780         pointer *before* invoking the filter function, so we at least don't
14781         crash if a filter is removed that is currently executed. window filters
14782         *really* need to be made truely reentrant at some point.
14783
14784 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
14785
14786         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
14787         PropertyNotify debug messages.
14788
14789 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
14790         
14791         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
14792         
14793         * gdk/gdkim.c: Fix cut-and-paste errors for 
14794         x/y and PreeditAttributes/StatusAttributes.
14795
14796 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
14797
14798         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
14799         G_MAXINT to 2^16 to alleviate overflow problems in
14800         various window managers.
14801
14802 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
14803
14804         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
14805         for fontsets.
14806
14807 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
14808
14809         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
14810         Initialize size_hints.x and size_hints.y because kwm
14811         brokenly pays attention to them.
14812         (Bug #1181 -  Lars Heete <hel@admin.de>)
14813
14814 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
14815
14816         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
14817         return value of gdk_list_visuals(). 
14818         (Bug #1193 - Morten Welinder <terra@diku.dk>)
14819
14820 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
14821
14822         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
14823         XSetIMValues to (void *) when comparing to NULL, to workaround
14824         the problem of some compilers barfing since older X headers don't
14825         have the prototype for it.
14826
14827 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
14828
14829         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
14830         for pseudocolor where colormap->colors was double
14831         allocated.
14832
14833         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
14834         color value in the hash table with the pixel filled
14835         in so when we do later hash table lookups, the color
14836         value is correct.
14837         
14838 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
14839
14840         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
14841         making the call
14842
14843 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
14844
14845         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
14846         pointed out by Morten Welinder <terra@diku.dk>.
14847
14848 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
14849
14850         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
14851           default filter from the list
14852
14853 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
14854
14855         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
14856           default filter from the list
14857
14858 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
14859
14860         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
14861
14862         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
14863         g_strdup_printf instead of calcing the length separately
14864
14865 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
14866
14867         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
14868         that we don't do in many other places. (Fixing duplicate 
14869         #include of config.h)
14870
14871         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
14872         Otherwise, #ifndef XINPUT_NONE check in the latter
14873         doesn't work. (Bug #546)
14874
14875 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
14876
14877         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
14878         "None" case insensitive.
14879
14880 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
14881
14882         * gdk/gdkselection.c: 
14883         Add error traps so if the other end of the connection
14884         dies, we survive.
14885
14886 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
14887
14888         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
14889         dest_xid field into two fields - one for the window
14890         to send in messages, one to indicate the last looked
14891         up window for caching purposes. This is needed, so
14892         that Leave messages get the correct window.
14893
14894 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
14895
14896         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
14897         Fix warning created by people mucking around
14898         with the gsource API.
14899
14900         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
14901         Change mapping between GIOCondition and GdkInputCondition
14902         to match the way the Linux kernel does it. This should
14903         fix problems where closed pipes were no longer signalling
14904         GDK_INPUT_READ on systems with a native poll().
14905
14906 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
14907
14908         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
14909         explicitly for the string "None" - it is in the XPM
14910         spec and some servers treat unknown colors in odd ways
14911         (like asking the user!)
14912
14913 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
14914
14915         * gdk/gdkevents.c: made "->" into a "." of previous change so
14916         it compiles
14917
14918 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
14919
14920         * gdk/gdkevents.c (gdk_compress_exposures): Set the
14921         window field of the event structure before calling
14922         user filters.
14923
14924 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
14925
14926         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
14927         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
14928
14929 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
14930
14931         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
14932         intermediate text property - prevents major memory
14933         leak when gdk_use_mb.
14934         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
14935
14936 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
14937
14938         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
14939         gtk-a-higuti-990322-[0-3]
14940
14941         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
14942         sizeof(wchar_t) != sizeof (GdkWChar)
14943
14944         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
14945         that was causing -DX_LOCALE not to work.
14946
14947         * gtk/gtkrc.c (gtk_rc_init):
14948         X_LOCALE will never have LC_MESSAGES defined
14949
14950         * gdk/gdk.c (gdk_init_check):
14951         Remove --xim-preedit and --xim-status from argv properly.
14952
14953         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
14954         that the client window is present on the X server
14955         before we pass it to the input method.
14956
14957 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
14958
14959         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
14960         if --display is specified on the command line, than
14961         the drag window will not be created on that display.
14962         
14963 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
14964
14965         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
14966         lookups with only_if_exists == TRUE were inserting
14967         bogus values into the atom cache.
14968
14969 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
14970
14971         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
14972         then reset it to NULL.
14973
14974         * gdk/gdkcolor.c:
14975         (gdk_colors_free): 
14976         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
14977         key for g_hash_table_remove() in both functions, this prevents us
14978         from accessing possibly uninitialized portions of a GdkColor structure
14979         where we are only interested in its pixel value.
14980
14981 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14982
14983         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14984         font hash table, if we have a GdkFontPrivate entry for this font
14985         already, simply increment its reference count, provided by Olaf Dietsche
14986         <olaf.dietsche+list.gtk@netcologne.de>.
14987
14988 1999-09-21  Tor Lillqvist  <tml@iki.fi>
14989
14990         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
14991         just to be sure.
14992
14993         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
14994         unused variables, leftovers from the X11 version.
14995
14996         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
14997
14998         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
14999         downcase fields on X11.
15000
15001 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
15002         
15003         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
15004         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
15005
15006 1999-09-17  Tor Lillqvist  <tml@iki.fi>
15007
15008         * gdk/win32/gdk.def: Add gdk_threads_mutex.
15009
15010         * gtk/makefile.msc: Correct path to libintl.
15011
15012         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
15013         use of gint vs. int, and gint vs. gboolean in headers and
15014         definitions. Use GtkType for the *_get_type functions. Note that
15015         these changes preserve binary compatibility.
15016
15017         * gdk/gdk.c
15018         * gdk/win32/gdk.c
15019         * gdk/gdk.h: Fix inconsistencies: gint vs int.
15020
15021         * gtk/gtkmain.c
15022         * gtk/gtkclist.c
15023         * gtk/gtkmenufactory.c
15024         * gtk/gtknotebook.c
15025         * gtk/gtkwidget.c: Fix inconsistencies, also gint
15026         vs. gboolean.
15027
15028         * gtk/gtkcolorsel.[ch]
15029         * gtk/gtkcombo.[ch]
15030         * gtk/gtkdrawingarea.[ch]
15031         * gtk/gtkgamma.[ch]
15032         * gtk/gtkhandlebox.[ch]
15033         * gtk/gtkhpaned.[ch]
15034         * gtk/gtkhruler.[ch]
15035         * gtk/gtkplug.[ch]
15036         * gtk/gtkpreview.[ch]
15037         * gtk/gtkruler.[ch]
15038         * gtk/gtksocket.[ch]
15039         * gtk/gtkstatusbar.[ch]
15040         * gtk/gtktoolbar.[ch]
15041         * gtk/gtkvbbox.[ch]
15042         * gtk/gtkvpaned.[ch]
15043         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
15044         functions.
15045
15046         * gtk/gtkgamma.h: Fix bug, missing () in call of
15047         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
15048
15049 1999-09-14  Tor Lillqvist  <tml@iki.fi>
15050
15051         * gdk/gdkcolor.c (gdk_colormap_new)
15052         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
15053         colormap->colors was allocated twice.
15054
15055         * gdk/win32/gdk.c: Remove some unused stuff.
15056
15057         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
15058         colormap.
15059
15060         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
15061         * gtk/gtklabel.h (gtk_label_get_type)
15062         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
15063         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
15064         in a couple of places, not guint.
15065
15066 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
15067
15068         * configure.in,po/et.po: added Estonian language file
15069
15070 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
15071
15072         * configure.in,po/da.po: added Danish file
15073
15074 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
15075
15076         * docs/gtkfaq.sgml: Minor FAQ Update
15077
15078 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
15079
15080         * docs/gtkfaq.sgml: FAQ update
15081
15082 1999-08-27  Tor Lillqvist  <tml@iki.fi>
15083
15084         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
15085         way to get window contents continually refreshed while resizing. I
15086         didn't like the effects myself, so it's not on by default.
15087
15088         * gdk/win32/gdkprivate.h: New flag variable
15089         gdk_event_func_from_window_proc, FALSE by default.
15090
15091         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
15092         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
15093         are passed --gdk-event-func-from-window-proc.
15094
15095         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
15096         and we have am event_func, call it instead of enqueing the event.
15097
15098 1999-08-23  Tor Lillqvist  <tml@iki.fi>
15099
15100         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
15101         Kelley: Set expose_count in GdkEventExposes correctly.
15102
15103         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
15104         MULTIPLE_WINDOW_CLASSES).
15105
15106         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
15107         for bug in NT, apparently NT *does* draw the end pixel, too, in
15108         LineTo with a one-pixel pen, so we don't have to do it ourselves.
15109
15110 1999-08-21  Tor Lillqvist  <tml@iki.fi>
15111
15112         Improvements by Hans Breuer: 
15113
15114         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
15115
15116         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
15117         CS_?REDRAW flags as they cause lots of (late) redraws when "show
15118         window contents while dragging" is turned on. Allocate at least
15119         one unique class for every GdkWindowType. If support for single
15120         window-specific icons is ever needed (eg. Dialog specific), every
15121         such window should get its own class.
15122
15123 1999-08-19  Tor Lillqvist  <tml@iki.fi>
15124
15125         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
15126         error that caused crashes.
15127
15128 1999-08-17  Tor Lillqvist  <tml@iki.fi>
15129
15130         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
15131         window, use ScrollWindowEx, and call UpdateWindow. This prevents
15132         bugs when for instance part of the window was outside the
15133         display. Thanks to Philippe Colantoni for finding and fixing this.
15134
15135 1999-08-16  Tor Lillqvist  <tml@iki.fi>
15136
15137         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
15138         endpoint calculations which were totally wrong. (A little RTFMing
15139         helps a lot ;-)
15140
15141         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
15142         from a separate directory, not from gettext, because of licensing
15143         issues (we want to use the LGPL version).
15144
15145         * README.win32: Mention the intl from glibc vs from gettext issue.
15146
15147 1999-08-13  Tor Lillqvist  <tml@iki.fi>
15148
15149         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
15150         in the key event handling: Now AltGr chars work again. Also,
15151         now Alt-digits are passed up as well as Control-digits.
15152         Pass keypad plus and minus as normal plus and minus.
15153
15154 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
15155
15156         * docs/gtkfaq.sgml: FAQ Update
15157
15158 1999-07-25  Tor Lillqvist  <tml@iki.fi>
15159
15160         * README.win32
15161         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
15162         the Wintab SDK.
15163
15164         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
15165         OK, but getting closer. Guard against bogus tilt data from Wacom
15166         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
15167         enable easier building without Wintab.
15168
15169         * gdk/win32/gdkinput.h
15170         * gdk/win32/gdkevents.c 
15171         * gdk/win32/gdkwindow.c: Minor changes related related to above.
15172         
15173         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
15174         code. As we have just one visual on Win32, no sense to have it in a
15175         table, and no need for the hash table.
15176
15177         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
15178         better on white background.
15179
15180 1999-07-21  Tor Lillqvist  <tml@iki.fi>
15181
15182         * README.win32: Update gcc build instructions. Mention gettext is
15183         GPL.
15184
15185         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
15186         supported cursor size with GetSystemMetrics.
15187
15188         * gdk/win32/gdkfont.c
15189         * gtk/gtkfontsel.c: Guard against some font weight and charset
15190         symbols being undefined (in mingw32 headers).
15191
15192         * gdk/win32/makefile.cygwin
15193         * gtk/makefile.cygwin
15194         * gtk/gtkthemes.c: No longer need to have differently named
15195         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
15196
15197 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
15198
15199         * docs/gtkfaq.sgml: Long awaited FAQ update.
15200
15201 1999-07-15  Tor Lillqvist  <tml@iki.fi>
15202
15203         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
15204         it. Obscure bit manipulation needed.
15205
15206         * gdk/win32/gdkevents.c: Logging.
15207         
15208         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
15209         style (file name include compiler name) for theme engines.
15210
15211 1999-07-13  Tor Lillqvist  <tml@iki.fi>
15212
15213         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
15214
15215         * gdk/win32/gdkevents.c: Fix long-standing bug in key
15216         events. The key.string wasn't zero-terminated, still we strdup'ed
15217         it in gdk_event_copy(). Synthesize crossing events for button
15218         events before possible propagation.
15219
15220         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
15221
15222         * gdk/win32/makefile.cygwin
15223         * gtk/makefile.cygwin: Use new DLL naming style for the
15224         GCC-compiled ones.
15225
15226         * gdk/win32/makefile.msc
15227         * gtk/makefile.msc: Cosmetics mostly.
15228
15229         * gtk/gtk.def: Add missing entry points.
15230
15231         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
15232
15233 1999-07-09  Tor Lillqvist  <tml@iki.fi>
15234
15235         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
15236         or height is zero. Don't print a warning if Pie or Arc fails, they
15237         always fail (?) for very narrow ellipses.
15238
15239         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
15240         the part or the destination window corresponding to source area
15241         outside of the source drawable's boundary.
15242
15243         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
15244         anything if less than two points.
15245
15246         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
15247         return NULL. Gtk cut-and-paste inside a single program works
15248         better this way. (It always gets the clipboard contents from
15249         Windows, not from its own copy, which is cleared anyway. I can't
15250         say I fully understand what happens... Emulating the X selection
15251         and property stuff is a bit of a mess.)
15252
15253         * gdk/win32/gdkevents.c
15254         * gdk/win32/gdkproperty.c: A bit more verbose logging.
15255
15256         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
15257         that never got deleted). Revamp gdk_region_shrink.
15258
15259         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
15260         after use.
15261
15262         * gtk/gtk.def: Add some missing entry points.
15263
15264         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
15265         component.
15266
15267 1999-07-04  Tor Lillqvist  <tml@iki.fi>
15268
15269         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
15270         Control-digits specially.
15271
15272 1999-07-03  Tor Lillqvist  <tml@iki.fi>
15273
15274         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
15275
15276 1999-06-28  Tor Lillqvist  <tml@iki.fi>
15277
15278         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
15279         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
15280         finding this.)
15281
15282 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
15283
15284         * gtk+.spec.in: Corrected some typos in files section.
15285         
15286 1999-06-15  Tor Lillqvist  <tml@iki.fi>
15287
15288         * README.win32: Mention using GNU gettext.
15289         * config.h.win32: Enable NLS stuff.
15290         * gtk/makefile.msc: Use GNU gettext.
15291         * gdk/win32/gdkdnd.c: Minor header reorg.
15292         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
15293         cosmetics.
15294         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
15295         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
15296
15297 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
15298
15299         * acinclude.m4
15300         * config.guess
15301         * config.status
15302         * ltconfig
15303         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
15304
15305 1999-05-30  Tor Lillqvist  <tml@iki.fi>
15306
15307         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
15308         SafeAdjustWindowRectEx. Don't override all calls to
15309         AdjustWindowRectEx by it, but use it only in two places: When
15310         creating a new top-level window and when moving a top-level
15311         window.
15312
15313         Use screen coordinate rectangle, not client rectangle, in
15314         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
15315         when we try to place a window so that the decoration (mainly,
15316         title bar) isn't visible.
15317
15318         These changes fix the bug that showed up for instance as the
15319         GIMP's saved top-level windows moving right and down (by an amount
15320         equal to the window decoration) for each session. This bug showed
15321         up also in testgtk's "Saved Position".
15322
15323         gdk_window_resize also redone a bit.
15324
15325 1999-05-25  Tor Lillqvist  <tml@iki.fi>
15326
15327         * gtk/testgtkrc: Add (commented out) Windows-style theme
15328         include line.
15329
15330         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
15331
15332 1999-05-18  Tor Lillqvist  <tml@iki.fi>
15333
15334         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
15335         gdkx.h to a gdk subdirectory, so that applications can include
15336         these with <gdk/*.h> without trouble.
15337
15338         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
15339         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
15340         have their bitmap destroyed.
15341
15342         * gdk/win32/gdk.def: Add gdk_root_parent.
15343
15344 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
15345
15346         * configure.in
15347           gtk-config.in
15348           ltconfig
15349           ltmain.sh     
15350           gtk/Makefile.am: changes to compile nicely (with xlib) 
15351           on BeOS
15352
15353 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
15354
15355         * acinclude.m4
15356         * config.guess
15357         * config.sub
15358         * ltconfig
15359         * ltmain.sh: upgrade to libtool 1.3
15360
15361 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
15362
15363         * gtk/gtkclist.c:
15364         * gtk/gtkctree.c: merges from gtk-1-2
15365
15366 1999-04-25  Tor Lillqvist  <tml@iki.fi>
15367
15368         Support added for building using a GNU toolchain on Win32,
15369         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
15370
15371         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
15372         * config.h.win32: Changes for gcc.
15373         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
15374         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
15375         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
15376         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
15377         Protect shl stuff unavaiilable with mingw32 headers.
15378         * gdk/win32/gdkevents.c: Fix typo.
15379         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
15380         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
15381         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
15382         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
15383         the mingw32 headers.
15384         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
15385         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
15386         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
15387         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
15388         Test for NATIVE_WIN32, not _MSC_VER.
15389         * gtk/gtkmain.c: No use warning about developer version on Win32,
15390         there aren't any non-developer versions anyhow.
15391         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
15392         * gtk/makefile.msc: Use pthread from another directory. Minor other
15393         changes. 
15394
15395 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
15396
15397         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
15398           default filter from the list
15399
15400 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
15401
15402         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
15403          when gtk_widget_grab_default() is called for a widget that
15404          is not within a GtkWindow.
15405
15406 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
15407
15408         * docs/gtk_tut.sgml, examples/clist.c: use a
15409           scrolled window in the clist example. Minor
15410           tutorial fixes.
15411
15412 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
15413
15414         * docs/gtk_tut.sgml: Style check from David King
15415           <dking@youvegotmail.net>
15416
15417 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
15418
15419         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
15420         compile with unknown value of GDK_WINDOWING
15421
15422 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
15423
15424         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
15425         after the rule is fired.
15426         (install-exec-local): Install gdkconfig.h only if the contents are
15427         different from the currently installed gdkconfig.h.
15428
15429 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
15430
15431         * gdk/Makefile.am (configexecincludedir): Rename from 
15432         configincludedir so that gdkconfig.h will be installed 
15433         as part of `make install-exec'. 
15434
15435 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
15436
15437         * acinclude.m4
15438         * config.guess
15439         * config.sub
15440         * ltconfig
15441         * ltmain.sh: upgrade to libtool 1.2f
15442
15443         * autogen.sh: libtool is not required to autogen gtk+
15444
15445         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
15446         needed)
15447
15448 1999-03-18  Tor Lillqvist  <tml@iki.fi>
15449
15450         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
15451         declaring gdk variables exported/imported from the DLL. New image
15452         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
15453         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
15454         GDK_DRAG_PROTO_OLE2.
15455
15456         * gdk/gdk.h: Merge in Win32 version: Two new functions,
15457         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
15458         declared only for the Win32 version, but could be in the X11
15459         version as well. (Needed for a Xlib-less gdk_imlib.)
15460         gdk_color_hash should have only one parameter. Declare
15461         gdk_threads_mutex with GDKVAR.
15462         
15463         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
15464         just one parameter.
15465
15466         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
15467         per pixel, not bits.
15468
15469         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
15470         Fetch bpp (which means bits-per-pixel here) from another place on
15471         Win32. Accept also depth==32 (which we might get on Win32) with
15472         bpp==32.
15473
15474         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
15475         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
15476         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
15477         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
15478         in the backend-dependent directory, not in the common gdk
15479         directory.
15480
15481         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
15482         headers.
15483
15484 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
15485
15486         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
15487         want to use the Gtk+ devel version (which is true, and yes - even i am
15488         currently working with the 1.2.x branch). so everyone reading this, you
15489         probably want to issue
15490         cvs checkout -r glib-1-2 glib
15491         and
15492         cvs checkout -r gtk-1-2 gtk+
15493         as your next two comands.
15494
15495 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
15496
15497         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
15498         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
15499
15500         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
15501         file. strongly deprecated the GTK_HAVE_* macros, we provide
15502         GTK_CHECK_VERSION() for people that need to check for certain
15503         Gtk+ versions.
15504
15505         * gtk/gtkcompat.h: removed this from CVS.
15506         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
15507         idea right from the start, it just didn't seem like that back then.
15508
15509 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
15510
15511         * merges from gtk-1-2:
15512
15513 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
15514
15515         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
15516         item factory class has been created.
15517         (gtk_item_factory_parse_rc): likewise.
15518
15519         * gtk/gtkmenu.c:
15520         keep proper references for old_active_menu_item.
15521         (gtk_menu_reparent): unset the usize of the new parent,
15522         so the menu can sanely be size requested and we don't get nasty screen
15523         artefacts upon next reparentation.
15524         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
15525         enter notify. only synthesize enter notifies if the pointer really is
15526         inside the event window.
15527         (gtk_menu_popdown): use gtk_menu_shell_deselect().
15528         (gtk_menu_popup): move the background setting stuff into
15529         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
15530
15531         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
15532         gtk_menu_shell_select_item() to select the new item.
15533         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
15534         do the right thing for deselection as well.
15535
15536 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
15537
15538         * gtk/gtkwidget.[hc]:
15539         (gtk_widget_accelerators_locked): return whether a widget's accelerators
15540         are locked.
15541
15542         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
15543         existing accelerators if the widget's accelerators are locked.
15544
15545 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
15546
15547         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
15548
15549         * gtk/gtkmenu.c: truely forward key press and key release events to
15550         the menu widget from the toplevel or tearoff window. we can't simply
15551         connect to that, we need to stop further processing of the events as
15552         well.
15553
15554 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
15555
15556         * gtk/gtkmenu.c:
15557         (gtk_menu_key_press): pass event->keyval, event->state to
15558         gtk_accelerator_valid, instead of event->keyval twice.
15559         refuse to install single letter accelerators for menus that use
15560         single letter shortcuts.
15561
15562         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
15563         gtk_menu_ensure_uline_accel_group().
15564
15565         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
15566         which will always return an uline accel group, made
15567         gtk_menu_get_uline_accel_group() return NULL if the group isn't
15568         yet created.
15569
15570 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
15571
15572         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
15573
15574         * gtk/gtkclist.c (gtk_clist_column_title_passive):
15575         Leave button sensitive, trap  button_press, button_release,
15576         motion_notify, enter_notify and leave_notify events instead.
15577         (gtk_clist_column_title_active): disconnect event handler.
15578         (gtk_clist_drag_data_get): fixed memory leak. Reported by
15579         Guillaume Laurent <glaurent@worldnet.fr>
15580
15581 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
15582
15583         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
15584         width/height mixups.
15585
15586         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
15587         if needed.
15588
15589 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
15590
15591         * gtk/testgtk.c (create_item_factory): unref the item factory after
15592         window's destruction.
15593
15594         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
15595         count on the menu shell around the menu item's activation, since the
15596         signal emission may cause menu shell destruction.
15597
15598         * gtk/gtkitemfactory.c:
15599         the previous code leaked one accel group per menu. we use
15600         gtk_menu_get_uline_accel_group() now to fix that, and with that
15601         also create the underline accelerator group of the menus only if
15602         required (i.e. an underline accelerator has been specified).
15603         (gtk_item_factory_construct):
15604         (gtk_item_factory_create_item): removed code that would create an
15605         extra accel group for the menu (and leak references).
15606         (gtk_item_factory_create_item): adapted the underline accelerator
15607         installation code to properly feature gtk_menu_get_uline_accel_group().
15608
15609         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
15610         menu->accel_group, this may return NULL if the accelerator group
15611         hasn't been set yet.
15612         added gtk_menu_get_uline_accel_group() to retrive the underline
15613         accelerator group of the menu, this will be created on demand
15614         and proper care is taken about its reference count.
15615
15616         * gtk/gtkitemfactory.h:
15617         * gtk/gtkitemfactory.c:
15618         dumped the approach of keeping a widgets by action list on the
15619         factory since the factory<->widget destroy negotiation didn't work
15620         and would be hard to get going at all. instead we keep a list of
15621         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
15622         persistant throughout a program's life time).
15623         also, i removed the static const gchar *key_* variables, and made
15624         them inline strings (they weren't actually used anyways).
15625         (gtk_item_factory_add_item): update ifactory->items.
15626         (gtk_item_factory_destroy): destroy ifactory->items (and remove
15627         the item factory pointer from the remaining ifactory widgets).
15628         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
15629         list to find the widget.
15630         (gtk_item_factory_get_item): new function that works around
15631         gtk_item_factory_get_widget() limitations, this function will only
15632         return menu items, even for <Branch> entries.
15633
15634 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
15635
15636         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
15637         font hash table, if we have a GdkFontPrivate entry for this font
15638         already, simply increment its reference count, provided by Olaf Dietsche
15639         <olaf.dietsche+list.gtk@netcologne.de>.
15640
15641         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
15642         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
15643
15644 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
15645
15646         * gtk/gtkcontainer.c:
15647         (gtk_container_add_with_args):
15648         (gtk_container_addv):
15649         (gtk_container_add): before adding a child to a conatiner, make sure
15650         it is (default) constructed, this is neccessary because under certain
15651         circumstances the child will get relized and mapped immediatedly, in
15652         which case it has to be constructed already.
15653
15654 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
15655
15656         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
15657         values > 1 as TRUE also.
15658
15659 1999-03-16  Tor Lillqvist  <tml@iki.fi>
15660
15661         * README.win32: New file.
15662                 
15663         * configure.in: Check for lstat.
15664
15665         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
15666         completeness.
15667
15668         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
15669
15670         * gtk/gtk.def: Removed CRs.
15671
15672         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
15673         ..\gdk\win32).
15674
15675         * gdk/win32/makefile.msc: Correct upwards relative paths.
15676         
15677 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
15678
15679         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
15680           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
15681           it was connecting a void function to expose_event and the int
15682           returning function to the draw signal
15683
15684 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
15685
15686         * configure.in:
15687         Use correct path to libgmodule.la when ref'ing uninstalled copy
15688         of glib.  (Already in stable branch, Bug #417)
15689
15690 1999-03-15  Tor Lillqvist  <tml@iki.fi>
15691
15692         Win32 merge and general portability stuff:
15693                 
15694         * acconfig.h,configure.in: Check for <sys/time.h>.
15695
15696         * gdk/win32: New directory (actually, been there for a while).
15697         
15698         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
15699         NATIVE_WIN32, and use these. Always case fold on Win32. No
15700         backslashed escapes on native Win32.
15701
15702         * gtk/{gtk.def,makefile.msc}: New files.
15703
15704         * gtk/Makefile.am: Add above new files.
15705         
15706         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
15707         instead of <strings.h>.
15708
15709         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
15710         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
15711         <unistd.h> appropriately.
15712
15713         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
15714         Use ABS() (from <glib.h>) instead of abs().
15715         
15716         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
15717         of gtk (and thus glib) headers, so that WIN32 will be
15718         defined. With MS C, include <direct.h> for mkdir prototype.
15719
15720         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
15721         some casts, needed by MS C.
15722
15723         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
15724         implemented).
15725
15726         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
15727         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
15728         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
15729
15730         * gtk/gtkmain.h: Mark variables for export/import on Win32.
15731                 
15732         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
15733         the event is not a hint, or its window is not the slider. Needed
15734         on Win32, at least.
15735
15736         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
15737         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
15738         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
15739         a subdirectory of the Windows directory as gtk system
15740         configuration directory.
15741
15742         * gtk/gtkselection.c: No chunks on Win32.
15743
15744         * gtk/gtksocket.c: Not implemented on Win32.
15745
15746         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
15747
15748         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
15749
15750         * gtk/maketypes.awk: Declare variables with a macro that expands to
15751         necessary export/import magic in the case of Win32.
15752                 
15753         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
15754
15755 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
15756
15757         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
15758         since those were meant only for gdki18n.h.  
15759         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
15760         for widechar tests.
15761         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
15762
15763 1999-03-13  Tor Lillqvist  <tml@iki.fi>
15764
15765         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
15766         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
15767
15768         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
15769         installed) to CFLAGS.
15770
15771         * gdk/Makefile.am: Add rules for gdkconfig.h.
15772
15773         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
15774         APIs.
15775
15776         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
15777         gdkx.h anyway when compiling for X11.
15778         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
15779         general): Merge in Win32 version.
15780         
15781         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
15782         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
15783         expansion (if we don't have HAVE_PWD_H), allow for drive
15784         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
15785         included code from Craig Setera's port to Win32 (the one that uses
15786         X11, and the cygwin dll), even if it probably will be abandoned.
15787
15788         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
15789         the user entered one herself.  This way one can complete *.h and
15790         don't get matches on any .help files, for instance.
15791         
15792 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
15793
15794         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
15795         font hash table, if we have a GdkFontPrivate entry for this font
15796         already, simply increment its reference count, provided by Olaf Dietsche
15797         <olaf.dietsche+list.gtk@netcologne.de>.
15798
15799         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
15800         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
15801
15802 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
15803
15804         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
15805         the number of calls to gdk_draw_point() (and thus to X) by
15806         clipping the points by hand.
15807
15808         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
15809         the clip parameter.
15810         (gtk_handle_box_paint): Only paint the handle if the expose area
15811         intersects it.
15812
15813 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
15814
15815         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
15816
15817 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
15818
15819         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
15820         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
15821
15822 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
15823
15824         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
15825          textmode (O_TEXT) for OS/2 version.
15826
15827 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
15828
15829         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
15830         GtkSpinButton, "input" and "output", to make the output more flexible.
15831         The user has to provide a mapping between adjustment->value and the
15832         output string (and vice versa, if the spin button is editable). 
15833         See testgtk for examples.
15834
15835 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
15836
15837         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
15838         new one.
15839         
15840         * configure.in: set gtk+ version to 1.3.0.