]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-2
For XEMBED embedding add a _XEMBED_INFO property to the client with
[~andy/gtk] / ChangeLog.pre-2-2
1 Mon Jul  2 16:53:25 2001  Owen Taylor  <otaylor@redhat.com>
2
3         * gtk/xembed.h gtk/gtkplug.c gtk/gtksocket.c: For
4         XEMBED embedding add a _XEMBED_INFO property to the
5         client with version number and a "mapped" flags.
6         Use the mapped flag instead of the racy MapRequestEvent
7
8         * gtk/gtksocket.c: Clean up the gtk_socket_steal()
9         code to reliably set things (when the child is a passive
10         embedder participating in the XEMBED protocol) intead
11         of just being a hack for embedding non-participating
12         programs. Fix various bugs and race conditions.
13         
14         * gtk/gtksocket.[ch] gtk/gtkplug.[ch]: Make local embedding
15         work by simply making the GtkSocket the gtk parent
16         of the GtkPlug. Set a flag in this case and make
17         the GtkPlug work like a normal container by overriding
18         methods such as check_resize and "chaining past" GtkWindow
19         to GtkBin.
20
21         * gtk/gtkentry.c (gtk_entry_real_activate)
22           gtk/gtkmain.c (gtk_propagate_event): 
23         Eliminate use of gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW).
24         
25         * gtk/gtkwidget.c (gtk_widget_get_toplevel,
26         gtk_widget_get_ancestor):
27         Explain why gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW)
28         might not give the expected result and recommend
29         an alternative.
30
31         * tests/testsocket.c tests/testsocket_child.c
32         tests/testsocket_common.c tests/Makefile.am: Extended
33         to test different type of adding plugs to sockets
34         (local,active,passive), and to test mapping/unmapping
35         the plug.
36
37         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Don't
38         mark the window as destroyed until after we
39         called _gdk_windowing_window_destroy().
40         (_gdk_windowing_window_destroy() may use GDK functions
41         on the window.)
42
43         * gdk/x11/gdkinput.c: Remove the check for finalization - 
44         devices can be finalized under some circumnstances.
45  
46         * gdk/x11/gdkinput-x11.c (gdk_input_device_new): Fix 
47         small problem with GDK_TYPE_DEVICE.
48  
49 2001-07-02  Havoc Pennington  <hp@pobox.com>
50
51         * gdk/x11/gdkwindow-x11.c (gdk_wmspec_change_state): fix to 
52         use constants not atoms.
53
54 2001-07-02  James Henstridge  <james@daa.com.au>
55
56         * gtk/gtktextview.c (gtk_text_view_class_init): same here for
57         PANGO_TYPE_TAB_ARRAY.
58
59         * gtk/gtktexttag.c (gtk_text_tag_class_init): same here, but also
60         for PANGO_TYPE_TAB_ARRAY.
61
62         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init):
63         s/GTK_TYPE_PANGO_FONT_DESCRIPTION/PANGO_TYPE_FONT_DESCRIPTION/
64
65         * gtk/gtk-boxed.defs: move all the boxed definitions to the top of
66         the file.  Remove Pango types from defs -- they are now defined in
67         libpango.
68
69 Mon Jul  2 06:35:10 2001  Tim Janik  <timj@gtk.org>
70
71         * gdk/gdkkeys.c (gdk_keymap_class_init): s/signal_newc/signal_new/
72
73         * gtk/gtkobject.c (gtk_object_destroy): invoke
74         g_object_run_dispose().
75
76         * gtk/gtkwindow.c: 
77         * gtk/gtkwidget.c: 
78         * gtk/gtkobject.c:
79         * gtk/gtklist.c: s/shutdown/dispose/ for the GObject
80         method.
81
82 Sat Jun 30 20:44:48 2001  Owen Taylor  <otaylor@redhat.com>
83
84         * gtk/gtktypeutils.c (gtk_type_class): Remove
85         change check for GTK_TYPE_OBJECT derivation to
86         G_TYPE_OBJECTS - it's Tim-approved to use this 
87         for arbitary objects.
88
89         * gtk/gtkwindow.c gtk/gtkcontainer.[ch]: underscore
90         prefix gtk_container_dequeue_resize_handler().
91
92         * gtk/gtkwidget.[ch]: Add a previous_toplevel argument
93         to the hierarachy_changed signal, since you otherwise
94         have to always keep that around.
95
96         * gtk/gtkmenubar.c gtk/gtklabel.c gtk/gtksocket.c: Adapt
97         for extra argument to hierarchy_changed.
98
99 Tue Jun 26 19:39:03 2001  Owen Taylor  <otaylor@redhat.com>
100
101         * gtk/gtkwidget.c (gtk_widget_set_style): Allow %NULL
102         for style to mean "revert to default style"
103
104         * gtk/gtkwidget.[ch] (gtk_widget_set_rc_style,
105           gtk_widget_restore_default_style): Make this functions
106         deprecated aliases for gtk_widget_set_style (widget, NULL).
107
108         * gtk/gtkwidget.[ch]: Remove:
109            gtk_widget_set_default_style ()
110            gtk_widget_push_style ()
111            gtk_widget_pop_style ()
112         These functions interact are overriden by RC files, and
113         thus virtually useless, and complicated.
114
115 Fri Jun 22 18:49:48 2001  Owen Taylor  <otaylor@redhat.com>
116
117         * gtk/gtkrc.c: Add a GtkRcContext structure to hold 
118         most of the previous global variables in gtkrc.c. This is
119         in preparation for multi-head, since each screen can
120         have different GtkSettings and RC information.
121
122         * gtk/gtkrc.[ch]: 
123
124         * gtk/gtkrc.h (struct _GtkRcStyleClass): Add a
125         GtkSettings parameter to GtkRcStyle::parse.
126
127         * gdk/x11/gdkevents-x11.c gtk/gtksettings.c gtk/gtkrc.c: 
128         Add two new settings gtk-theme-name, gtk-key-theme-name,
129         for RC files that are loaded by name after reading
130         the default RC files.
131         
132         * gtk/gtkrc.c: Allow priorities for styles, as wll as
133         bindings.
134
135         * gtk/gtkenums.h gtk/gtkrc.c: Add GTK_PATH_PRIO_THEME,
136         and use it by default for RC files loaded via 
137         gtk-theme-name, gtk-key-theme-name.
138
139         * gtk/gtkiconfactory.c (gtk_icon_source_set_filename)
140         gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string) 
141         tests/testgtkrc: Require pathnames to be absolute.
142
143         * gtk/gtkrc.c gtk/gtkiconfactory.c: Look up the full filename for
144         the source when parsing, since the operation of looking up a
145         pixmap from an RC file depends on the parsing context.
146
147         * gtk/gtkrc.c (gtk_rc_context_reparse_all): Automatically
148         reset RC styles on all widgets when files are reparsed.
149
150         * tests/testgtk.c (create_rc_file) 
151           gtk/gtkwindow.c (gtk_window_read_rcfiles): 
152         Simplify, now that gtk_rc_reparse_all() resets styles on
153         all widgets itself.
154
155         * gtk/gtkmain.c (gtk_get_default_language): Fix broken
156         return value.
157
158         * gtk/gtksettings.[ch] (gtk_settings_install_property[_ch]): Remove
159         GtkSettings argument.
160
161         * gtk/gtksettings.[ch] (gtk_settings_get_default): Rename from
162         gtk_settings_get_global().
163
164         * gtk/gtkwidget.[ch]: Add a function gtk_widget_Get_settings()
165         to get the appropriate GtkSettings for a widget. (For now,
166         just gets the default GtkSetttings.) 
167
168         * gtk/gtkcolorsel.c gtk/gtkentry.c gtk/gtkmenu.c gtk/gtkmenubar.c
169           gtk/gtktextview.c gtk/gtktoolbar.c: Fixes for GtkSettings
170         changes.
171
172         * gtk/gtkrc.[ch]: Add gtk_rc_get_style_by_paths() to allow
173         getting a style for a path without actually having a widget.
174         (Allows using a style for a subpart of a widget, for
175         example.)
176
177         * gtk/gtkrc.[ch]: Add gtk_rc_reparse_all_for_setting() to allow forcing
178         the RC files to be reloaded for just one GtkSettings
179         (not sure how useful this really is.)
180
181         * gtk/gtkrc.h: Deprecate
182         gtk_rc_add_widget_name/widget_class/class_style
183
184 2001-06-30  Alex Larsson  <alexl@redhat.com>
185
186         * gdk/linux-fb/gdkinput-none.c:
187         * gdk/linux-fb/gdkinput.c:
188         * gdk/linux-fb/gdkinputprivate.h:
189         Convert GdkDevice to a GObject.
190
191         * linux-fb/gdkprivate-fb.h:
192         * linux-fb/gdkvisual-fb.c:
193         Convert GdkVisual to a GObject.
194
195 2001-06-29  Alex Larsson  <alexl@redhat.com>
196
197         * gdk/gdkvisual.h:
198         * gdk/gdkcolor.c:
199         * gdk/x11/gdkx.h:
200         * gdk/x11/gdkvisual-x11.c:
201         Convert GdkVisual to a GObject.
202
203         * gdk/gdkinput.h:
204         * gdk/gdkevents.c:
205         * gdk/x11/gdkinputprivate.h:
206         * gdk/x11/gdkinput-gxi.c:
207         * gdk/x11/gdkinput-none.c:
208         * gdk/x11/gdkinput-x11.c:
209         * gdk/x11/gdkinput-xfree.c:
210         * gdk/x11/gdkinput.c:
211         Convert GdkDevice to a GObject.
212
213 Fri Jun 29 22:13:28 2001  Jonathan Blandford  <jrb@redhat.com>
214
215         * gtk/gtktreestore.c (gtk_tree_store_new): changed new_with_types
216         to just plain new, fixing the number of columns, and column types
217         at creation time.
218
219         * gtk/gtkliststore.c (gtk_list_store_new): ditto.
220
221         * gtk/gtkcellrenderertext.c
222         (gtk_cell_renderer_text_set_fixed_height_from_font): FIX the
223         height to a specific font.
224
225         * gtk/gtktreeview.c (gtk_tree_view_is_expander_column): fix brokenness.
226
227         * tests/*c: change to work with new store models.
228
229 2001-06-29  Havoc Pennington  <hp@redhat.com>
230
231        * Throughout: fixes to compile with G_DISABLE_COMPAT
232         (s/g_signal_connectc/g_signal_connect/,
233         s/g_signal_newc/g_signal_new/,
234         s/g_signal_disconnect_by_func/g_signal_handlers_disconnect_by_func/)
235
236 Fri Jun 29 03:14:16 2001  Jonathan Blandford  <jrb@webwynk.net>
237
238         * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
239         add path argument to selection callbacks.
240
241 Fri Jun 29 00:13:34 2001  Jonathan Blandford  <jrb@redhat.com>
242
243         * gtk/gtktreemodel.c (gtk_tree_model_foreach): New function to
244         walk through a model in a depth first manner, with the option to
245         break out.
246
247 Fri Jun  8 18:52:10 2001  Jonathan Blandford  <jrb@redhat.com>
248
249         * gtk/gtktreeview.[hc]: Patch Thomas Broyer from
250         <tbroyer@ltgt.net>. Expander arrows are now attached to a specific
251         column and follow it when draged, rather than a location in the
252         view. "expander_column" property and drawing functions changed
253         accordingly.  Fixes bug #55942.
254
255         (gtk_tree_view_{set,get}_expander_column): Now works with a
256         GtkTreeViewColumn* instead of int.
257
258 Thu Jun 28 22:53:18 2001  Owen Taylor  <otaylor@redhat.com>
259
260         *  gdk/gdk.c gtk/gtktypeutils.c: Fix args to g_type_init(). 
261
262 2001-06-28  Havoc Pennington  <hp@pobox.com>
263
264         * gdk/x11/gdkimage-x11.c (_gdk_x11_get_image): Clip the retrieved
265         image data to the screen, using a server grab to avoid race
266         conditions.
267
268         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): remove 
269         check for NULL return from gtk_image_new_from_stock(), it never
270         returns NULL.
271         (gtk_item_factory_create_item): fix bug where we parsed the stock
272         ID as an inline pixbuf
273
274         * gtk/gtktext.c (gtk_text_key_press): numeric keypad support
275
276         * gtk/gtkspinbutton.c (gtk_spin_button_key_press): numeric keypad
277         support (should be using binding set here)
278
279         * gtk/gtkoptionmenu.c (gtk_option_menu_key_press): numeric keypad
280         support (should be using binding set here)
281
282         * gtk/gtkmenushell.c (gtk_menu_shell_class_init): numeric keypad 
283         support
284
285         * gtk/gtkmenu.c (gtk_menu_class_init): numeric keypad support
286
287         * gtk/gtkmenubar.c (gtk_menu_bar_class_init): numeric keypad
288
289         * gtk/gtklistitem.c (gtk_list_item_class_init): numeric keypad
290
291         * gtk/gtkimcontextsimple.c
292         (gtk_im_context_simple_filter_keypress): keypad
293
294         * gtk/gtkfilesel.c (gtk_file_selection_key_press): keypad 
295
296         * gtk/gtkentry.c (gtk_entry_class_init): numeric keypad fixes
297
298         * gtk/gtkctree.c (gtk_ctree_class_init): numeric keypad support
299
300         * gtk/gtkcolorsel.c (palette_activate): keypad support (of course,
301         should be binding-setted)
302
303         * gtk/gtkwindow.c (gtk_window_class_init): numeric keypad fixes
304
305         * gtk/gtkclist.c (gtk_clist_class_init): numeric keypad fixes
306
307         * gtk/gtkcalendar.c: numeric keypad fixes
308
309         * gtk/gtktextview.c (gtk_text_view_class_init): numeric keypad
310         support
311
312         * gdk/gdkwindow.c (gdk_window_get_clip_region): fix infinite loop
313         screwup
314
315         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha): 
316         clip the render area to the drawable's clip region in advance,
317         so we don't get data from the server that we don't need.
318
319         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
320         check return value of gdk_pixbuf_get_from_drawable(), fall back 
321         to bilevel alpha if we can't get the pixbuf to composite against.
322
323         * gdk/gdkdraw.c (gdk_drawable_get_image): set the image colormap
324
325         * gdk/gdkimage.c (gdk_image_get_colormap): add
326         gdk_image_set_colormap, gdk_image_get_colormap
327
328         * gdk/gdkpixbuf-drawable.c (rgbconvert): Change all converters to
329         take a region of the image, instead of converting the entire
330         image.
331
332         * gtk/gtkwidget.h (struct _GtkWidgetClass): add show_help
333         keybinding signal. Add default bindings for it. Add default
334         handler for show_help that shows the tooltip for the widget.
335
336         * gtk/gtkdialog.c (gtk_dialog_class_init): add binding set and
337         "close" keybinding signal, remove key press handler.
338
339         * gtk/gtktooltips.c (gtk_tooltips_set_colors): Just remove this,
340         it's not our usual practice to leave a deprecated function around
341         with a runtime warning, plus we don't want it to appear in docs,
342         plus if we make them yellow no one will want to change them
343         anyhow.
344
345 Thu Jun 28 23:53:31 2001  Tim Janik  <timj@gtk.org>
346
347         * gtk/gtkwidget.c (gtk_widget_hide): !GTK_OBJECT_DESTROYED() ->
348         GTK_WIDGET_REALIZE() for resize queueing.
349
350         * gtk/gtkmain.c (gtk_main_do_event): !GTK_OBJECT_DESTROYED() ->
351         GTK_WIDGET_REALIZE() for post event delivery destruction upon
352         GDK_DESTROY.
353         
354         * gtk/gtkwidget.c: added GtkWidget::event-after notification signal, to
355         sompensate for former (pre-2.0) connect_after() facility.
356         (gtk_widget_send_expose): 
357         (gtk_widget_event): assert the widget is realized, since event delivery
358         to non-realized widgets is essentially a bug. event handlers should
359         be able to unconditionally rely on widget->window (unless they
360         emit events on their own which can trigger widget destruction).
361         (gtk_widget_event_internal): removed old outdated GTK_OBJECT_DESTROYED()
362         logic. event delivery happens as follows:
363         a) emission of GtkWidget::event (RUN_LAST handler). returns was_handled.
364         b) if !was_handled in (a) and the widget is still realized, emit event-
365            specific signal (RUN_LAST handler). returns was_handled.
366         c) emission of GtkWidget::event-after for notification if the widget is
367            still realized (regardless of was_handled from previous stages, no
368            class handler). no return value.
369         d) was_handled gets passed on to caller, to determine further
370            propagation. if the widget got unrealized meanwhile, was_handled
371            is returned as TRUE.
372
373         * gdk/gdkevents.[hc]: added gdk_event_get_root_coords() and
374         gdk_event_get_coords().
375
376 Thu Jun 28 17:18:41 2001  Tim Janik  <timj@gtk.org>
377
378         * configure.in (GTK_MICRO_VERSION): up version to 1.3.7, interface
379         age 0, binary age 0. depend on glib 1.3.7.
380
381         * gtk/gtkcontainer.c: remove g_signal_handlers_disconnect_by_func() hack.
382
383         * gtk/gtkmenubar.c: same here.
384         
385         * gtk/gtkcontainer.c (gtk_container_focus_tab): fix param-spec retrival.
386
387         * gtk/gtkcolorsel.c (gtk_color_selection_init): fix connect_data() usage.
388
389         * gtk/gtkentry.c (gtk_entry_focus_in): same here.
390         
391         * gtk/gtkmenubar.c (add_to_window): likewise.
392         
393         * gtk/gtktextbtree.c: and here...
394         
395         * gtk/gtktextview.c (gtk_text_view_ensure_layout): same thing.
396         
397         * gtk/gtktoolbar.c (gtk_toolbar_init): once more.
398         
399         * gtk/gtktreemodel.c (connect_ref_callbacks): and another time.
400         
401         * gtk/gtktreeviewcolumn.c:
402         (_gtk_tree_view_column_set_tree_view): yet again.
403
404         * demos/gtk-demo/images.c (progressive_timeout): demonstrate
405         signal connections without g_signal_connect_data().
406         
407         * demos/gtk-demo/stock_browser.c (do_stock_browser): second
408         demo of the matter.
409         
410         * demos/testpixbuf.c (main): running out of equality phrases for the
411         ChangeLog, but had to adapt connections here as well.
412         
413         * demos/testanimation.c (progressive_timeout): and for the fun of it,
414         tackled this the same way.
415         
416         * tests/testtext.c (create_view): ok, it's becoming a pain at this
417         point, but had enough enery for one more fix.
418
419         * tests/testtreecolumns.c (main): stand up man, do your work!
420
421         * tests/testtreeview.c (set_columns_type): ok, this is the last file i
422         fix, either that's been all of it or CVS gtk is broken yet again.
423         
424 2001-06-29  James Henstridge  <james@daa.com.au>
425
426         The following changes correspond to bug #56812
427
428         * gdk/gdkinput.h, gdk/gdkevents.c (GDK_TYPE_DEVICE): register type
429         code for GdkDevice.
430
431         * gdk/gdkcursor.[ch] (GDK_TYPE_CURSOR): register type code for
432         GdkCursor.
433
434 2001-06-19  Havoc Pennington  <hp@pobox.com>
435
436         * gdk/x11/gdkwindow-x11.c (gdk_window_show_unraised): new function
437         for mapping a window without fooling with stacking order, but
438         updating the "withdrawn" flag
439
440         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Do event
441         filtering as soon as possible, moving move resize and wmspec_check
442         handling after the event filter.  Make default filter apply to all
443         events, not just those with no GdkWindow wrapped around the X
444         window. Fix a FIXME about how the window could be a pixmap using 
445         RTTI; this of course assumes GDK_IS_WINDOW() is optimized. 
446
447         Also, be robust against events not on a known GdkWindow.
448
449         * gdk/x11/gdkmain-x11.c (gdk_x11_grab_server,
450         gdk_x11_ungrab_server): export reference-counted server grabs, so
451         other people can grab server over a GDK function that also does
452         so.
453
454 Wed Jun 27 19:40:31 2001  Jonathan Blandford  <jrb@redhat.com>
455
456         * gtk/gtktreeviewcolumn.c
457         (gtk_tree_view_column_pack_start_cell_renderer): New function to
458         reflect that you can (hypothetically) pack cell renderers into a
459         column.
460         (gtk_tree_view_column_pack_end_cell_renderer): ditto.
461         (gtk_tree_view_column_cell_is_visible): Move more functionality to
462         the column.
463         (gtk_tree_view_column_cell_can_focus): Move more functionality to
464         the column.
465
466         * gtk/gtktreeview.c: Move to use new column-packing code.
467         (gtk_tree_view_real_expand_row): remove totally braindead code.
468         (gtk_tree_view_real_collapse_row): ditto.
469
470 2001-06-27  Kjartan Maraas  <kmaraas@gnome.org>
471
472         * gtk/gtktreeviewcolumn.c: Fix a typo.
473         
474 2001-06-26  Joel Becker  <jlbec@evilplan.org>
475
476         * gdk-pixbuf/gdk-pixbuf-csource.c: remove '#include "x"' line
477           at the end of the file
478
479 2001-06-26  Havoc Pennington  <hp@redhat.com>
480
481         * gtk/gtkwindow.c (gtk_window_set_policy): forgot a notification
482
483 2001-06-26  Havoc Pennington  <hp@redhat.com>
484
485         * gtk/gtkwindow.c (gtk_window_class_init): add "resizable"
486         property
487
488 Tue Jun 26 12:59:28 2001  Jonathan Blandford  <jrb@redhat.com>
489
490         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): fix
491         stupid missing statement
492
493         * gtk/gtktreeview.c (gtk_tree_view_set_destroy_count_func): New
494         private function for ATK.  It notifies you of how many _visible_
495         children are deleted when a node is deleted.  Should be used by
496         atk only.
497
498 Tue Jun 26 11:06:34 2001  Owen Taylor  <otaylor@redhat.com>
499
500         * gtk/gtkclist.c gtk/gtkentry.c gtk/gtkspinbutton.c:
501         Use new pango_context_get_metrics() to fix problems
502         with font lists in descriptions. (#56184, reported by
503         Jonas Borgström)
504
505 Tue Jun 26 10:04:30 2001  Tim Janik  <timj@gtk.org>
506
507         * gtk/gtkiconfactory.c:
508         * gtk/gtkitemfactory.c: use gdk_pixbuf_new_from_stream(). fixed up
509         item factory so inlined pixbufs actually work.
510
511 2001-06-25  Havoc Pennington  <hp@redhat.com>
512
513         * gtk/gtktreeviewcolumn.h, gtk/gtktreeviewcolumn.c:
514         s/RESIZEABLE/RESIZABLE/
515
516         * gtk/gtkwindow.c, gtk/gtkwindow.h: s/resizeable/resizable/
517
518 2001-06-25  Alexander Larsson  <alexl@redhat.com>
519
520         * configure.in:
521         Added --enable-fbmanager. This is some experimental code
522         that lets several GtkFB apps coordinate their access to the
523         framebuffer.
524         
525         * acconfig.h:
526         Added ENABLE_FB_MANAGER.
527
528         * gdk/linux-fb/Makefile.am:
529         Added gdkfbmanager and gdkfbswitch.
530
531         * gdk/linux-fb/gdkkeyboard-fb.c:
532         * gdk/linux-fb/gdkmouse-fb.c:
533         * gdk/linux-fb/gdkprivate-fb.h:
534         Split device init and open so that
535         they can be opened and closed while switched
536         away.
537
538         * gdk/linux-fb/gdkmain-fb.c:
539         Add the basic manager communication.
540
541         * gdk/linux-fb/gdkrender-fb.c:
542         Don't update to the shadow fb if we're
543         blocked by the fb manager.
544
545 Sun Jun 24 22:15:16 2001  Owen Taylor  <otaylor@redhat.com>
546
547         * docs/Changes-2.0.txt: Add note about child property
548         changes.
549
550 Sun Jun 24 21:34:32 2001  Owen Taylor  <otaylor@redhat.com>
551
552         * gtk/gtkenums.h gtk/gtkiconfactory.c: Add a special size for
553         drag-and-drop GTK_ICON_SIZE_DND (Default to 32x32)
554
555         * gtk/gtkdnd.c (gtk_drag_dest_set_target_list): Fix problem
556         with un'reffing wrong list reported by Jeff Franks.
557
558         * gtk/gtkdnd.[ch] (_gtk_drag_{source,}dest_handle_event): _prefix.
559
560         * gtk/gtkdnd.c (gtk_drag_set_icon_default): Use GTK_STOCK_DND
561         for the default icon. Remove inline XPM.
562
563         * gtk/gtkstock.h gtk/gtkiconfactory.c:
564         Add GTK_STOCK_DND GTK_STOCK_DND_MULTIPLE (Currently, stock_new
565         is used for GTK_STOCK_DND, but it is a bit too small.)
566
567         * gtk/stock-icons/stock_dnd_multiple.png
568         gtk/stock-icons/Makefile.am: New stock icon moved from gnome-libs.
569
570         * gtk/gtkdnd.c (gtk_drag_source_event_cb): Only return
571         TRUE when starting a drag. In other cases, we are
572         just observing. (#52995)
573
574         * gtk/gtkdnd.[ch] (gtk_drag_set_icon_{stock,pixbuf}): Add 
575         function to set the icon for a drag from a GdkPixbuf
576         or stock ID.
577
578         * gtk/gtkdnd.[ch] (gtk_drag_source_set_icon_{stock,pixbuf}): 
579         Likewise, for drag sources.
580
581         * gtk/gtkdnd.h: Deprecate gtk_drag_set_default_icon.
582         (Now should be done using the stock system.)
583
584 Sun Jun 24 12:06:47 2001  Owen Taylor  <otaylor@redhat.com>
585
586         * gtk/gtktextview.[ch] (gtk_text_view_set_text_window_size): 
587         Removed - didn't work and not particularly useful anyways
588         if it did. 
589
590 Sun Jun 24 11:29:35 2001  Owen Taylor  <otaylor@redhat.com>
591
592         * gdk/x11/gdkimage-x11.c (gdk_image_new): Fix stupid error
593         introduced last night that was making things decidedly not work.
594
595         * gtk/*.[ch]: Patch from Kristian Rietveld adding 80 getters
596         so that we have getter/setter pairing everywhere it makes
597         sense. (#55767)
598
599         * gtk/gtkradiobutton.[ch] gtk/gtktoolbar.c tests/testgtk.:
600         Rename gtk_radio_button_group to gtk_radio_button_get_group, add a
601         deprecated compat macro. (#55516)
602
603         * gtk/gtklabel.[ch]: Add functions
604         gtk_label_set/get_use_underline(), gtk_label_set/get_use_markup(),
605         gtk_label_set_label(), which mirror the property API for GtkLabel.
606         Make gtk_label_get_attributes() only reflect the attributes
607         set by gtk_label_set_attributes.
608
609         * gtk/gtknotebook.c (gtk_notebook_set_current_page) gtk/gtkcompat.h: Rename
610         from gtk_notebook_set_page().
611
612 Sat Jun 23 18:02:46 2001  Owen Taylor  <otaylor@redhat.com>
613
614         * configure.in: Fix tests for XShm.h.
615
616         * gdk/x11/gdkimage-x11.c: Cleanup error handling in
617         gdk_image_new() by use of goto, properly use g_object_unref().
618
619 Sat Jun 23 22:03:20 2001  Tim Janik  <timj@gtk.org>
620
621         * gdk/x11/gdkimage-x11.c (gdk_image_init): disabled g_free (image)
622         calls, as GdkImage is an object. these should be g_obejct_unref()
623         instead but that won't work because of the g_error() statement
624         in gdk_x11_image_destroy(). so for now, i did s/g_free/LEAK_IMAGE/
625         to spot these places.
626
627 Sat Jun 23 10:27:53 2001  Owen Taylor  <otaylor@redhat.com>
628
629         * modules/input/gtkimcontextxim.c: Fixup some problems with 
630         text length handling in error cases.
631
632         * gtk/gtkwidget.c (gtk_widget_size_allocate): Reorder
633         a bit to make test actually warn on attempt to allocation
634         a negative size. (#56101, Matthias Clasen)
635
636 Fri Jun 22 14:06:08 2001  Jonathan Blandford  <jrb@redhat.com>
637
638         * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): Fix bug
639         noticed by Brian Cameron.
640         (gtk_tree_view_real_expand_row): Fix bug noticed by Brian
641         Cameron.
642
643 2001-06-22  Hans Breuer  <hans@breuer.org>
644
645         * gdk/gdk.def : updated externals
646
647         * gdk/win32/gdkdrawable-win32.c : corrected some casts
648         in GDK_NOTEs
649
650         * gdk/win32/gdkevents-win32.c : use _gdk_windowing_window_get_offsets
651         to translate coordinates to the internal > 16 bit system
652         Try to handle WM_WINDOWPOSCHANGED to get better performance for
653         when moving/resizing
654
655         * gdk/win32/gdkkeys-win32.c : implement gdk_keymap_get_default ()
656         and gdk_keymap_get_direction (). The latter is untested for
657         the RTL case
658
659         * gtk/gtk.def : updated externals
660
661         * gtk/gtkmain.c : gtk_get_default_language () should reurn the result
662         from pango_language_from_string (), not an already freed pointer
663
664         * gtk/stock-icons/stock_menu_sort_ascending.png : PNGs need to be 
665         binary (-kb) to be useable on windoze
666  
667 2001-06-21  Alexander Larsson  <alexl@redhat.com>
668
669         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description): 
670         Update to new PangoLanguage changes.
671         
672         * gtk/gtkwindow-decorate.c:
673         * gtk/gtkwindow.[ch]:
674         Added setting argument to gtk_window_set_has_frame ()
675         
676 Thu Jun 21 13:42:01 2001  Owen Taylor  <otaylor@redhat.com>
677
678         * gdk/x11/gdkkeys-x11.c (gdk_keymap_get_direction): Handle
679         the case without XKB properly.
680
681         * gtk/gtkrc.c (gtk_rc_set_default_files): Remove
682         unused gtk_rc_auto_parse variable.
683
684         * gtk/gtkrc.[ch] gtk/gtkstyle.c docs/Changes-2.0.txt:
685         Remove gtk_rc_set_image_loader(), gtk_rc_load_image(), no
686         longer needed with GdkPixbuf.
687
688         * gtk/gtkrc.c (_gtk_rc_init): Make private.
689
690 Fri Jun 15 16:26:12 2001  Owen Taylor  <otaylor@redhat.com>
691
692         * gtk/gtkentry.h: Mark deprecated functions with
693         GTK_DISABLE_DEPRECATED.
694
695 Mon Jun 11 18:15:16 2001  Owen Taylor  <otaylor@redhat.com>
696
697         * gdk/gdk.h: Add missing gdk_rectangle_get_type() prototype.
698
699         * gtk/gtk[hv]scale.c: Include math.h, stdlib.h
700
701         * gdk/gdkpango.h gtk/gtkclist.c gtk/gtkentry.c gtk/gtkmain.[ch]
702           gtk/gtkspinbutton.c gtk/gtkstyle.c gtk/gtktextbuffer.c
703           gtk/gtktextdisplay.c gtk/gtktextiter.[ch]
704           gtk/gtktextlayout.c gtk/gtktexttag.[ch] gtk/gtkwidget.c: Adapt
705           to recent changes in Pango.
706
707         * tests/testgtk.c: Set language tags with gtk_label_set_markup()
708           to test whether the basic engine honors them.
709
710 Thu Jun 21 02:13:40 2001  Tim Janik  <timj@gtk.org>
711
712         * gtk/gtkcontainer.[hc]: added gtk_container_child_set_property() and
713         gtk_container_child_get_property().
714
715 Wed Jun 20 19:19:15 2001  Jonathan Blandford  <jrb@redhat.com>
716
717         * gtk/gtktreeview.c (gtk_tree_view_move_cursor_up_down): clean up
718         (gtk_tree_view_move_cursor_page_up_down): implement.
719
720 Wed Jun 20 05:32:05 2001  Tim Janik  <timj@gtk.org>
721
722         * gtk/gtkspinbutton.c: make maximum digits compile time configurable
723         via MAX_DIGITS and up to 20. 5 was just ridiculously small.
724         don't use automatic fixed size buffer for printf-ing floats, doubles
725         can expand to really _huge_ strings, use g_strdup_printf() instead.
726
727 Wed Jun 20 04:28:24 2001  Tim Janik  <timj@gtk.org>
728
729         * gtk/gtkrange.c (gtk_range_class_init): hum, "adjustment" was a
730         construct property in 1.2 and still needs to be.
731
732         * gtk/gtkwidget.c: "composite_child" is not a settable property.
733
734 Tue Jun 19 19:13:19 2001  Jonathan Blandford  <jrb@redhat.com>
735
736         * gtk/gtkliststore.c (gtk_list_store_clear): 
737         * gtk/gtktreestore.c (gtk_tree_store_clear): New functions to
738         clear a model.
739
740 Mon Jun 18 02:00:49 2001  Tim Janik  <timj@gtk.org>
741
742         * gtk/gtkwidget.c (gtk_widget_get_property): fix PROP_EVENTS.
743
744         * gtk/Makefile.am:
745         * gtk/gtk.h: disabled GtkPacker compilation.
746
747         * gtk/gtkarg.[hc], gtk/gtkargcollector.c: got rid of these.
748
749         * gtk/gtknotebook.c:
750         * gtk/gtktable.c:
751         * gtk/gtkbox.c: ported this over to child properties.
752
753         * gtk/gtksettings.c: fetch class properties via
754         g_object_class_list_properties().
755
756         * gtk/gtkcontainer.[hc]: implemented child properties, got rid of the
757         child arg interface. use gobjectnotifyqueue.c for child property
758         notification.
759
760         * gtk/gtkwidget.[hc]: provide necessary means for container child
761         properties, i.e. ::child_notify signal,
762         gtk_widget_freeze_child_notify(),
763         gtk_widget_child_notify(),
764         gtk_widget_thaw_child_notify().
765
766         * tests/testgtk.c: removed inferior property handling code, for
767         property editing, a generic module should be used, and GLE
768         coincidentally fullfills that purpose.
769
770         * docs/reference/Makefile.am: disabled gtk docs building, gtk-doc
771         needs to be adapted to g_object_class_list_properties() before this
772         builds again.
773
774 Mon Jun 18 20:06:10 2001  Jonathan Blandford  <jrb@redhat.com>
775
776         * gtk/gtktreeview.c (gtk_tree_view_row_expanded): New function to
777         test if a node is expanded.
778
779 Mon Jun 18 19:41:38 2001  Jonathan Blandford  <jrb@redhat.com>
780
781         * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): Fix bug
782         where collapsing a selected row would result in the cursor/anchor
783         getting screwed up.
784
785 Fri Jun 15 18:53:48 2001  Jonathan Blandford  <jrb@redhat.com>
786
787         * gtk/gtktreesortable.c (gtk_tree_sortable_set_sort_func): Rename
788         gtk_tree_sortable_sort_column_id_set_func.  It's much shorter now.
789         * gtk/gtktreeview.c (gtk_tree_view_sort_iter_changed): WOOO!!!
790         Now I can really reorder/sort all Store widgets.  treesorttest
791         seems to just work now.
792         * gtk/gtklistview.c (gtk_list_store_iter_changed): Whoops.
793         testtreesort worked through a big coincidence all this time.
794         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): Nasty bug fix in nasty
795         code.
796         * tests/testtreecolumns.c: Big 'ol warning at the top letting
797         people know that this code should never ever ever be copied.
798
799 2001-06-15  Jonas Borgström  <jonas@codefactory.se>
800
801         * gtk/gtkwindow.h: Fixed a small typo, it should be
802         GTK_WINDOW_GROUP_GET_CLASS and not GTK_WINDOW_GET_CLASS
803         on line 134.
804
805 2001-06-14  Havoc Pennington  <hp@redhat.com>
806
807         Docs fixups, and:
808         
809         * gtk/gtkcompat.h: remove GTK_DISABLE_COMPAT_H, replace with
810         GTK_DISABLE_DEPRECATED
811
812 Thu Jun 14 19:21:27 2001  Jonathan Blandford  <jrb@redhat.com>
813
814         * gtk/gtktreestore.c (gtk_tree_store_sort_helper): Whoops.  Forgot
815         this a couple months ago.  Now GtkTreeStore sort of sorts.  I'll
816         finish it off tonight, though it basically works now when it's a
817         list.  Also, I have a sinking feeling neither GtkTreeStore or
818         GtkListStore actually resort when adding a new item.  I'll look
819         into it.
820
821 2001-06-14  Havoc Pennington  <hp@redhat.com>
822
823         * demos/gtk-demo/main.c (load_file): fix bug identified by
824         warnings I just added to gtktextbuffer
825
826 2001-06-14  Havoc Pennington  <hp@redhat.com>
827
828         * gtk/gtkwindow.c (window_group_cleanup_grabs): fix other typo
829
830         * gtk/gtkwidget.c (gtk_widget_propagate_state): fix typo
831
832         * gtk/gtktextbtree.c: don't leak node data all over the place.
833
834         * demos/gtk-demo/main.c (main): create fontify tags for the right
835         buffer
836
837         * gtk/gtktextbuffer.c, gtk/gtktexttagtable.c: enhance docs
838         to mention tags in the same table can't have the same name,
839         suggested by Skip Montanaro
840
841 2001-06-11  Havoc Pennington  <hp@redhat.com>
842
843         * gtk/gtktexttagtable.c (gtk_text_tag_table_add): improve warning 
844         for trying to add two tags with same name to the tag table
845
846         * demos/gtk-demo/main.c (main): fix colors ;-)
847
848 `Fri Jun  8 17:56:52 2001  Owen Taylor  <otaylor@redhat.com>
849
850         * gtk/gtkwindow.[ch] gtk/gtkmain.c: Add a GtkWindowGroup struct
851         that allows grouping together multiple windows so that grabs
852         within that set of windows only affect those windows.
853
854         * gtk/gtkmain.c gtk/gtkwidget.[ch]: Add a "grab_notify"
855         signal for notification when a widget becomes shadowed
856         by a grab or is no longer shadowed by a grab.
857
858         * gtk/gtkwidget.c (gtk_widget_propagate_state)
859           gtk/gtkmain.c: (gtk_widget_grab_add): Don't allow
860         insenstive widgets to maintain a grab.
861
862 2001-06-14  Alexander Larsson  <alexl@redhat.com>
863
864         * docs/README.linux-fb:
865         Add some example config files that can be used with the URW fonts.
866         
867         * gdk/linux-fb/gdkvisual-fb.c (gdk_visual_init): 
868         Set up the color ramps for DirectColor mode.
869
870 2001-06-11  Havoc Pennington  <hp@redhat.com>
871
872         * Release 1.3.6
873          
874 2001-06-13  Alexander Larsson  <alla@lysator.liu.se>
875
876         * gdk/linux-fb/gdkwindow-fb.c:
877         Unify shaped window code and make it repaint the area that used
878         to be part of the shape, but isn't anymore.
879
880 2001-06-11  Havoc Pennington  <hp@redhat.com>
881
882         * NEWS: Updates
883
884         * configure.in (GTK_MINOR_VERSION): bump version to 1.3.6
885
886         * gtk/Makefile.am: glib_genmarshal already contains top_builddir
887         
888 2001-06-13  Alexander Larsson  <alla@lysator.liu.se>
889
890         * gdk/linux-fb/gdkdnd-fb.c (gdk_drag_status):
891         Don't pass on GDK_ACTION_DEFAULT. The Xdnd code
892         passes zero instead, so do we.
893         
894 2001-06-13  Alexander Larsson  <alla@lysator.liu.se>
895
896         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
897         Deep copy dash_list too.
898         (_gdk_fb_gc_new): Set default cap_style before
899         setting values.
900
901 2001-06-12  Alexander Larsson  <alla@lysator.liu.se>
902
903         * gdk/linux-fb/gdkkeyboard-fb.c (gdk_keymap_get_default,
904         gdk_keymap_get_direction): New functions.
905
906 Tue Jun 12 12:41:27 2001  Jonathan Blandford  <jrb@redhat.com>
907
908         * gtk/gtktreemodel.h (GTK_TREE_MODEL_LIST_ONLY): further justify
909         gtk_tree_model_get_flags by adding a second flag for atk.
910
911         * gtk/gtktreemodel.c: make cursor behavior interact better with
912         mouse presses.
913
914 Mon Jun 11 12:43:08 2001  Jonathan Blandford  <jrb@redhat.com>
915
916         * gtk/gtktreeview.c (gtk_tree_view_class_init): changed
917         expand_row/collapse_row to be 2 signals each -- test_expand_row
918         and row_expanded as well as test_collapse_row and row_collapsed.
919
920 2001-06-10  Anders Carlsson  <andersca@codefactory.se>
921
922         * demos/gtk-demo/stock_browser.c (do_stock_browser): Update
923         signal name to be changed instead of selection_changed.
924
925 2001-06-08  Havoc Pennington  <hp@redhat.com>
926
927         * gtk/gtkentry.c (gtk_entry_class_init): add read-only
928         "scroll_offset" property for notification when the layout offsets
929         may have changed
930         (gtk_entry_adjust_scroll): add notify for scroll_offset
931         (gtk_entry_layout_index_to_text_index): function to compensate for
932         preedit string when doing coordinate stuff on the entry's layout
933         (gtk_entry_text_index_to_layout_index): inverse function
934         (gtk_entry_get_layout_offsets): hook to get current position of
935         the layout      
936         (gtk_entry_get_layout): hook to get the layout itself.
937
938         * gtk/gtklabel.c (gtk_label_get_layout): new function
939
940 Fri Jun  8 19:49:29 2001  Jonathan Blandford  <jrb@redhat.com>
941
942         * gtk/gtktreeview.c (gtk_tree_view_real_select_cursor_row): New
943         keybinding.
944         (gtk_tree_view_focus): Fix merge conflict.
945
946 Fri Jun  8 18:41:30 2001  Jonathan Blandford  <jrb@redhat.com>
947
948         * gtk/gtktreeview.c (gtk_tree_view_set_cursor): new function to
949         clean up cursor handling.
950
951 2001-06-08  Havoc Pennington  <hp@redhat.com>
952
953         * gtk/gtktextbuffer.c (gtk_text_buffer_get_start_iter): added this
954         function
955
956         * gtk/gtktextview.c (gtk_text_view_get_default_attributes): added
957         this function
958
959 2001-06-08  Alex Larsson  <alexl@redhat.com>
960
961         * gtk/gtkcompat.h.in:
962         Added compat macros for all old GTK_TYPE_GDK_xxx types.
963         Fixes bug #52892
964
965 2001-06-08  Havoc Pennington  <hp@redhat.com>
966         
967         * gtk/gtkhsv.h (struct _GtkHSVClass): had GtkContainerClass as
968         parent still
969
970 2001-06-08  Havoc Pennington  <hp@redhat.com>
971
972         * gtk/gtktextbuffer.c (gtk_text_buffer_remove_all_tags): geez,
973         don't call g_list funcs on GSList
974
975         * gtk/gtkwidget.c (gtk_widget_child_focus): replaces
976         gtk_container_focus(), since some widgets have focusable locations
977         which are not other widgets. These widgets should not have to be 
978         containers just to manage the focus. For example, GtkHSV is
979         currently a container for no good reason. Also, this cleans
980         up the "if (is_container && is_sensitive && is_drawable)
981         container_focus ()" mess in widget implementations.
982
983         * gtk/gtkcontainer.c (gtk_container_focus): deprecate this
984         function, and have it just call gtk_widget_child_focus().
985
986         * gtk/gtkhsv.c: derive from widget not container
987         
988         Throughout: fix to reflect GtkContainer::focus change
989         
990 Fri Jun  8 12:38:49 2001  Jonathan Blandford  <jrb@redhat.com>
991
992         * gtk/gtktable.c (gtk_table_resize): warn if row/cols are out of
993         range.  Fix bug #55921
994
995         * gtk/gtkliststore.c (gtk_list_store_new_with_types): fix doc bug
996         (#55920).
997
998 Fri Jun  8 12:03:07 2001  Owen Taylor  <otaylor@redhat.com>
999
1000         * gdk/gdkkeys.[ch]: Add a direction-changed signal,
1001         and gdk_keymap_get_current_direction().
1002
1003         * gdk/x11/gdkevents-x11.c gdk/x11/gdkkeys-x11.c
1004           gdk/x11/gdkmain-x11.c gdk/x11/gdkprivate-x11.h: Track
1005         the current locked group, use it to set the keymap
1006         direction.
1007
1008         * gtk/gtksettings.c: Add a new gtk-split-cursor setting
1009         to determine whether we draw a split cursor or use
1010         a jumping cursor based on the current direction.
1011
1012         * gtk/gtkentry.c gtk/gtktextview.c gtk/gtktextlayout.[ch]:
1013         Obey the split cursor setting. 
1014
1015 Fri Jun  8 11:57:50 2001  Owen Taylor  <otaylor@redhat.com>
1016
1017         * gtk/gtkimmulticontext.c (activate_cb): Only activate
1018         when toggling on, not when toggling off... (#55906)
1019
1020 Wed Jun  6 10:37:07 2001  Owen Taylor  <otaylor@redhat.com>
1021
1022         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): 
1023         s/gdk_window_begin_paint/gdk_window_begin_paint_region/
1024         in docs. (#55812, Vitaly Tishkov)
1025
1026 2001-06-08  Anders Carlsson  <andersca@codefactory.se>
1027
1028         * demos/gtk-demo/main.c (create_tree): Changed signal name from
1029         selection_changed to changed in signal connection to GtkTreeSelection,
1030         also used g_signal_connectc since GtkTreeSelection is now a GObject.
1031
1032 Thu Jun  7 18:25:42 2001  Jonathan Blandford  <jrb@redhat.com>
1033
1034         * gtk/gtktreeselection.c: Now it's a GObject instead of a
1035         GtkObject.  The GtkTreeSelection::selection_changed signal is now
1036         the GtkTreeSelection::changed signal.
1037
1038         * gtk/gtktreeview.c: Modified to deal with new GtkTreeSelection
1039         object.
1040
1041         * tests/gtktree*.c: Modified to deal with new GtkTreeSelection
1042         object.
1043
1044 2001-06-07  Havoc Pennington  <hp@redhat.com>
1045
1046         * gtk/Makefile.am: fix glib-mkenums and glib-genmarshal again
1047
1048 2001-06-07  Havoc Pennington  <hp@redhat.com>
1049         
1050         * gtk/Makefile.am: fixups for glib-mkenums and glib-genmarshal
1051         (not tested yet because with absolute path to srcdir I can't build
1052         atk, but it was broken anyway so this may help) 
1053
1054 2001-06-07  Havoc Pennington  <hp@redhat.com>
1055
1056         * configure.in: output m4macros/Makefile
1057         
1058 Wed Jun  6 21:59:16 2001  Jonathan Blandford  <jrb@redhat.com>
1059
1060         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): hook up arrow
1061         buttons.  Fixes #55460 reported by matthiasc@poet.de.
1062
1063 Wed Jun  6 21:18:54 2001  Jonathan Blandford  <jrb@redhat.com>
1064
1065         * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): centralize
1066         expansion/collapsing so it only happens in one place.
1067         (gtk_tree_view_real_expand_row): ditto.
1068
1069 2001-06-07  Havoc Pennington  <hp@redhat.com>
1070
1071         * tests/Makefile.am: add missing -I flag
1072
1073         * gtk/Makefile.am: use @GLIB_MKENUMS@, @GLIB_GENMARSHAL@, etc.
1074
1075         * configure.in: use pkg-config to see if GModule is
1076         supported; fix to properly turn on included loaders 
1077         when GModule isn't supported; don't use AC_CHECK_LIB 
1078         when libs are not installed yet
1079
1080         * autogen.sh: add support for AUTOGEN_SUBDIR_MODE
1081
1082         * Makefile.am (SUBDIRS): add m4macros subdir
1083
1084         * gtk/Makefile.am: $(srcdir)/foo targets must be $(srcdir)/foo in
1085         dependencies also.
1086
1087 Wed Jun  6 19:31:11 2001  Jonathan Blandford  <jrb@redhat.com>
1088
1089         * gtk/gtktreeview.c (gtk_tree_view_set_model): fix silly bug
1090         reported by "Padraig O'Briain" <Padraig.Obriain@Sun.COM>.
1091
1092 Wed Jun  6 20:01:38 2001  Jonathan Blandford  <jrb@redhat.com>
1093
1094         * gtk/gtktreeview.c
1095         (gtk_tree_view_real_expand_collapse_cursor_row): Handle key
1096         bindings to expand and collapse rows.
1097         (gtk_tree_view_real_select_cursor_parent): New key binding.
1098         (gtk_tree_view_real_toggle_cursor_row): New key binding.
1099
1100         * gtk/gtkmarshal.list: new
1101         marshaller. (VOID__BOOLEAN_BOOLEAN_BOOLEAN)
1102
1103 2001-06-06  Havoc Pennington  <hp@redhat.com>
1104
1105         * gtk/gtkrange.c (gtk_range_class_init): add "inverted" property
1106
1107         * gtk/gtkscale.c (gtk_scale_class_init): Change Page Up and Page
1108         Down to move visually rather than logically, since it confuses 
1109         people. Add -/+ and Ctrl--/+ bindings for logical movement.
1110
1111 2001-06-06  Alex Larsson  <alexl@redhat.com>
1112
1113         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
1114         Fix up error messages.
1115
1116 Wed Jun  6 10:34:42 2001  Owen Taylor  <otaylor@redhat.com>
1117
1118         * gtk/gtktooltips.h: Include gtkwidget.h 
1119         (#55798, Karl Nelson)
1120
1121         * gdk/x11/gdkwindow-x11.c (utf8_is_latin1): 0xff is
1122         a valid latin-1 character. (Marc Lehmann, #35467)
1123
1124         * gdk/x11/gdkwindow-x11.c: Fix minor typo in comment. 
1125         (Marc Lehmann, #35467)
1126         
1127 2001-06-05  Alex Larsson  <alexl@redhat.com>
1128
1129         * demos/gtk-demo/appwindow.c (do_appwindow):
1130         Don't swap the order of the args to gtk_widget_destroyed.
1131
1132         * tests/testgtk.c (destroy_properties):
1133         Don't crash when the properties window is destroyed.
1134
1135         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_new_from_stock):
1136         Use with_mnemonics to handle the case of stock items with
1137         underscores in them.
1138
1139 2001-06-05  Havoc Pennington  <hp@redhat.com>
1140
1141         * gtk/gtktextiter.c (gtk_text_iter_order): rename from 
1142         gtk_text_iter_reorder
1143
1144 2001-06-05  Havoc Pennington  <hp@redhat.com>
1145
1146         * gtk/gtktoolbar.c (gtk_toolbar_remove_space): new function
1147
1148 2001-06-05  Havoc Pennington  <hp@redhat.com>
1149
1150         * gtk/gtkspinbutton.c (gtk_spin_button_set_range): clamp the value 
1151         to the range that was set
1152
1153         * gtk/gtkrange.c: add value_changed signal, primarily 
1154         intended for use with GtkScale
1155         (gtk_range_set_increments): new function
1156         (gtk_range_set_range): new function with weird name
1157         (gtk_range_set_value): new function
1158         (gtk_range_get_value): new function
1159
1160         * gtk/gtkspinbutton.c (gtk_spin_button_get_value): rename 
1161         from gtk_spin_button_get_value_as_float(). Compat #define
1162         added for get_value_as_float.
1163
1164         * gtk/gtkhscale.c (gtk_hscale_new_with_range): new function
1165
1166         * gtk/gtkvscale.c (gtk_vscale_new_with_range): new function
1167
1168 Tue Jun  5 14:57:18 2001  Jonathan Blandford  <jrb@redhat.com>
1169
1170         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_size): Fix bug #55573
1171
1172 Mon Jun  4 12:41:25 2001  Owen Taylor  <otaylor@redhat.com>
1173
1174         * gtk/gtkwidget.h: Deprecate gtk_widget_set().
1175
1176         * tests/testgtk.c (create_tooltips): Remove usage of
1177         gtk_widget_set().
1178
1179 2001-06-05  Havoc Pennington  <hp@redhat.com>
1180
1181         * gtk/gtkcolorsel.c: Use new mnemonic convenience functions
1182
1183         Applying patch from Jeff Franks, with function docs added.
1184         
1185         * gtk/gtkcheckbutton.c (gtk_check_button_new_with_mnemonic):
1186         remove call to set_mnemonic_widget, change docs a bit.  
1187
1188         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_new_with_mnemonic):
1189         new function
1190
1191         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_new_with_mnemonic):
1192         new function
1193
1194         * gtk/gtkmenuitem.c (gtk_menu_item_new_with_mnemonic): new function
1195
1196         * gtk/gtkradiobutton.c (gtk_radio_button_new_with_mnemonic): new
1197         function
1198         (gtk_radio_button_new_with_mnemonic_from_widget): new function
1199
1200         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_new_with_mnemonic):
1201         new function
1202
1203         * gtk/gtktogglebutton.c (gtk_toggle_button_new_with_mnemonic): new
1204         function        
1205
1206         * gtk/gtklabel.c (gtk_label_new_with_mnemonic): Improve docs on 
1207         auto-selection of mnemonic widget.
1208
1209 Mon Jun  4 15:05:24 2001  Jonathan Blandford  <jrb@redhat.com>
1210
1211         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_max_width):
1212         Fix segfault found by Vitaly Tishkov <tvv@sparc.spb.su>.
1213         (gtk_tree_view_column_set_min_width): ditto.
1214
1215 Tue Jun  5 11:04:06 2001  Owen Taylor  <otaylor@redhat.com>
1216
1217         * gdk/gdkpixmap.h (GDK_PIXMAP_GET_CLASS): 
1218         s/GdkPixmapClass/GdkPixmapObjectClass/. (#51890, Jeff Franks)
1219
1220 Mon Jun  4 12:50:11 2001  Owen Taylor  <otaylor@redhat.com>
1221
1222         * gtk/gtkctree.c (gtk_ctree_insert_gnode): Add a missing
1223         gtk_clist_thaw().
1224
1225 2001-06-04  Havoc Pennington  <hp@pobox.com>
1226
1227         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Ignore 
1228         releases for buttons 6, 7
1229
1230 2001-06-04  Havoc Pennington  <hp@redhat.com>
1231
1232         * gtk/gtkseparatormenuitem.h: Fix a search-and-replace screwup
1233         (s/CHECK/SEPARATOR/ gone awry). Patch from Jeff Franks, bug
1234         #55562
1235
1236 2001-06-04  Havoc Pennington  <hp@redhat.com>
1237
1238         * gtk/gtktextview.c (gtk_text_view_size_request): handle case
1239         where text_view->layout == NULL by assuming its size is 0, 
1240         i.e. same as if we haven't done any reflow. Reported by 
1241         Hidetoshi Tajima #55448 
1242
1243 2001-06-04  Havoc Pennington  <hp@redhat.com>
1244
1245         * gdk/x11/gdkevents-x11.c (gdk_event_translate): support button 6
1246         and 7 for scroll left/right, from Thomas Broyer
1247
1248 2001-05-10  Havoc Pennington  <hp@redhat.com>
1249
1250         * gtk/gtksettings.c (gtk_settings_get_property): Handle case where
1251         we need to parse the xsetting as if it were an RC file string.
1252
1253         * gtk/gtkcolorsel.c (gtk_color_selection_class_init): load initial
1254         value of palette from settings, not from static variable
1255
1256         * gdk/x11/gdkevents-x11.c: add color palette, toolbar mode to
1257         xsettings translation table
1258
1259         * gtk/gtktoolbar.c (gtk_toolbar_new): Remove arguments, because 
1260         hardcoding the toolbar style conflicts with new customizable 
1261         toolbar style philosophy
1262         (gtk_toolbar_class_init): add settings for default toolbar style;
1263         these are used unless the app specifically forces a toolbar style
1264
1265         * gtk/gtksettings.c (settings_install_property_parser): only
1266         return at the start if we warn and parser == NULL
1267
1268         * gtk/gtkcolorsel.c (gtk_color_selection_finalize): disconnect the
1269         palette changed handler so we don't notify dead color selections
1270
1271         * gtk/gtkstyle.c (gtk_default_draw_shadow): handle
1272         xthickness/ythickness of 0 or 1 properly 
1273         (gtk_default_draw_resize_grip): clear the background behind the
1274         resize grips, and align to bottom right if we square the 
1275         area to be drawn.
1276
1277         * gtk/gtkstatusbar.c (gtk_statusbar_init): set horizontal usize on 
1278         statusbar label to 1, so it doesn't make toplevels resize oddly
1279         (gtk_statusbar_size_request): add grip size to request
1280         (gtk_statusbar_size_allocate): hack so the hbox still works with 
1281         the grip size in the request
1282
1283         * gtk/gtktoolbar.c (gtk_toolbar_show_all): override to fix 
1284         bug where showing all on a toplevel makes the toolbar 
1285         button text appear despite the toolbar mode
1286
1287         * gtk/gtkmenubar.c: add internal padding style property
1288
1289         * gtk/gtktoolbar.c: Add internal padding style property; add
1290         shadow type style property
1291
1292         * gtk/gtkmenubar.c (gtk_menu_bar_paint): paint box with widget
1293         state; and put Container::border_width outside the frame
1294
1295         * gtk/gtktextview.c: don't draw focus rectangle if we're in
1296         interior focus mode, we just use blinking cursor
1297
1298 2001-06-04  Havoc Pennington  <hp@redhat.com>
1299
1300         * configure.in: Make gdk-pixbuf have same version number as GTK
1301
1302 2001-06-04  Havoc Pennington  <hp@redhat.com>
1303
1304         * gtk/gtkspinbutton.c: Get rid of stupid g_return_if_fail on 
1305         digits greater than 6. If there actually are limits (which there
1306         likely aren't), should clamp to them not warn.
1307         (gtk_spin_button_new_with_range): don't take log of 0
1308         (gtk_spin_button_size_request): use digits to compute size
1309         request, rather than step increment.
1310
1311         * tests/testgtk.c (create_spins): test larger values of digits
1312         
1313         * gtk/gtkfontsel.c (gtk_font_selection_init): scroll to selected
1314         font on map not expose, so we don't get weirdness during scrolling
1315
1316 2001-06-04  Havoc Pennington  <hp@redhat.com>
1317
1318         * gtk/gtkclist.c (vadjustment_value_changed): Apply fix from
1319         Sam Solon, bug #54577, update value even if not drawable.
1320
1321 2001-06-04  Havoc Pennington  <hp@redhat.com>
1322
1323         * gtk/gtkrange.c (gtk_range_scroll_event): change SCROLL_RIGHT to
1324         SCROLL_LEFT, reported by Thomas Broyer.
1325
1326 2001-06-04  Havoc Pennington  <hp@redhat.com>
1327
1328         * gtk/gtkrange.c (gtk_range_adjustment_value_changed): 
1329         Process updates immediately, to prevent funny lag effect
1330         when scrolling, at some mild potential efficiency cost.
1331
1332 2001-06-04  Havoc Pennington  <hp@redhat.com>
1333
1334         * gtk/gtkrange.c (gtk_range_button_press): on middle click, center
1335         slider on the click.
1336
1337 2001-06-03  Havoc Pennington  <hp@pobox.com>
1338
1339         * gtk/gtkstyle.c (gtk_default_draw_slider): make this special-case
1340         hscale/vscale details, so we can use it for scrollbar as well.
1341
1342         * tests/testgtk.c (reformat_value): honor digits from GtkScale
1343
1344         * gtk/gtkenums.h (GtkTroughType): Remove this enum
1345         (GtkScrollType): add START and END from GtkTroughType
1346
1347         * gtk/gtkstyle.c (gtk_default_draw_slider): was not properly using
1348         its x/y arguments
1349
1350         * gtk/gtkrange.h, gtk/gtkrange.c, gtk/gtkscrollbar.h,
1351         gtk/gtkscrollbar.c, gtk/gtkscale.h, gtk/gtkscale.c,
1352         gtk/gtkhscrollbar.h, gtk/gtkhscrollbar.c, gtk/gtkvscrollbar.h,
1353         gtk/gtkvscrollbar.c, gtk/gtkhscale.h, gtk/gtkhscale.c,
1354         gtk/gtkvscale.h, gtk/gtkvscale.c: Rewrite GtkRange and subclasses.
1355
1356         Notable changes in the process:
1357          
1358         - stepper_size style property is the height for vertical 
1359           ranges, width for horizontal; the other dimension matches
1360           the trough size
1361         - add ability to do NeXT-style steppers (and several other styles
1362           that don't make any sense)
1363         - added min_slider_length, fixed_slider_length properties to
1364           GtkScrollbar
1365         - cleaned some private (or at least useless) functions out of
1366           gtkscale.h    
1367         - moved bindings to GtkScale from subclasses, even arrow keys,
1368           since blind users don't know scale orientation.
1369         - change move_slider action signal to use new GtkScrollType,
1370           remove GtkTroughType argument
1371         - digits rounds the values a range will input to the given 
1372           number of decimals, but will not try to force adjustment 
1373           values set by other controllers. That is, we no longer
1374           modify adjustment->value inside a value_changed handler.
1375         - added getters for GtkScale setters
1376         - middle-click begins a slider drag
1377         
1378 Fri Jun  1 18:54:47 2001  Jonathan Blandford  <jrb@redhat.com>
1379
1380         * gtk/gtktreeview.c: (gtk_tree_view_focus): Initial stab at
1381         getting the focus code to work.
1382         (gtk_tree_view_class_init): Add a bunch of keybindings.
1383
1384         * gtk/gtktreeviewcolumn.c
1385         (gtk_tree_view_column_set_cell_data_func):
1386         s/GtkCellDataFunc/GtkTreeCellDataFunc.
1387         (_gtk_tree_view_column_set_tree_view): Use "notify::model" instead
1388         of "properties_changed" to help justify the death of the latter
1389         signal. (-:
1390
1391         * tests/testtreefocus.c (main): Let some columns be focussable to
1392         test focus better.
1393
1394 2001-06-01  Havoc Pennington  <hp@redhat.com>
1395
1396         * gtk/gtkentry.c (gtk_entry_commit_cb): implement overwrite mode
1397         
1398         * gtk/gtktextview.c (gtk_text_view_commit_handler): don't
1399         overwrite in overwrite mode if we already deleted the selection
1400         and replaced it with new text.  
1401
1402         * gtk/gtklabel.c (gtk_label_select_region_index): if you set the
1403         selection to an empty range, clear the clipboard if we owned it.
1404         (gtk_label_set_selectable): give up selection if we become
1405         unselectable.
1406         (gtk_label_state_changed): override state changed to unselect text
1407         when insensitive
1408         (get_text_callback): add paranoia check that indexes aren't
1409         outside of label->text
1410         (gtk_label_select_region): make -1 for start_offset mean "end of
1411         label," for consistency with GtkEditable
1412
1413         * gtk/gtkmessagedialog.c (gtk_message_dialog_new): honor
1414         GTK_DIALOG_NO_SEPARATOR flag
1415
1416 Fri Jun  1 11:47:11 2001  Owen Taylor  <otaylor@redhat.com>
1417
1418         * gtk/gtkcombo.c (gtk_combo_set_use_arrows_always): Fix 
1419         notifications on non-existant "enable_arrow_keys".
1420         (#53753, Skip Montanaro)
1421
1422 Fri Jun  1 11:31:55 2001  Owen Taylor  <otaylor@redhat.com>
1423
1424         * gdk/gdkrectangle.c (gdk_rectangle_get_type): Add 
1425         GDK_TYPE_RECTANGLE.
1426
1427         * gtk/gtkwidget.c (gtk_widget_class_init): Fix type
1428         of allocation argument be GDK_TYPE_RECTANGLE.
1429
1430 Thu May 31 12:43:57 2001  Owen Taylor  <otaylor@redhat.com>
1431
1432         * gtk/gtkoptionmenu.c: Account for the fact that the border
1433         width is _outside_ the window. (Fixes #54585, bug found
1434         by Bastien Nocera.)
1435
1436 Wed May 30 15:56:30 2001  Owen Taylor  <otaylor@redhat.com>
1437
1438         * gtk/gtksettings.c (gtk_settings_get_property): Validate
1439         value from GDK settings against parameter spec.
1440
1441         * gdk/x11/gdkevents-x11.c (gdk_setting_get): Add assignments
1442         to temporary values and use g_value_transform(), since
1443         thinking that GValue was going to be easy or efficient
1444         to use was, of course, a mistake.
1445
1446         * gtk/gtksettings.c: Add cursor blink setting.
1447         
1448         * gdk/x11/gdkevents-x11.c: Add cursor blink X settings.
1449
1450         * gtk/gtkentry.c: Add cursor blinking.
1451
1452         * gtk/gtktextview.c (gtk_text_view_check_cursor_blink): Use
1453         cursor blink global settings.
1454
1455         * gtk/gtkentry.c (gtk_entry_button_press): Add notification
1456         for :text_position in places where it is missing.
1457
1458 Tue May 29 18:17:11 2001  Owen Taylor  <otaylor@redhat.com>
1459
1460         * autogen.sh (have_libtool): Fix GNU sedism (#55430)
1461
1462 Tue May 29 17:40:29 2001  Owen Taylor  <otaylor@redhat.com>
1463
1464         * configure.in (GTK_DEP_CFLAGS): Use $PKG_CONFIG,
1465         not pkg-config. (#51032)
1466
1467         * gdk/gdkproperty.h: Remove inappropriate G_GNUC_CONST
1468         (fixes #51952, James Henstridge)
1469         
1470 2001-05-27  Alexander Larsson  <alla@lysator.liu.se>
1471
1472         * gtk/gtkstock.h (GTK_STOCK_GO_UP):
1473         Rename to the more correct gtk-go-up.
1474
1475         * gtk/stock-icons/stock_menu_sort_ascending.png:
1476         Added new file.
1477         
1478         * gtk/stock-icons/stock_menu_sort_descending.png:
1479         Changed to show descending instead of ascending.
1480
1481         * gtk/gtkiconfactory.c:
1482         Added menu size icon to sort ascending.
1483
1484         * gtk/stock-icons/Makefile.am:
1485         Added stock_menu_sort_ascending.png.
1486         
1487         * gtk/gtkseparatormenuitem.c:
1488         Use correct typenames.
1489
1490 Sun May 20 20:07:35 2001  Tim Janik  <timj@gtk.org>
1491
1492         * gtk/gtksignal.[hc] (gtk_signal_connect_full): make hanlder id a
1493         gulong as in GSignal.
1494
1495 Fri May 25 19:04:17 2001  Jonathan Blandford  <jrb@redhat.com>
1496
1497         * gtk/gtktreeview.c (gtk_tree_view_calc_size): Remove almost all
1498         instances of GtkCellRenderer in code (all but dnd icon code).
1499         Virtualized in GtkTreeViewColumn.  Now I need to move focus in
1500         there, and I can do multiple Cells per column.
1501
1502         * gtk/gtktreeviewcolumn.c: Proxy all cell calls correctly
1503
1504         * gtk/gtktreemodel.c (gtk_tree_row_reference_new_proxy): fix bug
1505         when model was unreffed prior to removing the row reference.
1506
1507 2001-05-25  Havoc Pennington  <hp@redhat.com>
1508
1509         * gtk/gtkiconfactory.c: fix so that default icons are created if 
1510         you call gtk_stock_list_ids()
1511
1512         * demos/gtk-demo/stock_browser.c (create_model): sort stock items
1513         in list
1514
1515 2001-05-25  Havoc Pennington  <hp@redhat.com>
1516
1517         * gtk/gtkiconfactory.c (gtk_icon_set_get_sizes): get sizes an icon
1518         set can render without falling back to missing image icon
1519
1520         * gtk/gtktextview.c (gtk_text_view_size_request): request full
1521         size of text, instead of random values
1522
1523         * gtk/gtktreeview.c (gtk_tree_view_size_request): request full
1524         size of tree view, instead of random values
1525
1526         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): render fallback
1527         image in an appropriate size
1528
1529         * gtk/gtkstock.h: Rename the stock items including _BUTTON_,
1530         etc. not to include that. i.e. s/GTK_STOCK_BUTTON_OK/GTK_STOCK_OK/
1531
1532         Throughout: fix GTK_STOCK_BUTTON_ instances
1533         
1534         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
1535         gtk/gtkiconfactory.c, gtk/stock-icons/Makefile.am:
1536         Add a bunch of new stock items/icons
1537
1538         * gtk/gtktreeview.c (gtk_tree_view_insert_column_with_data_func):
1539         new function, convenience for inserting columns with a data func
1540
1541         * gtk/gtkiconfactory.c: keep a list of all existing icon factories
1542         (_gtk_icon_factory_list_ids): use list of all factories to
1543         generate a list of all known IDs
1544
1545         * gtk/gtkstock.c (gtk_stock_list_ids): replace
1546         gtk_stock_list_items() with a function that returns all IDs known
1547         including those for GtkIconFactory.
1548
1549 2001-05-25  Hans Breuer  <hans@breuer.org>
1550
1551         * gdk/win32/gdkgc-win32.c : made fil mode GDK_STIPPLED actually
1552         work -> check boxes and radio buttons are drawn now, even on win9x.
1553         Improved line settings a bit, still no clue how to get really dotted
1554         lines on win9x, on NT it's PS_ALTERNATE.
1555
1556         * gdk/win32/gdkwindow-win32.c : use SafeAdjustWindowRect for 
1557         GDK_HINT_MIN_SIZE as well
1558
1559         * gdk/win32/makefile.am : added gdkkeys-win32.c to EXTRA_DIST
1560
1561         * gtk/gtk.def : updated
1562
1563         * gtk/gtktreeprivate.h : change column_drop_func to be a function
1564         pointer not a function pointer pointer
1565
1566         * tests/testdnd.c : include <stdlib.h> for putenv prototype
1567
1568         * tests/testsocket.c : made it compile on win32 again
1569
1570         * tests/makefile.msc : one more test-app uses prop-editor.obj
1571
1572 2001-05-22  Havoc Pennington  <hp@pobox.com>
1573
1574         * gtk/gtkbin.c (gtk_bin_get_child): New function
1575
1576 Wed May 23 20:07:53 2001  Owen Taylor  <otaylor@redhat.com>
1577
1578         * gtk/gtkimcontextsimple.c: Add Mode_Switch to list of keys
1579         to ignore when doing compose processing.
1580
1581 2001-05-22  Joe Shaw  <joe@ximian.com>
1582
1583         * gtk/gtktextiter.c (_gtk_text_btree_get_iter_at_last_toggle): 
1584         Simplify as suggested by Havoc. Just get the last iter and work
1585         backward to the tag instead of getting a line and working back from
1586         there. Fixes passing in an invalid offset to
1587         iter_init_from_byte_offset().
1588
1589 Tue May 22 16:25:27 2001  Jonathan Blandford  <jrb@redhat.com>
1590
1591         * gtk/gtktreeview*.h: 
1592         * gtk/gtkcell*.h:
1593         * gtk/gtk*store.h:
1594         Added patch from Jeff Franks <jcf@tpg.com.au> to add GET_CLASS
1595         macros to all objects.
1596
1597 Tue May 22 15:13:52 2001  Jonathan Blandford  <jrb@redhat.com>
1598
1599         * gtk/gtkcellrenderertext.c
1600         (gtk_cell_renderer_text_set_fixed_size): Evil function to deal
1601         with very large (TM) amounts of text.  May be moved to
1602         GtkCellRenderer in the future, though I'm not sure it wants to be
1603         this accessible.
1604
1605         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_update_button):
1606         More sanity brought to this class.  I like it.
1607
1608         * tests/testtreecolumns.c (ViewColumnModel): Amazingly scary test
1609         case.  Kids, don't try this at home.
1610
1611         * gtk/gtktreemodel.c (gtk_tree_model_get_iter_root): new
1612         convenience function.
1613
1614         * gtk/gtkwindow.c (gtk_window_set_geometry_hints): Fix typo in docs.
1615
1616 2001-05-21  Alexander Larsson  <alexl@redhat.com>
1617
1618         * gtk/gtkfontsel.c:
1619         Added properties. Based on patch by Lee Mallabone.
1620
1621         * gtk/gtkruler.c:
1622         * gtk/gtkhruler.c:
1623         * gtk/gtkvruler.c:
1624         * gtk/gtktext.c:
1625         * gtk/gtktextview.c:
1626         Converted GtkArg to GParam. Based on patches by John Margaglione.
1627
1628         * tests/Makefile.am:
1629         * tests/testtext.c:
1630         Add a property editor to testtext.
1631         
1632 Mon May 21 11:29:21 2001  Owen Taylor  <otaylor@redhat.com>
1633
1634         * gtk/gtk{h,v,}paned.c: Only show the separator if 
1635
1636         * configure.in: Fixed reversed conditional causing all image
1637         libraries to be linked in.
1638
1639 2001-05-21  Joe Shaw  <joe@ximian.com>
1640
1641         * gtk/gtklayout.c (gtk_text_layout_get_lines): Remove the assertion
1642         that top_y needs to be >= 0.
1643
1644 2001-05-11  Havoc Pennington  <hp@pobox.com>
1645         
1646         * gdk/x11/gdkmain-x11.c: Improve error messages for X errors and
1647         losing connection to the X server.
1648
1649 Sun May 20 13:59:20 2001  Owen Taylor  <otaylor@redhat.com>
1650
1651         * configure.in: Start checks for X from pangox/pangoxft
1652         CFLAGS to avoid duplicate libraries.
1653
1654         * gdk/Makefile.am (LDFLAGS): Remove extra -lm.
1655
1656         * configure.in (GDK_PIXBUF_PACKAGES): Fix GDK_PIXBUF_PACKAGES
1657         to include gobject.
1658         
1659 2001-05-18  Alexander Larsson  <alexl@redhat.com>
1660
1661         * gtk/gtkspinbutton.c:
1662         Convert GtkArgs to GParams. Based on patch by John Margaglione.
1663         Also do size request reasonable for MAXDOUBLE. Previously it printed
1664         the limits to a buffer and overran it. Instead do it using log10() and
1665         limit the width to 10 digits.
1666         
1667         * gtk/gtkwidget.c (gtk_widget_get_property):
1668         Correctly handle setting the parent property to NULL.
1669
1670 Fri May 18 15:26:26 2001  Owen Taylor  <otaylor@redhat.com>
1671
1672         * gtk/gtktextview.c (gtk_text_view_style_set): Reset 
1673         style attributes even if the widget isn't realized.
1674
1675         * demos/gtk-demo/main.c: Use a slightly smaller font.
1676
1677 Fri May 18 14:25:20 2001  Owen Taylor  <otaylor@redhat.com>
1678
1679         * gtk/gtkcontainer.c: Remove reallocate-redraws property.
1680         This is something that only a widget writer would ever want
1681         to change.
1682
1683         * gtk/gtksignal.c: Handle G_SIGNAL_TYPE_STATIC_SCOPE for
1684         gtk_signal_emit_by_name().
1685
1686         * gtk/gtkviewport.c: Fix some warnings.
1687
1688         * gtk/gtkwidget.c gtk/gtksizegroup.c: Add "size group" facility
1689         allowing the requisitions of multiple widgets to be grouped
1690         together.
1691
1692         * tests/testgtk.c: Add GtkSizeGroup test
1693
1694         * demos/gtk-demo/sizegroup.c: Add GtkSizeGroup demo.
1695
1696         * demos/gtk-demo/main.c demos/gtk-demo/pixbufs.c: Fix some
1697         warnings.
1698
1699         * configure.in: Switch to using AM_GLIB_GNU_GETTEXT.
1700
1701 2001-04-28  Martin Baulig  <baulig@suse.de>
1702
1703         * gtk/gtkimagemenuitem.[ch]: Renamed gtk_image_menu_item_add_icon()
1704         to gtk_image_menu_item_set_icon() and made it work if there's already
1705         an image.
1706         (gtk_image_menu_item_new): This function doesn't take any arguments anymore.
1707         (gtk_image_menu_item_new_with_label): New function.
1708
1709 Thu May 17 16:20:04 2001  Jonathan Blandford  <jrb@redhat.com>
1710
1711         * demos/gtk-demo/main.c (fontify): It's the worlds ugliest
1712         highlighting code!!!!  The result is okay so long as you don't try
1713         to stress it.  It also highlights a bug in the TextView so it's in
1714         an unproportional font right now until it's fixed.
1715
1716         *demos/gtk-demo/*.c: Clean up code a bit to make it
1717         ugly-parser(TM) friendly. (-:
1718
1719 2001-05-17  Joe Shaw  <joe@ximian.com>
1720
1721         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove the assertions
1722         that x_offset and y_offset must be >= 0. Clip the cursor being drawn
1723         if it is only partially onscreen.
1724
1725 Thu May 17 17:10:13 2001  Owen Taylor  <otaylor@redhat.com>
1726
1727         * gtk/gtkentry.c: Make logical motion and deletion by graphemes, 
1728         not by characters.
1729
1730         * gtk/gtkentry.c: Handle "trailing" returns from Pango when they
1731         are not zero or one; that is, when graphemes of multiple characters
1732         are involved.
1733
1734         * gtk/gtktextlayout.c (line_display_index_to_iter): Remove unnecessary
1735         FIXME.
1736
1737 2001-05-17  Alexander Larsson  <alla@lysator.liu.se>
1738         
1739         * gtk/gtkbbox.c:
1740         Add properties, based on patch by Lee Mallabone.
1741
1742         * gtk/gtknotebook.c:
1743         * gtk/gtktoolbar.c:
1744         Convert from GtkArg to GParam, based on patch by John Margaglione.
1745         
1746         * gtk/gtkhscale.c:
1747         * gtk/gtkvscale.c:
1748         * gtk/gtkhscrollbar.c:
1749         * gtk/gtkvscrollbar.c:
1750         * gtk/gtkrange.c:
1751         Move adjustment property to GtkRange.
1752
1753         * gtk/gtklabel.c:
1754         Setup mnemonics on property changes
1755
1756         * gtk/gtkwidget.c (gtk_widget_get_property):
1757         GdkExtensionMode is an enum, not a flag. Set it with
1758         g_value_set_enum ().
1759
1760         * tests/prop-editor.c:
1761         Better propery editor.
1762
1763         * tests/testgtk.c:
1764         Add new property test. Pass zero to the property editor to
1765         get properties from all derived types.
1766         
1767 Sun May 13 12:01:12 2001  Owen Taylor  <otaylor@redhat.com>
1768
1769         * autogen.sh (have_automake): Require libtool-1.4,
1770         automake-1.4p1.
1771
1772         * acinclude.m4: Remove libtool macros.
1773
1774         * gdk-pixbuf/Makefile.am: Add dependencies to loade
1775         modules.
1776
1777         * gdk/Makefile.am: Add dependency on libgdk_pixbuf.la
1778         for libgdk.
1779
1780         * gtk/Makefile.am: Add dependency on libgdk_pixbuf.la
1781         libgdk.la for libgtk.
1782
1783         * modules/input/Makefile.am: Make modules have full
1784         dependencies.
1785
1786 Wed May 16 14:06:01 2001  Jonathan Blandford  <jrb@redhat.com>
1787
1788         * gtk/gtktreemodel.c (gtk_tree_path_new_from_string): fix bug
1789         #54699 where paths weren't being checked for correctness.
1790
1791 Tue May 15 20:13:24 2001  Jonathan Blandford  <jrb@redhat.com>
1792
1793         * gtk/gtktreeviewcolumn.c: You can now set all sorts of properties
1794         in any order you wan, whether or not the column is added to the
1795         tree, or the tree is realized.  Yay!
1796
1797         * gtk/gtktreeviewcolumn.c
1798         (gtk_tree_view_column_setup_sort_column_id_callback): handle
1799         sorting columns a lot saner
1800
1801         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_reorderable):
1802         new function to actually set wether or not a column is
1803         reorderable.
1804
1805         * gtk/gtktreeview.c (gtk_tree_view_unrealize): Only destroy things
1806         if we have 'em.
1807
1808         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_set_tree_view):
1809         Fix nasty bug where we were showing the button just before
1810         realizing it.  As a result, the parent window was
1811         tree_view->window instead of tree_view->priv->header_window.
1812
1813         * gtk/gtktreeview.c (gtk_tree_view_set_reorderable): new property
1814         to let you easily reorder a list or tree.
1815
1816 2001-05-15  Alexander Larsson  <alla@lysator.liu.se>
1817
1818         * gtk/gtkpacker.c: Apply patch from John Margaglione that converts
1819         from args to properties.
1820
1821 Tue May 15 10:11:59 2001  Owen Taylor  <otaylor@redhat.com>
1822
1823         * gtk/gtkpreview.c: Apply patch from John Margaglione converting
1824         from args to properties. (#51957)
1825
1826         * gtk/gtkscale.c (gtk_scale_class_init): Move install property
1827         calls to after ->set_property call.
1828
1829 Mon May 14 14:56:21 2001  Owen Taylor  <otaylor@redhat.com>
1830
1831         * tests/prop-editor.c: Block against redundant changes.
1832
1833         * gtk/gtkpaned.c gtk/gtk[hv]paned.c: Add position, position_set
1834         properties.
1835
1836 Sun May 13 18:40:04 2001  Owen Taylor  <otaylor@redhat.com>
1837
1838         * gdk/gdkpixmap.h: Remove creative formatting.
1839
1840 Thu May 10 19:22:28 2001  Owen Taylor  <otaylor@redhat.com>
1841
1842         * gtk/gtktogglebutton.c:  Patch from John Margaglione converting to
1843         property API. (#51669)
1844
1845         * gtk/gtkscale.c: Patch from John Margaglione converting to
1846         property API. (#51891)
1847
1848         * gtk/gtkaccellabel.c: Applied patch from Lee Mallabone, converting
1849         to property API. (#50985)
1850
1851 Fri May 11 20:13:44 2001  Tim Janik  <timj@gtk.org>
1852
1853         * gtk/gtkmain.c (gtk_main_do_event): remember widget's double
1854         buffering state across expose event, so we still call end_paint().
1855
1856 2001-05-11  Alexander Larsson  <alexl@redhat.com>
1857
1858         * gtk/gtkhsv.c (paint_triangle):
1859         Expose the ring in the triangle at the correct place when
1860         exposing just a part of the triangle.
1861
1862         * gtk/gtkwindow-decorate.c (gtk_decorated_window_focus_change):
1863         Return FALSE, or window focusing will not work.
1864
1865 2001-05-11  Havoc Pennington  <hp@pobox.com>
1866
1867         * gtk/gtkimage.c (gtk_image_new_from_stock): docs, fixes bug
1868         #54144
1869
1870         * gtk/gtkcolorsel.c (gtk_color_selection_new): docs, fixes
1871         bug #54330
1872
1873 Fri May 11 02:53:57 2001  Tim Janik  <timj@gtk.org>
1874
1875         * gtk/gtktogglebutton.c (gtk_toggle_button_expose): don't
1876         propagate exposes to NULL child.
1877
1878         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed): guard
1879         against not having one of the scrollbars.
1880
1881         * gtk/gtklabel.c (gtk_label_setup_mnemonic): clean up after us,
1882         we don't keep a mnemonic window if we have no mnemonic installed.
1883
1884 Fri May 11 01:05:00 2001  Tim Janik  <timj@gtk.org>
1885
1886         * gtk/gtktypeutils.h: grum, gtk_type_class() is not GNUC_CONST
1887         it has the _important_ side effect of initializing a class.
1888
1889 2001-05-10  Alexander Larsson  <alexl@redhat.com>
1890
1891         * gdk/linux-fb/gdkprivate-fb.h:
1892         Make sure you can compile out the implementation/wrapper assert
1893         macros.
1894
1895         * gdk/linux-fb/gdkdrawable-fb2.c:
1896         Check implementation/wrappers, initialize type for pixmap dummys.
1897
1898         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image):
1899         Hide the cursor if reading from the screen.
1900
1901         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic):
1902         Fix sign bug in tiling code.
1903
1904         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
1905         Handle background pixmaps.
1906
1907 Wed May  9 15:27:22 2001  Jonathan Blandford  <jrb@redhat.com>
1908
1909         * gtk/gtktreeview.c (gtk_tree_view_set_column_drag_function): New
1910         function to let user control where columns are dragged.
1911
1912         * gtk/gtktreeview.c (gtk_tree_view_key_press): Cancel drags if
1913         Escape is pressed.
1914
1915 Wed May  9 09:08:44 2001  Jonathan Blandford  <jrb@redhat.com>
1916
1917         * gtk/gtktreeview.c (gtk_tree_view_class_init): New
1918         "columns_changed" signal.
1919         (gtk_tree_view_motion_draw_column_motion_arrow): Change column
1920         motion code to draw arrows to the side if indicator is outside the
1921         widget.
1922         (gtk_tree_view_map_expanded_rows): Implement.
1923
1924 2001-05-07  Alexander Larsson  <alexl@redhat.com>
1925
1926         * demos/testpixbuf-save.c: 
1927         * demos/testpixbuf-drawable.c:
1928         Include gdkfb.h on linux-fb.
1929
1930 2001-05-07  Alexander Larsson  <alexl@redhat.com>
1931
1932         * gdk/linux-fb/gdkdnd-fb.c (get_toplevel_window_at):
1933         New function for getting toplevel window at position.
1934         (gdk_drag_find_window): Use get_toplevel_window () instead
1935         of gdk_window_get_pointer(). (gdk_drag_status): Use
1936         correct context for getting window.
1937
1938         * gdk/linux-fb/gdkproperty-fb.c (gdk_atom_name):
1939         g_strdup the atom name.
1940
1941         * gdk/linux-fb/gdkwindow-fb.c:
1942         Costmetic fix.
1943
1944         * gtk/gtkdnd.c (gtk_drag_source_handle_event):
1945         Add code for changing cursor on linux-fb backend (same as
1946         win32).
1947
1948 2001-05-07  Federico Mena Quintero  <federico@ximian.com>
1949
1950         * gtk/gtkwindow.c (gtk_window_focus): Test for bin->child being
1951         present before doing anything with it.  Patch from HÃ¥vard KvÃ¥len
1952         <havardk@netcom.no>.  Fixes Ximian bugzilla #2492 (OK, the bug
1953         report was not for the development branch of GTK+, but it applies
1954         anyways).
1955
1956 2001-05-04  Havoc Pennington  <hp@redhat.com>
1957
1958         * configure.in: fix some shell typos
1959
1960         * gtk/gtkcolorsel.c (gtk_color_selection_destroy): warning fix
1961
1962         * gtk/gtkimage.c: handle animations
1963
1964         * gtk/gtkcheckbutton.c (gtk_check_button_size_request): request
1965         border_width * 2, not just border_width
1966
1967         * gtk/gtkscale.c: add "format_value" signal to allow people
1968         to override the way values are drawn.
1969         (gtk_scale_get_value_size): fix width/height mistake,
1970         and compute size from actual displayed text, not 
1971         from made-up text.
1972
1973         * gtk/gtktexttag.c (gtk_text_tag_class_init): fix return type in 
1974         signal registration
1975
1976         * tests/testtext.c: Add "Remove all tags" menu item for testing
1977
1978         * gtk/gtktextbuffer.c (gtk_text_buffer_remove_all_tags): implement
1979
1980         * demos/gtk-demo/main.c (main): add hack so we can find modules
1981         without installing gtk
1982
1983         * demos/gtk-demo/textview.c (insert_text): demo font scaling
1984
1985         * gtk/gtkcellrenderertext.c: Add "scale" property (font scaling
1986         factor)
1987         (gtk_cell_renderer_text_set_property): remove some bogus
1988         g_object_notify
1989
1990         * gtk/gtktexttag.c: add "scale" property which is a font scaling
1991         factor
1992
1993         * gtk/gtktextlayout.c (add_text_attrs): add font scale attribute 
1994         to layout
1995
1996         * gtk/gtktextiter.c (gtk_text_iter_is_start): rename from
1997         gtk_text_iter_is_first
1998
1999 2001-01-06  Hans Breuer  <hans@breuer.org>
2000
2001         * gdk/gdk.def : updated exports
2002
2003         * gdk/win32/makefile.msc : -DGDK_ENABLE_BROKEN otherwise
2004         gdk won't compile anymore
2005  
2006         * gdk/win32/gdkevents-win32.c : initialize ret_val when
2007         processing GDK_FILTER functions, initialize event.key->hardware_keycode.
2008         Improved gdk_flush () to not only do pending drawing operations
2009         but also process all currently pending events. This should make
2010         the behaviour more similar to the X11 version.  
2011
2012         * gdk/win32/gdkgc-win32.c (predraw_set_background) : a background
2013         option needs to be set even if there is no GDK_GC_BACKGROUND.
2014         (gdk_win32_hdc_get) : use predraw_set_background () independent
2015         of value_mask. This allows to draw dashed lines leaving the original
2016         background intact.
2017
2018         * gdk/win32/gdkimage-win32.c (gdk_image_new_bitamp) : free data
2019         after processing, because we can't reuse it as the X11 version does.
2020
2021         * gtk/gtk.def : updated exports
2022
2023         * gtk/makefile.msc.in : added ATK, removed all test apps. (I
2024         would like to get rid of this file again, and use straight
2025         makefile.msc again, as the other Gtk+ subdirs do)
2026
2027         * test/makefile.msc (new file) : build the test apps here
2028
2029 2001-05-05  ERDI Gergo  <cactus@cactus.rulez.org>
2030
2031         * gdk/gdkpango.c (gdk_pango_get_item_properties): Peek
2032         strike-through setting
2033         (gdk_draw_layout_line_with_colors): Render strike-through
2034
2035 Sat May  5 10:06:24 2001  Owen Taylor  <otaylor@redhat.com>
2036
2037         * Release 1.3.5
2038
2039         * configure.in (GTK_MICRO_VERSION): Up to 1.3.5
2040
2041         * NEWS: Updated
2042
2043         * demos/gtk-demo/Makefile.am (EXTRA_DIST): Fix minor
2044         Makefile breakage.
2045
2046 Sat May  5 09:18:30 2001  Owen Taylor  <otaylor@redhat.com>
2047
2048         * demos/gtk-demo/images.c (progressive_timeout): Fix
2049         typo in filename.
2050
2051         * gtk/gtktreeview.c (gtk_tree_view_row_activated): Comment
2052         out FIXME warning; just too annoying.
2053
2054 2001-05-04  Alex Larsson  <alla@lysator.liu.se>
2055
2056         * gdk/linux-fb/gdkcolor-fb.c:
2057         Better error messages.
2058
2059         * gdk/linux-fb/gdkpixmap-fb.c (gdk_pixmap_new):
2060         Initialize abs_x and abs_y.
2061         
2062         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic):
2063         Correct handling of stipple offset.
2064
2065         * gdk/linux-fb/gdkvisual-fb.c (gdk_visual_init):
2066         Treat directcolor framebuffers as truecolor.
2067         
2068 Thu May  3 14:13:49 2001  Owen Taylor  <otaylor@redhat.com>
2069
2070         * INSTALL.in HACKING gtk/gtkaccessible.[ch] gtk/gtk.c: Add
2071         dependency on Atk for accessibility support.
2072
2073         * configure.in **/Makefile.am: Major reworking of substituted
2074         variables for CFLAGS/LIBS to make a lot more sane and 
2075         keep the the compile/link lines a bit shorter.
2076
2077         * gdk/x11/gdkkeys-x11.c: Fix #endif with trailing stuff.
2078
2079 Thu May  3 08:10:54 2001  Owen Taylor  <otaylor@redhat.com>
2080
2081         * gtk/gtktexttag.c (gtk_text_tag_class_init): Fix return
2082         value to be G_TYPE_BOOLEAN, not G_TYPE_INT, also,
2083         use _gtk_boolean_handled_accumulator.
2084
2085 Thu May  3 07:00:09 2001  Owen Taylor  <otaylor@redhat.com>
2086
2087         * gtk/gtktextview.c: Patch from Juan Pablo Mendoza Mendoza
2088         to fix things so clicking inside selection leaves cursor
2089         at point where clicked. (#50324)
2090
2091         * gtk/gtksettings.c (gtk_settings_class_init): Restore
2092         sane value for default double click time.
2093
2094         * tests/testtext.c (test_init): Really path to input modules.
2095
2096 2001-05-03  Sven Neumann  <sven@convergence.de>
2097
2098         * demos/testpixbuf-save.c: include target-specific headers as
2099         done in testpixbuf-drawable.c
2100
2101 Wed May  2 20:36:38 2001  Owen Taylor  <otaylor@redhat.com>
2102
2103         * gtk/gtkentry.c (gtk_entry_real_insert_text): Reduce
2104         new_text_length appropriately when we run into the 
2105         size limit for the entry. (#53445, reported by Jeff Franks)
2106
2107         * tests/testgtk.c (create_entry): Remove most of the
2108         property toggle buttons. Replace with a "Props" button
2109         that brings up a property editor.
2110
2111         * tests/prop-editor.[ch] test/testtreeview.c tests/Makefile.am:
2112         Split the property editor code out for reuse, improve.
2113
2114 Wed May  2 17:26:22 2001  Owen Taylor  <otaylor@redhat.com>
2115
2116         * gdk/x11/gdkevents-x11.c gdk/x11/gdkwindow-x11.c: Always
2117         trap errors around calls to XSetInputFocus since we have
2118         no way of knowing reliably whether we are viewable or
2119         not. (#53947)
2120
2121 Tue May  1 09:21:23 2001  Jonathan Blandford  <jrb@redhat.com>
2122
2123         * gtk/gtktreeview.c (gtk_tree_view_button_release_drag_column):
2124         fix bug in dropping columns.  Moving columns now basically works
2125         modula some fine tuning.
2126
2127 Tue May  1 19:09:21 2001  Jonathan Blandford  <jrb@redhat.com>
2128
2129         * gtk/gtktreeview.c (gtk_tree_view_horizontal_autoscroll): Add
2130         autoscroll support.  It mostly works, but could use some fine
2131         tuning.
2132         * gtk/gtktreeview.c (gtk_tree_view_button_release_drag_column):
2133         Actually move the column.
2134
2135 Mon Apr 30 20:29:27 2001  Owen Taylor  <otaylor@redhat.com>
2136
2137         * gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtkoptionmenu.c 
2138           gtk/gtkspinbutton.c gtk/gtkstyle.c gtk/gtkwidget.c:
2139           New default theme! A slighly improved version of the 2.0 Raleigh
2140           theme, with Windows-esque focus/drawing default. 
2141           (GtkWidget::interior_focus defaults to TRUE.)
2142
2143         * gtk/gtkstyle.[ch]: Add a text_aa color halfway between text and base.
2144
2145 2001-04-30  Havoc Pennington  <hp@pobox.com>
2146
2147         * tests/testtext.c (line_numbers_expose): fix to work with
2148         gtk_paint_layout change
2149
2150 Mon Apr 30 19:18:07 2001  Owen Taylor  <otaylor@redhat.com>
2151
2152         * gtk/gtkstyle.[ch] gtk/gtkaccellabel.c gtk/gtkcellrenderertext.c
2153           gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c gtk/gtkprogressbar.c
2154           gtk/gtkvruler.c gtk/gtkvscale.c: Add an extra parameter
2155           use_text to gtk_paint_label() to deal with style->bg[] vs style->text[].
2156
2157         * gtk/gtkbbox.c gtk/gtkdialog.c: Tweak padding some to deal
2158           with GtkWidget::interior_focus = TRUE better.
2159
2160         * gtk/gtkbutton.c: Switch ::default_spacing to ::default_border,
2161         ::default_outside_border for more flexibility.
2162
2163         * gtk/gtkwidget.c (gtk_widget_style_get_valist): Remove 
2164         G_VALUE_NO_COPY_CONTENTS, to correspond with the recent
2165         change that had to be made with g_object_get.
2166
2167 Sun Apr 29 20:13:40 2001  Jonathan Blandford  <jrb@redhat.com>
2168
2169         * gtk/gtktreeview.c (gtk_tree_view_get_columns): new function.
2170         (gtk_tree_view_move_column_after): Clean up interface. 
2171
2172 Sun Apr 29 03:02:02 2001  Tim Janik  <timj@gtk.org>
2173
2174         * gtk/gtkpacker.h:
2175         * gtk/gtkenums.h: moved GtkAnchorType and GtkSideType from gtkpacker.h
2176          to gtkenum.h.
2177
2178         * gtk/gtkmain.c (gtk_main_do_event): silence compiler (GDK_SETTING not
2179         handled in switch).
2180
2181         * gtk/Makefile.am:
2182         (gtk.defs): generate enum portions with  glib-mkenums.
2183         (gtktypebuiltins_evals.c): generate this with glib-mkenums.
2184         got rid of makeenums.pl and makeenums.awk in distributed tarballs.
2185         
2186         * gtk/gtkaccelgroup.c (gtk_accel_group_add): refined havocs warning
2187         addition.
2188
2189         * docs/Changes-2.0.txt: keep a note on signal handlers now
2190         not getting emitted during the emission they were connected within.
2191
2192 2001-04-28  Havoc Pennington  <hp@pobox.com>
2193
2194         * gtk/gtkcolorsel.c (palette_new): fix bug in tooltip
2195
2196 2001-04-24  Havoc Pennington  <hp@redhat.com>
2197
2198         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_previous_line): 
2199         (gtk_text_layout_move_iter_to_next_line): fix these two for
2200         invisible text, lots of other stuff still hosed.
2201
2202         * gtk/gtkcolorsel.c (gtk_color_selection_set_change_palette_hook):
2203         new function, replaces the get/set palette stuff. This function 
2204         is intended for use by libgnomeui which should set the hook to a
2205         thing which sets the palette in GConf, and we need the
2206         GConf-to-xsettings proxy which will result in the change being
2207         propagated back to the GTK app.
2208
2209         * gtk/gtkaccelgroup.c (gtk_accel_group_add): add note to warning 
2210         about unusable signals that it may be because the signal has 
2211         parameters.
2212
2213         * gtk/gtkwidget.c (gtk_widget_modify_style): always copy the
2214         style, otherwise gtkrc.c won't know to create a new GtkStyle for
2215         it.
2216         (gtk_widget_modify_color_component): call
2217         gtk_widget_modify_style() so the rc style will get copied.
2218         (gtk_widget_modify_font): ditto
2219
2220         * gtk/gtkrc.c: make a couple variables static
2221
2222         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): hide
2223         help button by default, since it does nothing
2224
2225         * gtk/gtkcolorsel.c: add tooltips, work on key navigation, fool
2226         around with UI
2227
2228         * gtk/gtkentry.c (gtk_entry_realize): request enter/leave notify
2229         so we can have tooltips
2230
2231         * gtk/gtkhsv.c (gtk_hsv_realize): request enter/leave notify so we
2232         can have tooltips
2233
2234         * gdk/gdkimage.h: mark gdk_image_new_bitmap with
2235         GDK_ENABLE_BROKEN, because its memory behavior is completely
2236         hosed.
2237
2238         * gtk/gtknotebook.c: remove key press handler, replace with
2239         binding set, add numeric keypad support
2240
2241         * gtk/gtktextview.c (gtk_text_view_class_init): accept KP_Delete
2242
2243         * gtk/gtktext.c (gtk_text_key_press): add a bunch of KP keysyms
2244
2245         * gtk/gtkentry.c (gtk_entry_class_init): accept GDK_KP_Delete in
2246         addition to plain Delete
2247
2248         * gtk/gtktextview.c (gtk_text_view_key_press_event): accept
2249         GDK_KP_Enter in addition to GDK_Return
2250
2251         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): connect to
2252         activate on entry instead of key press
2253         (gtk_font_selection_on_clist_key_press): get
2254         rid of this signal handler, not needed with new font sel.
2255
2256         * gtk/gtkfilesel.c (gtk_file_selection_key_press): remove a
2257         no-longer-needed emit_stop_by_name(), just return TRUE
2258
2259         * gtk/gtkhscrollbar.c, gtk/gtkvscrollbar.c: remove keybindings
2260         cruft, this widget is no longer focusable.
2261
2262         * gtk/gtkrange.h, gtk/gtkrange.c, gtk/gtkvscale.c,
2263         gtk/gtkhscale.c: Get rid of trough_keys virtual function, add
2264         move_slider action signal, add binding set for vscale/hscale, in
2265         the process support numeric keypad
2266
2267         * gtk/gtkentry.c (gtk_entry_class_init): Add keypad bindings; 
2268         make GDK_Return and GDK_KP_Enter activate the entry via 
2269         binding set, instead of hardcoded.
2270
2271 Fri Apr 27 20:27:21 2001  Jonathan Blandford  <jrb@redhat.com>
2272
2273         * gtk/gtktreeview.[hc]: Massive reorder/cleanup of a lot of the
2274         code.  Some documentation added.
2275
2276 2001-04-27  Havoc Pennington  <hp@redhat.com>
2277
2278         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fix warning
2279
2280         * gtk/gtkmessagedialog.c (gtk_message_dialog_init): make messages selectable
2281
2282         * gtk/gtkentry.c (gtk_entry_real_insert_text): don't strip
2283         line/para separators
2284         (gtk_entry_create_layout): set single paragraph mode on the layout
2285
2286         * gtk/gtkbutton.c (gtk_button_new_from_stock): don't put much
2287         spacing between the image and label; instead, inside a button box 
2288         the button will get extra space that will go there, but if people 
2289         configure button box for 0 chubbiness, then there's no spacing.
2290
2291         * gtk/gtkbbox.c (gtk_button_box_class_init): Make child ipadding
2292         and min/max size style properties, so people can tune their
2293         chubbiness.
2294
2295         * tests/testgtk.c (make_toolbar): remove calls to removed toolbar
2296         functions
2297
2298         * gtk/gtktoolbar.c (gtk_toolbar_class_init): Make space_size,
2299         space_style, and button_relief into style properties, remove
2300         functions for setting them
2301         
2302         * gtk/gtkmenu.c (gtk_menu_key_press): handle menu bar accel to pop 
2303         it back down
2304
2305         * gtk/gtkoptionmenu.c (gtk_option_menu_get_props): free boxed
2306         types from gtk_widget_style_get
2307
2308         * gtk/gtkmenubar.c (gtk_menu_bar_set_shadow_type): Remove, replace
2309         with a style property.
2310
2311         * gdk/x11/gdkevents-x11.c: namespace the settings
2312
2313         * gtk/gtkmenubar.c: Add F10 accelerator to move between menubars.
2314
2315         * gtk/gtksettings.c (gtk_settings_class_init): remove code with
2316         side effects from inside g_assert(), so that G_DISABLE_ASSERT can
2317         be used. Also, translate doc strings for settings. Also, namespace
2318         the double-click-time property. Also, remove bell properties crap.
2319
2320 2001-04-27  Sven Neumann  <sven@gimp.org>
2321
2322         * Makefile.am: before creating links, check if pkg-config files
2323         exist for the default target. Otherwise link to the pkg-config files
2324         that got installed with this build.
2325
2326 Thu Apr 26 19:11:46 2001  Jonathan Blandford  <jrb@redhat.com>
2327
2328         * gtk/gtktreeview.c (gtk_tree_view_motion): clean up column
2329         dragging code.  Revealed some (potential) GdkWindow bugs.
2330
2331         * gdk/x11/gdkwindow-x11.c (gdk_window_reparent): add
2332         _gdk_window_init_position to the end of reparent to fix the case
2333         of reparenting when new_x != old_x and new_y != old_y.
2334
2335 Thu Apr 26 10:54:50 2001  Owen Taylor  <otaylor@redhat.com>
2336
2337         * gtk/gtkentry.c (strstr_len): Fix optimization that
2338         was correct for the use here, but completely incorrect
2339         in general.
2340
2341 Thu Apr 26 10:40:41 2001  Owen Taylor  <otaylor@redhat.com>
2342
2343         * gtk/gtkwindow.h: Remove deprecation of gtk_window_set_default_size()
2344         until patch adding gtk_window_set_size() is recommitted. 
2345
2346         * **Makefile.am configure.in gdk/x11/gdkim-11.c
2347           gtk/gtkmain.c gtk/gtkimmulticontext.c gtk/gtkmain.c
2348           gtk/gtkrc.c: Remove all traces of -DX_LOCALE support.
2349           (#10784)
2350
2351 Wed Apr 25 12:16:36 2001  Owen Taylor  <otaylor@redhat.com>
2352
2353         * gdk/X11/gdkevents-x11.c (gdk_event_translate): Test for 
2354         window == NULL in a number of cases.
2355
2356         * tests/testdnd.c: Set module path for gdk-pixbuf.
2357
2358 Thu Apr 19 16:11:07 2001  Owen Taylor  <otaylor@redhat.com>
2359
2360         * gtk/Makefile.am xembed.h: File containing #defines
2361         for XEMBED protocol.
2362
2363         * gtk/gtkplug.[ch] gtk/gtksocket.[ch]: 
2364
2365         - Change protocol from old plug/socket specific protocol
2366           to XEMBED draft
2367         - Various fixes to work with GTK+-2.0
2368
2369         Still quite a bit of work to do here to handle initiation
2370         from the socket side (as specified by XEMBED), to handle
2371         the more advanced features of XEMBED, and to figure out
2372         a good way to handle same-app embedding with less overhead
2373         than using full XEMBED.
2374
2375 Wed Apr 18 16:04:28 2001  Owen Taylor  <otaylor@redhat.com>
2376
2377         * gtk/gtkwindow.[ch] (gtk_window_real_set_focus): Keep
2378         track of whether the toplevel has the focus; only send
2379         focus-in events to the focus widget when the window
2380         actually has the focus.
2381
2382 2001-04-25  Havoc Pennington  <hp@pobox.com>
2383
2384         * gtk/gtkwindow.h: set_decorations_hint and set_functions_hint
2385         were still in the header
2386
2387 2001-04-24  Alexander Larsson  <alexl@redhat.com>
2388
2389         * gtk/gtkclist.[ch]:
2390         * gtk/gtkctree.c:
2391         When there is a row highlighted for D'n'D it must alse
2392         be painted hightlighted on exposes. Otherwise exposes from
2393         the icon being dragged will mess up the hightlight.
2394
2395         * gtk/gtkfontsel.c:
2396         Don't recenter selected font when exposing the font family
2397         clist. This means you can now actually scroll the font family
2398         list.
2399
2400         * gtk/gtknotebook.c:
2401         Fix focus movement on scrolling tabs that are placed on the left
2402         and right.
2403
2404 2001-04-21  Havoc Pennington  <hp@pobox.com>
2405
2406         * gtk/gtktextdisplay.c (gtk_text_layout_draw): handle 0-height
2407         empty/invisible lines.
2408
2409         * gtk/gtktextiter.c (gtk_text_iter_set_visible_line_offset)
2410         (gtk_text_iter_set_visible_line_index): new functions to set
2411         indexes excluding invisible text
2412
2413         * gtk/gtktextlayout.c (line_display_iter_to_index): get visible 
2414         index
2415
2416         * gtk/gtktextiter.c (gtk_text_iter_get_visible_line_index)
2417         (gtk_text_iter_get_visible_line_offset): new functions to 
2418         get indexes excluding invisible text
2419
2420         * gtk/gtkmessagedialog.c (gtk_message_dialog_init): strip out a
2421         bunch of extra padding that served no purpose
2422
2423         * gtk/gtkdialog.c: Make all the spacings configurable via style
2424         properties, for chubbiness configuration in themes
2425
2426         * tests/testtext.c: fix path to the immodules.
2427         
2428 Mon Apr 23 18:57:03 2001  Jonathan Blandford  <jrb@redhat.com>
2429
2430         * gtk/gtksocket.c (gtk_socket_filter_func): add missing '}' that
2431         got munched by #endif.
2432
2433         * gtk/Makefile.am (gtk_plug_c_sources): add missing '\'
2434
2435         * gtk/gtktreeview.c: Refactored code to clean up a number of
2436         events.
2437
2438         * gtk/gtktreemodel.c (gtk_tree_path_compare): Switched return
2439         values to make consistent with other functions.  Spotted by Jeff
2440         Franks <jcf@tpg.com.au>.
2441
2442         * gtk/gtktreeview.h (struct _GtkTreeViewClass): Fixes to signal
2443         declaration spotted by Jeff Franks <jcf@tpg.com.au>.
2444
2445 2001-04-23  Sven Neumann  <sven@gimp.org>
2446
2447         * gtk/Makefile.am
2448         * gtk/gtkplug.c
2449         * gtk/gtksocket.c: on request of Owen, reverted my last change 
2450         and exclude gtkplug.c/gtksocket.c from the build for non-X11 targets
2451
2452 2001-04-23  Sven Neumann  <sven@gimp.org>
2453
2454         * gtk/gtkplug.c: put into #ifdef GDK_WINDOWING_X11 to make GTK+
2455         compile for non-X11 targets again
2456
2457 2001-04-20  Alexander Larsson  <alexl@redhat.com>
2458
2459         * gtk/gtkcolorsel.[ch]:
2460         API Change. Take GdkColor arguments instead of gdouble *.
2461         Leave the old gtk_color_selection_set_color for compatibility,
2462         but marked deprecated.
2463         Do correct rounding when converting RGB <-> HSV.
2464         
2465         * gtk/gtkcolorseldialog.c:
2466         * tests/testgtk.c:
2467         Use new GtkColorSelection API.
2468
2469         * gtk/gtkhsv.c:
2470         Fix problem selecting colors in triangle when Hue is 330.
2471         Fix some black dots around the HSB triangle.
2472         
2473         * gtk/gtkfilesel.c:
2474         return FALSE from the focus_in_event handler to fix focus problems.
2475
2476 2001-04-18  Havoc Pennington  <hp@redhat.com>
2477
2478         * gtk/gtkwindow.c (gtk_window_class_init): add signals and binding
2479         set, so keybindings are configurable    
2480         (gtk_window_activate_default): Change to activate the focus widget
2481         instead if there's a focus widget, to be consistent with the
2482         behavior that previously existed in key_press_event
2483
2484 2001-04-18  Havoc Pennington  <hp@redhat.com>
2485
2486         * gdk/gdkkeyuni.c: Handle numeric keypad keysyms; bug #50201
2487
2488 2001-04-18  Havoc Pennington  <hp@redhat.com>
2489
2490         Close bug #50615:
2491         
2492         * gtk/gtkstyle.c (gtk_default_draw_layout): Use text_gc to draw
2493         the layout
2494
2495         * gtk/gtktext.c: Use base/text instead of bg/fg throughout
2496
2497         * gtk/gtkentry.c: Use base/text instead of bg/fg throughout
2498
2499         * gtk/gtktextdisplay.c: Use base/text instead of bg/fg throughout
2500         
2501         * gtk/gtkstyle.c (gtk_style_init): make GTK_STATE_SELECTED default
2502         to blue for base, in addition to bg
2503         
2504 2001-04-18  Havoc Pennington  <hp@redhat.com>
2505
2506         * tests/testgtk.c (create_image): allow shrinking the image window
2507         to test that we clip to allocation.
2508
2509         * gtk/gtkimage.c (gtk_image_expose): clip to allocation,
2510         #9845
2511
2512         * gtk/gtkenums.h: move GtkWrapMode in here, #50472
2513
2514 Wed Apr 18 14:23:14 2001  Owen Taylor  <otaylor@redhat.com>
2515
2516         * gdk/x11/gdkimage-x11.c (gdk_image_new): Try changing
2517         mode on shm segments to 0600. We'll see who complains.
2518
2519         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Call
2520         _gdk_windowing_window_destroy() AFTER recursing through
2521         children.
2522
2523         * tests/Makefile.am (noinst_PROGRAMS): Build testsocket,
2524         testsocket_child on X.
2525
2526         * tests/testsocket[_child].c: Fix uses of
2527         gtk_window_get_default_accel_group().
2528
2529         [ Merge patch from Ramiro Estrugo  <ramiro@eazel.com> from gtk-1-2 ]
2530
2531         * gdk/gdkimage.c: (gdk_image_get):
2532         Deal with the possibility that XGetImage() might return NULL.
2533         Allocate the GdkImagePrivate structure only after XGetImage()
2534         succeeds in order not to dereference a NULL ximage pointer.  This
2535         prevents a core dump when XGetImage() fails - which is unlikely,
2536         but can happen due to race conditions accessing the geometries of
2537         drawables.  An x error will still be triggered, but the gdk image
2538         wrapper at least wont seg fault.
2539         
2540 2001-04-18  Havoc Pennington  <hp@redhat.com>
2541
2542         * gtk/gtkimage.c: fix to properly queue resizes when the image is
2543         set
2544
2545         * gtk/gtktextview.c (gtk_text_view_do_popup): desensitize Paste
2546         if the insertion point isn't editable
2547
2548         * demos/gtk-demo/images.c: Added a GtkImage demo
2549
2550         * demos/gtk-demo/drawingarea.c: drawing area demo
2551         
2552         * demos/gtk-demo/menus.c (create_menu): cleanups
2553
2554 Wed Apr 18 12:15:52 2001  Owen Taylor  <otaylor@redhat.com>
2555
2556         * gdk/x11/gdkwindow-x11.c gdk/x11/gdkwindow-x11.h 
2557           gdk/x11/gdkevents-x11.c: Introduce an extra child
2558         of toplevel windows that serves to hold the focus to
2559         avoid events being delivered to embedded windows.
2560
2561         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Introduce
2562         some extra variables to clean up code and reduce the
2563         number of casts.
2564
2565         * gdk/x11/gdkwindow-x11.h (struct _GdkXPositionInfo): Use
2566         guint for 1 bit bit fields, not gboolean.
2567
2568 Wed Apr 18 10:04:23 2001  Owen Taylor  <otaylor@redhat.com>
2569
2570         * gtk/gtktooltips.c (gtk_tooltips_paint_window): Return FALSE,
2571         not TRUE. (Fixes #52925)
2572
2573 Tue Apr 17 18:05:34 2001  Owen Taylor  <otaylor@redhat.com>
2574
2575         * Released 1.3.4
2576
2577         * NEWS: Updated
2578
2579         * gtk/gtktextview.c (gtk_text_view_class_init): Fix to not
2580         use GTK_TYPE_ENUM.
2581
2582 Tue Apr 17 13:47:12 2001  Owen Taylor  <otaylor@redhat.com>
2583
2584         * configure.in: Don't put -lgthread in GLIB_LIBS, GLIB_DEPLIBS
2585
2586         * gtk/gtktypeutils.h gtk/gtksignals.h: Restore proper parameter
2587         names to compatibility #defines so docs work.
2588
2589         * gtk/gtkenums.h: Remove GtkMenuFactoryType
2590
2591         * gtk/gtkwindow.c gtk/gtkdnd.c: Docs cleanups.
2592
2593         * configure.in: Don't include -lgthread in GLIB_LIBS, GLIB_DEPLIBS
2594
2595         * tests/testgtkrc: No magenta cursors, please.
2596
2597         * README.in INSTALL.in HACKING README.cvs-commits: Updated.
2598
2599         * gtk/gtkenums.h (enum): Remove left over GtkMenuFactoryType.
2600         
2601 Mon Apr 16 14:38:41 2001  Owen Taylor  <otaylor@redhat.com>
2602
2603         * gtk/gtklist.c gtk/gtklistitem.c: Remove explicit pointer
2604         grabs, since they are no longer necessary.
2605
2606         * gtk/gtkcombo.c (gtk_combo_popup_button_press): Fix #52926
2607         by signal_connect() and call gtk_button_pressed() rather
2608         than signal_connect_after().
2609
2610         * tests/testgtk.c: Restore radio menu items to combos 
2611         since they'll look OK with Raleigh, and it is easier
2612         than finishing the process of removing them that was
2613         started earlier.
2614
2615 2001-04-16  Hans Breuer  <hans@breuer.org>
2616
2617         * gdk/gdk.def :
2618         * gtk/gtk.def : added all exports required to link PyGtk 0.7.1
2619
2620         * gdk/gdkfont.h : #define GDK_TYPE gdk_font_get_type ()
2621         we are interested in the functions return value not the function address
2622         * gdk/gdkvisual.h : same for GDK_TYPE_VISUAL
2623
2624         * gtk/makefile.msc.in : reflect movement of GDK_TYPEs from gtk to gdk
2625
2626 2001-04-14  Hans Breuer  <hans@breuer.org>
2627
2628         * gdk/gdk.def :
2629         * gdk/makefile.msc : updated
2630
2631         * gdk/win32/gdkdrawable.win32 (gdk_win32_draw_rectangle) : if modus is 
2632         "fill with tile" do so with new helper function gdk_win32_draw_tiles 
2633         (the testgtk::text backgound pixmap is drawn again)
2634         Changed SetTextAlign before pango_win32_render to TA_BASELINE to reflect 
2635         Win32 Pango change
2636         * gdk/win32/gdkprivate-win32.h : prototype for gdk_win32_draw_tiles
2637
2638         * gdk/win32/gdkproperty-win32.c : first implementation of gdk_setting_get
2639         Not sure if the returned settings have the right unit, because I couldn't
2640         find any docs for the X version ...
2641
2642         * gtk/gtk.def :
2643         * gtk/makefile.msc.in : updated
2644
2645 Thu Apr 12 17:41:17 2001  Owen Taylor  <otaylor@redhat.com>
2646
2647         * gtk-2.0.m4: Fix up to refer to GTK+, not to GLib; fix some
2648         wording problems. (Compared to version from Johannes Stezenbach to
2649         check correctness.)
2650
2651 Thu Apr 12 21:04:26 2001  Tim Janik  <timj@gtk.org>
2652
2653         * gtk/gtktreeview.c (_gtk_tree_view_column_start_drag): get
2654         this to compile.
2655
2656 2001-04-12  Anders Carlsson  <andersca@codefactory.se>
2657
2658         * gtk/gtkcellrenderertextpixbuf.c (gtk_cell_renderer_text_pixbuf_class_init): It's pixbuf_pos,
2659         not pixbufpos.
2660
2661         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): Fix small typo.
2662
2663         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property): xpad and ypad
2664         are unsigned insts, therefore use g_value_set_uint.
2665         (gtk_cell_renderer_set_property): Likewise, use g_value_get_uint.
2666
2667 Sun Apr  8 05:36:06 2001  Jonathan Blandford  <jrb@redhat.com>
2668
2669         * gtk/gtktextview.c (gtk_text_view_class_init): fix a fixme.
2670
2671         * gtk/gtkcellrendertoggle.c: change GTK_TYPE_POINTER to
2672         GTK_TYPE_STRING.
2673
2674         * gtk/gtktreeview.c: New functions to allow initial column
2675         dragging work.
2676
2677         * gtk/gtktreeviewcolumn.c: Initial column dragging support.
2678
2679         * tests/testtreefocus.c: give dave some love.
2680
2681         * tests/testtreesort.c: Modify test to check really long samples.
2682
2683 2001-04-11  Alexander Larsson  <alexl@redhat.com>
2684
2685         * gtk-2.0.m4: Pass pkg-config options
2686         before the other args so it works even if
2687         POSIXLY_CORRECT is set.
2688
2689 Mon Apr  9 19:02:07 2001  Tim Janik  <timj@gtk.org>
2690
2691         * configure.in (GTK_MICRO_VERSION): increment version to 1.3.4 (binary
2692         0, interface 0).
2693
2694 2001-04-04  Denis Oliver Kropp  <dok@convergence.de>
2695
2696         * gtk/gtkcalendar.c (gtk_calendar_button_press):
2697         check for action_func != NULL
2698
2699 2001-04-04  Sven Neumann  <sven@gimp.org>
2700
2701         * tests/testgtk.c (test_init): corrected path to gtk.immodules
2702
2703 Wed Apr  4 09:18:18 2001  Tim Janik  <timj@gtk.org>
2704
2705         * Released Gtk+-1.3.3.
2706
2707 Wed Apr  4 07:42:23 2001  Tim Janik  <timj@gtk.org>
2708
2709         * gdk/Makefile.am (EXTRA_DIST): add makeenums.pl to EXTRA_DIST.
2710
2711 Wed Apr  4 04:13:18 2001  Tim Janik  <timj@gtk.org>
2712
2713         * gtk/stock-icons/Makefile.am: stay in builddir and read/write
2714         files to/from source dir. (if we don't stay in builddir, we
2715         can't reach make-inline-pixbuf.
2716
2717         * gdk/Makefile.am (gdkenumtypes.c): add $(srcdir) to mekeenums.pl
2718         deps.
2719
2720         * configure.in (GTK_MICRO_VERSION): up and away (1.3.3 bin/interface
2721         ages 0).
2722
2723 Tue Apr  3 15:04:45 2001  Jonathan Blandford  <jrb@redhat.com>
2724
2725         * gtk/gtktreemodelsort.h:  removed set_sort_column, as it was
2726         moved to the GtkTreeSortable interface.
2727
2728         * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
2729         Make more efficient (fixes #50262).
2730
2731 Tue Apr  3 13:55:37 2001  Owen Taylor  <otaylor@redhat.com>
2732
2733         * NEWS: Updated.
2734
2735         * configure.in: Remove support for uninstalled glib.
2736
2737         * gtk/gtkdnd.c (gtk_drag_highlight_expose): Return FALSE as
2738         so as not to stop emission.
2739
2740         * gtk-config-2.0.in: Exit with an error message that gtk-config-2.0
2741         is no longer supported.
2742
2743         * Makefile.am gtk/Makefile.am tests/*: Moved all tests
2744         into tests, change build order to build modules before
2745         gtk/.
2746
2747         * modules/input/Makefile.am: Move gtk-query-immodules-2.0 invocation
2748         to here.
2749
2750 Tue Apr  3 13:52:57 2001  Tim Janik  <timj@gtk.org>
2751
2752         * gtk/gtkitemfactory.[hc]: changed gtk_item_factory_dump_items()
2753         and gtk_item_factory_dump_rc() GtkPatternSpec argument to
2754         GPatternSpec. this is actually unlikely to cause breakage in
2755         third-party apps since except for gle, pretty much ever caller
2756         passes NULL here.
2757
2758         * gtk/gtkbindings.[hc]: removed gtk_pattern_*() API.
2759
2760         * *.c: use g_pattern_*() API.
2761
2762         * docs/Changes-2.0.txt: GtkPatternSpec->GPatternSpec updates.
2763
2764         * gtk/gtkstyle.c (gtk_default_draw_resize_grip): assert unhandled
2765         directions aren't passed in.
2766
2767         * gtk/gtksettings.[hc] (_gtk_settings_parse_convert): export conversion
2768         functionality to be usable from gtkstyle.c as well, give precedence
2769         for conversion to user-supplied parsers.
2770         s/_gtk_rc_property_parser_for_type/_gtk_rc_property_parser_from_type/;
2771
2772         * gtk/gtkstyle.c (_gtk_style_peek_property_value): use
2773         _gtk_settings_parse_convert() for rcporperty value conversion.
2774
2775 2001-04-03  Alexander Larsson  <alexl@redhat.com>
2776
2777         * gdk/linux-fb/gdkevents-fb.c:
2778         Add empty gdk_setting_get().
2779
2780 Tue Apr  3 05:09:07 2001  Tim Janik  <timj@gtk.org>
2781
2782         * gtk/gtkmain.c (_gtk_boolean_handled_accumulator): use more elaborate
2783         variable names.
2784         
2785         * gtk/makeenums.pl: touch this so enum files get remade.
2786
2787 Mon Apr  2 19:36:57 2001  Jonathan Blandford  <jrb@redhat.com>
2788
2789         * gtk/gtktreestore.c (gtk_tree_store_init):  Bug fix to make trees
2790         work again when not sorted.
2791
2792         * gtk/gtktreeview.c (gtk_tree_view_class_init): Add "collapse_row"
2793         and "expand_row" signal, closing bug 52578.
2794
2795         * gtk/gtktreeview.c (gtk_tree_view_expand_row): Add signal
2796         support.
2797
2798         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): Add signal
2799         support.
2800
2801 Mon Apr  2 18:18:07 2001  Owen Taylor  <otaylor@redhat.com>
2802
2803         * gdk/gdkevents.h: Add GdkEventSetting event for notification
2804         of changes to system settings, gdk_setting_get() to retrieve
2805         a single system setting.
2806
2807         * gdk/x11/gdkevents-x11.c: Bridge gdk_setting_get() and GdkEventSetting
2808         to the draft XSETTINGS mechanism.
2809
2810         * gdk/x11/xsettings-{common,client}.[ch]: Sample-implementation of
2811         XSETTINGS.
2812
2813         * gtk/gtkmain.c gtk/gtksettings.[ch]: Propagate notification
2814         of GDK settings changes to the GtkSettings object.
2815
2816         * gdk/gdkevents.[ch] gdk/gtk/gtksettings.c: Hook up the
2817         double-click-timeout property to GDK.
2818
2819         * gdk/gdkcolor.[ch] gdk/gdkvisual.h gdk/gdkevent.[ch] gdk/gdkfont.[ch]:
2820         Define GDK boxed types here.
2821
2822         * gdk/Makefile.am gdk/makeenums.pl: Generate source files
2823         gdk/gdkenumtypes.[ch] for enum definitions.
2824
2825         * gtk/gtkcompat.h: Add defines for GTK_TYPE_GDK_*
2826         * gtk/gtk-boxed.defs: Comment out GDK types
2827         * gtk/gtktypeutils.h: Remove GDK types
2828         * gtk/Makefile.am: No longer scan GDK headers for enumerataions
2829
2830 Mon Apr  2 16:41:08 2001  Owen Taylor  <otaylor@redhat.com>
2831
2832         * Applied patch from Ron Steinke to add signal accumulators
2833         so that signals with the convention 'TRUE return means
2834         handled' stop emission on a TRUE return.
2835
2836         * gtk/gtkmain.[ch]: Add private accumulator 
2837         _gtk_boolean_handled_accumulator, used throughout GTK+.
2838         
2839         * gtk/gtkspinbutton.c: Add accumulator for ::output.
2840
2841         * gtk/gtktipsquery.c: Add accumulator for ::widget_selected
2842         
2843         * gtk/gtkwidget.c: Add accumulators for event signals,
2844         ::drag_motion, ::drag_drop. Use _gtk_boolean_handled_accumator
2845         for ::mnemonic-activate.
2846
2847         * gtk/gtkwindow.c: Add accumulator for ::frame_event
2848
2849 Mon Apr  2 16:24:21 2001  Owen Taylor  <otaylor@redhat.com>
2850
2851         * gtk/gtkwidget.c: Add missing include.
2852
2853 Mon Apr  2 16:56:15 2001  Jonathan Blandford  <jrb@redhat.com>
2854
2855         * gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new
2856         marshaller.
2857
2858         * gtk/gtktreemodel.c (gtk_tree_model_range_changed): change
2859         "changed" signal to "range_changed".
2860
2861         * gtk/gtktreeview.c (gtk_tree_view_set_model): fix small bug where
2862         removing a tree from one model would remove all trees from that
2863         model.
2864         * gtk/gtktreeview.c (gtk_tree_view_range_changed): use range
2865         changed signal instead.
2866
2867 Mon Apr  2 16:13:58 2001  Owen Taylor  <otaylor@redhat.com>
2868
2869         * gtk/gtkinvisible.c (gtk_invisible_style_set): Avoid
2870         chaining up to parent impl, since we have a INPUT_ONLY
2871         window.
2872
2873         * gtk/gtkentry.[ch]: Add a cursor_color property to set the
2874         foreground color for the cursor.
2875
2876 Mon Apr  2 15:06:13 2001  Owen Taylor  <otaylor@redhat.com>
2877
2878         * gtk/gtkstyle.c (_gtk_style_peek_property_value): Reference 
2879         param spec when caching property values, since we unref it
2880         later when we free the style.
2881
2882         * gtk/gtkoptionmenu.c (gtk_option_menu_get_props): Dont' free
2883         values since they are retrieved with G_VALUE_NO_COPY_CONTENTS.
2884
2885 Mon Apr  2 10:47:57 2001  Owen Taylor  <otaylor@redhat.com>
2886
2887         * gtk/gtkwidget.c (gtk_widget_class_init): Fix 
2888         G_VALUE_NO_COPY_CONTENTS instead of G_SIGNAL_TYPE_STATIC_SCOPE
2889         stupidity.
2890
2891 Mon Apr  2 00:51:11 2001  Owen Taylor  <otaylor@redhat.com>
2892
2893         [ First pass at adding style properties. Still needs some definite
2894         fine-tuning. ]
2895
2896         * gtk/gtkbutton.c: Add ::default_spacing style property.
2897          
2898         * gtk/gtkcheckbutton.[ch] gtkradiobutton.c: Add ::indicator_size,
2899         ::indicator_spacing style properties.
2900
2901         * gtk/gtkoptionmenu.c: Add ::indicator_size, ::indicator_spacing
2902         style properties.
2903
2904         * gtk/gtk{,h,v}paned.[ch]: Make handle_size a style property
2905         rather than a normal property.
2906
2907         * gtk/gtkwidget.c: Add an ::interior_focus style property to
2908         draw focus inside buttons, in the Windows/Java Metal/etc. style.
2909
2910         * gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtktogglenbutton.c:
2911         Honor ::interior_focus.
2912         
2913         * gtk/gtkentry.c: Don't draw focus at all when ::interior_focus is 
2914         TRUE.
2915
2916         * gtk/gtkrange.[ch] gtk/gtk{h,v}scrollbar.c gtk/gtk{h,v}scale.c:
2917         Add ::slider_width, ::trough_border, ::stepper_size,
2918         ::stepper_spacing style properties.
2919
2920         * gtk/gtkscale.[ch] Add ::slider-length style property.
2921
2922 2001-04-02 Alexander Larsson   <alexl@redhat.com>
2923
2924         * gdk/linux-fb/gdkwindow-fb.c:
2925         Add gdk_window_begin_resize_drag and gdk_window_begin_move_drag. Remove some
2926         warnings that were spewed on startup.
2927
2928         * gtk/gtkwindow-decorate.c:
2929         gtk_window_reposition -> _gtk_window_reposition
2930
2931 Sun Apr  1 21:37:22 2001  Owen Taylor  <otaylor@redhat.com>
2932
2933         * gtk/gtkwidget.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
2934         Add boxed type for GtkRequistion. Use it for ::size-request.
2935
2936         * gtk/gtkstyle.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
2937         Add a new GtkBorder structure useful for geometry properties
2938         for widgets. Add corresponding GTK_TYPE_BORDER.
2939         
2940         * gtk/gtkwidget.c (gtk_widget_class_install_style_property):
2941         Support automatic parser selection like
2942         gtk_settings_install_property_parser().
2943
2944         * gtk/gtksettings.c (_gtk_rc_property_select_parser): Export
2945         functionality for use by gtk_widget_class_install_style_property.
2946         Support GTK_TYPE_BORDER, GTK_TYPE_REQUISITION.
2947
2948 Sun Apr  1 20:48:59 2001  Owen Taylor  <otaylor@redhat.com>
2949
2950         * gtk/gtkentry.c (gtk_entry_class_init): Make invisible-char
2951         g_param_spec_unichar(). 
2952
2953 Sun Apr  1 23:41:37 2001  Tim Janik  <timj@gtk.org>
2954
2955         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): raise window for non
2956         _NET window managers.
2957
2958         * gtk/gtkmenufactory.[hc]: cvs removed those files now.
2959
2960 Sun Apr  1 08:00:13 2001  Tim Janik  <timj@gtk.org>
2961
2962         * gtk/gtkwidget.[hc]: got rid of gtk_widget_popup(), a function that
2963         bad needs to be nuked, not just deprecated.
2964
2965         * gtk/gtktooltips.c (gtk_tooltips_draw_tips): don't use 
2966         gtk_widget_popup().
2967
2968         * gtk/*.[hc]: s/activate_mnemonic/mnemonic_activate/g;
2969         
2970         * gtk/gtkmenufactory.[hc]: removed this long-standingly deprecated
2971         widget.
2972         
2973         * docs/Changes-2.0.txt: updates.
2974         
2975 Sun Apr  1 01:02:54 2001  Jonathan Blandford  <jrb@redhat.com>
2976
2977         * gtk/gtktreestore.c (gtk_tree_store_sort_iter_changed):
2978         for (i = 0; i < 100; i ++)
2979           g_print ("I will confirm it compile before committing\n");
2980
2981 Sun Apr  1 00:52:06 2001  Jonathan Blandford  <jrb@redhat.com>
2982
2983         * gtk/gtktreestore.c: Initial work on implementing the
2984         GtkTreeSortable interface.  Basicaly a big cut'n'paste job.
2985
2986 Sun Apr  1 03:28:14 2001  Tim Janik  <timj@gtk.org>
2987
2988         * gtk/gtkwidget.c: fixed a bunch of notifications, added
2989         reference counts around emissions where the widget is used afterwards.
2990         added freeze/thaws around multiple properties being notified.
2991         (_gtk_widget_get_aux_info): cleanups.
2992         
2993         * gtk/gtksettings.c (gtk_settings_install_property): provide
2994         default parsing functions for gdkcolor, enums and flags.
2995
2996         * gtk/gtkwindow.[hc]: partially reverted patch from havoc,
2997         applied by owen.
2998         backed out gtk_window_get_location(), gtk_window_set_location(),
2999         gtk_window_get_size() and gtk_window_set_size(), these
3000         have to be sorted out wrg x/y/width/height/default_with/default_height
3001         properties.
3002         kept a flag in GtkWindowGeometryInfo to handle user
3003         resetting default sizes.
3004         cleaned up ZVT comments.
3005         bunch of assorted bug fixes, notification fixes.
3006         (_gtk_window_reposition): make this a really internal function.
3007         
3008         * gtk/testgtk.c: fixups.
3009         
3010 2001-03-31  Hans Breuer  <hans@breuer.org>
3011
3012         * config.h.win32.in : disable USE_MMX for msvc build cause
3013         the assembler doesn't fit and is out of my scope. Disable
3014         USE_GMODULE for msvc build as wel. The right way to share
3015         binaries on win32 would be to use libtiff.dll etc. To reduce
3016         installation hassles IMO it's better to include all fileformats
3017         builtin to gdk-pixbuf
3018
3019         * gdk-pixbuf/makefile.msc : new file
3020
3021         * gdk/gdk.def : updated
3022
3023         * gdk/win32/gdkevents-win32.c : don't erase the background if
3024         .no_bg is set. It improves the scrolling (e.g. of testgtk main
3025         buttons
3026         * gdk/win32/gdkgeometry-win32.c : added comment about the above
3027
3028         * gdk/win32/gdkwindow-win32.c : added three new functions like
3029         the X version. Only one is implemented, because the other two
3030         "gdk_window_begin_(resize|move)_drag" got no docs and appear to
3031         be default behaviour on win32 anyway ...
3032
3033         * gtk/gtk.def : updated
3034
3035         * gtk/makefile.msc.in : update for new files, use glib-genmarshal
3036         from where it was built and add an additional rule to automagically
3037         build gtkmarshal.[hc]
3038
3039         * gtk/gtkfilesel.c (open_new_dir) : don't increase n_entries
3040         before array access for the current entry isn't finished
3041
3042         * gtk/gtktreeitem.c (gtk_tree_item_subtree_button_click) :
3043         use g_return_val_if_fail
3044
3045         * gtk/testgtk.c (window_controls) : don't use the *wrong* size
3046         for the static array, but let the compiler calculate it. It
3047         makes me wonder if gcc isn't capable to catch bugs like this ...
3048
3049 2001-03-31  James Henstridge  <james@daa.com.au>
3050
3051         * gtk/gtkwidget.c (gtk_widget_size_adjust): fix use of magic
3052         constant "-1" in the aux info structure.
3053
3054 2001-03-30  Alexander Larsson  <alexl@redhat.com>
3055
3056         * gtk/gtkbutton.c (gtk_button_get_property):
3057         * gtk/gtklabel.c:
3058         Remove leaks.
3059         
3060         * gtk/gtkcontainer.c:
3061         * gtk/gtkhscale.c:
3062         * gtk/gtkhscrollbar.c:
3063         * gtk/gtklayout.c:
3064         * gtk/gtkmisc.c:
3065         * gtk/gtkprogress.c:
3066         * gtk/gtkprogressbar.c:
3067         * gtk/gtkrange.c:
3068         * gtk/gtktable.c:
3069         * gtk/gtkviewport.c:
3070         * gtk/gtkvscale.c:
3071         * gtk/gtkvscrollbar.c:
3072         * gtk/gtkwidget.c:
3073         Property patches, based on patches from John Margaglione and Lee Mallabone.
3074
3075 Thu Mar 29 21:20:38 2001  Mike Kestner  <mkestner@ameritech.net>
3076
3077         * gtk/gtkspinbutton.c : added value_changed signal which proxies for the
3078         adjustment. Cleaned redundant preconditions (spin != NULL). Added
3079         inline API function docs.
3080         (gtk_spin_button_new_with_range): New convenience constructor.
3081         (gtk_spin_button_set_increments): New adjustment helper.
3082         (gtk_spin_button_set_range): New adjustment helper.
3083
3084         * gtk/testgtk.c : added test of the new convenince constructor and
3085         value_changed signals.
3086
3087 Thu Mar 29 20:20:38 2001  Jonathan Blandford  <jrb@redhat.com>
3088
3089         * gtk/gtktreemodel.c (gtk_tree_row_ref_reordered_callback): Now we
3090         listen to the reorder signal.
3091
3092 Wed Mar 28 20:30:26 2001  Owen Taylor  <otaylor@redhat.com>
3093
3094         * gtk/gtkwidget.[ch] (_gtk_widget_get_aux_info): Add private function
3095         to get the aux info structure fo the widget.
3096
3097         * gtk/gtklabel.c gtk/gtkscrolledwindow.c gtk/gtkwindow.c: Use
3098         above function.
3099
3100         [ Patch from  Havoc Pennington  <hp@redhat.com> ]
3101
3102         * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): function
3103         to get the size of the window manager frame, basically the same
3104         code that gdk_window_get_root_origin() had
3105         (gdk_window_get_root_origin): use gdk_window_get_frame_extents()
3106
3107         * gtk/gtkwindow.c (gtk_window_set_default_size): use
3108         gdk_window_resize() if the window is realized and resizeable
3109
3110         * gdk/x11/gdkwindow-x11.c (gdk_window_set_geometry_hints): fix
3111         typo so that setting gravity works
3112
3113         * gtk/gtkwindow.c (gtk_window_move_resize): don't ever use
3114         allocation if auto_shrink is on, even if the default size
3115         has not changed.
3116
3117         * gtk/gtkwidget.c (gtk_widget_render_icon): remove bogus
3118         g_return_if_fail
3119
3120 Thu Mar 29 16:29:12 2001  Jonathan Blandford  <jrb@redhat.com>
3121
3122         * gtk/gtkliststore.c (gtk_list_store_iter_changed): Massive
3123         reordering/sorting work.  Now pretty much works.
3124
3125         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): Lots of work to make
3126         reorder mostly work.  Still need to get the parity correct.
3127
3128         * gtk/gtktreeviewcolumn.c: Listen for "model" property changed
3129         signal, so I can listen for the sort_column_changed signal so I
3130         can change my "sort_indicator" property.  Cool.
3131
3132 Wed Mar 28 00:03:10 2001  Owen Taylor  <otaylor@redhat.com>
3133
3134         [ Patch from Havoc Pennington, hp@redhat.com ]
3135
3136         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c:
3137         Add functions gdk_window_begin_resize_drag/begin_move_drag
3138         to start resizing or moving a toplevel window. This
3139         is done either using the _NET_WM_MOVERESIZE protocol,
3140         or, if that isn't present, by emulation.
3141
3142         * gtk/gtkwindow.[ch]: Add functions gtk_begin_move/resize_drag
3143         to export the above to GTK+-land.
3144
3145         * gtk/gtkstyle.[ch]: Add ->draw_resize_grip() paint func.
3146         
3147         * gtk/gtkwindow.c gdk/gdkwindow.[ch] (gdk_window_constrain_size):
3148         Move this function into gdkwindow, since we need it
3149         when implementing fallback resizing.
3150
3151         * gdk/x11/gdkwindow-x11.c: gdk_window_set_geometry_hints.
3152         Fix typo when setting gravity.
3153
3154         * gtk/gtkstatusbar.[ch] (gtk_statusbar_set_has_resize_grip):
3155         Add an optional (but on by default) resize grip for resizing 
3156         the parent window.
3157
3158 01-03-29  Alexander Larsson  <alexl@redhat.com>
3159
3160         * gtk/gtktooltips.c (gtk_tooltips_event_handler):
3161         Don't return TRUE from the event handler, that blocks all
3162         event signals on the tooltip widget. Now you can press buttons
3163         in toolbars again.
3164
3165 Wed Mar 28 19:20:43 2001  Owen Taylor  <otaylor@redhat.com>
3166
3167         * gtk/testtext.c (create_buffer): Add missing NULL on
3168         valist.
3169
3170         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Fix
3171         c-n-p problem with INCONSISTENT property.
3172
3173         [ Patch from Havoc Pennington  <hp@redhat.com> ]
3174
3175         * gtk/gtkentry.h (struct _GtkEntryClass): add same populate_popup
3176         hook.
3177
3178         * gtk/gtktextview.h (struct _GtkTextViewClass): add populate_popup
3179         signal as a hook for extending the default popup menu
3180
3181         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
3182         use radio menu items for the input method menuitems
3183
3184         * gtk/gtkimcontextsimple.c (check_hex): do better validation of 
3185         inserted unicode from Ctrl-Shift-hex input method
3186
3187         * gtk/gtktextbtree.c (_gtk_text_btree_insert): remove utf8
3188         validatation here, already done at GtkTextBuffer level.
3189
3190         * gtk/gtkwidget.c (gtk_widget_class_init): add binding set, add
3191         popup_menu run action signal and Shift+F10 and Menu keybindings.
3192
3193         * gtk/gtkentry.c: implement a default handler for popup_menu
3194
3195         * gtk/gtktextview.c: implement a default handler for popup_menu
3196
3197         * gtk/gtkmenu.c (gtk_menu_popup): select first item if popup is
3198         from a key event
3199         
3200         * gtk/gtklabel.c: remove "trailer" cruft
3201
3202 Wed Mar 28 17:27:12 2001  Jonathan Blandford  <jrb@redhat.com>
3203
3204         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): new function to
3205         handle reordering of trees.  Seems to mostly work w/ the exception
3206         of the parity flag.
3207
3208         * gtk/gtktreeview.c (gtk_tree_view_reordered): handle "reordered"
3209         signal.
3210
3211 Wed Mar 28 21:12:37 2001  Tim Janik  <timj@gtk.org>
3212
3213         * gtk/gtkwidget.h: c++ fixes.
3214
3215 Sun Mar 25 15:51:28 2001  Owen Taylor  <otaylor@redhat.com>
3216
3217         * gtk/gtksettings.c (gtk_settings_init): Fix use of uninitialized
3218         memory.
3219
3220 Tue Mar 27 22:36:07 2001  Owen Taylor  <otaylor@redhat.com>
3221
3222         * gtk/gtkwidget.h gtk/gtkrange.h: Apply patch from 
3223         Nils Barth fixing event return values. (#51041)
3224
3225         * gtk/gtkwidget.c: Fix some return values for default
3226         functions.
3227
3228         * gtk/gtk[vh]scrollbar.c gtk/gtk[vh]range.c: Fix
3229         return values for trough_keys functions.
3230
3231         * gtk/gtkwidget.h (struct _GtkWidgetClass): Fix return
3232         value for add_accelerator (shoudl have been a void
3233         return.)
3234
3235         * gtk/gtkcellrenderer.[ch]: gtkcellrenderertoggle.h:
3236         Fix return type of EVENT.
3237
3238         * gtk/gtkmarshal.list gtk/gtktexttag.c: Make EVENT
3239         signal return a boolean.
3240
3241 Tue Mar 27 22:07:44 2001  Jonathan Blandford  <jrb@redhat.com>
3242
3243         * gtk/gtkliststore.c (gtk_list_store_sort): Fix arguments to
3244         reordered signal.
3245
3246         * tests/testtreesort.c (main): fix spelling.
3247
3248 Tue Mar 27 20:55:29 2001  Jonathan Blandford  <jrb@redhat.com>
3249
3250         * gtk/gtkliststore.c: More work on implementing sortable
3251         interface.
3252
3253 Mon Mar 26 15:48:45 2001  Owen Taylor  <otaylor@redhat.com>
3254
3255         * gtk/gtkwindow.c (gtk_window_list_toplevels): Don't
3256         reference the widgets in the resulting list. (#11821)
3257         This makes this consistent with gtk_container_children.
3258
3259         * gtk/gtkwindow.c gtk/gtkwidget.c: Fix up the two
3260         uses of gtk_window_list_toplevels.
3261
3262 Mon Mar 26 15:26:17 2001  Owen Taylor  <otaylor@redhat.com>
3263
3264         * gtk/gtkimcontext.c (gtk_im_context_set_use_preedit): Add
3265         a virtual function to set whether the IM context should use 
3266         the preedit string. (#51922)
3267         
3268 Mon Mar 26 14:42:59 2001  Owen Taylor  <otaylor@redhat.com>
3269
3270         * gdk/gdkpango.h: Remove stale FIXME comment.
3271
3272 2001-03-26  Alexander Larsson  <alla@lysator.liu.se>
3273
3274         * gtk/gtkfilesel.c (gtk_file_selection_get_filename):
3275         Fixed bug that returned NULL if a filename was selected.
3276
3277 2001-03-24  Havoc Pennington  <hp@pobox.com>
3278
3279         * gtk/gtkthemes.c (gtk_theme_engine_load): improve error message
3280         to contain the word "theme"
3281
3282 2001-03-24  Havoc Pennington  <hp@pobox.com>
3283
3284         * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much
3285         slower but finer-grained
3286         (gtk_hsv_focus): get initial focus on the ring or triangle 
3287         according to tab direction
3288
3289         * gtk/testgtk.c (main): get rid of weird sleep(1) on exit
3290
3291 2001-03-23  Havoc Pennington  <hp@pobox.com>
3292
3293         * gtk/gtkhsv.c: make this somewhat key-navigable
3294
3295         * gtk/gtkfontsel.c: mnemonics
3296
3297         * gtk/gtkgamma.c: mnemonics
3298
3299         * gtk/gtkcolorsel.c: add mnemonics to labels
3300
3301 2001-03-22  Havoc Pennington  <hp@pobox.com>
3302
3303         Applied big patch from Seth Lytle to fix event handler return
3304         values, slightly modified.
3305
3306         * gtk/gtkcalendar.c (gtk_calendar_button_press): return TRUE if
3307         handled.
3308         (gtk_calendar_key_press): return TRUE for GDK_space triggers
3309         select_day
3310
3311         * gtk/gtkclist.c (gtk_clist_button_press): return TRUE if handled
3312         (gtk_clist_button_release): return TRUE if handled
3313
3314         * gtk/gtkcolorsel.c (mouse_release):
3315         (palette_activate): 
3316         (palette_press): 
3317         (palette_new): 
3318         (mouse_press): 
3319         (get_screen_color): 
3320         fixed return type (void to gboolean), return TRUE,
3321         added GTK_SIGNAL_FUNC cast
3322
3323         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fixed return type
3324         (void to gboolean), and return TRUE
3325         (gtk_combo_button_release): changed return value to TRUE after
3326         gtk_grab_add on combo->popwin
3327
3328         * gtk/gtkctree.c (gtk_ctree_button_press): return TRUE if triggers a
3329         collapse or expand
3330
3331         * gtk/gtkcurve.c (gtk_curve_graph_events): return TRUE for
3332         button/motion
3333
3334         * gtk/gtkdnd.c (gtk_drag_source_event_cb): return TRUE for button
3335         press/release and motion that trigger act
3336
3337         * gtk/gtkentry.c (gtk_entry_button_release): return TRUE
3338
3339         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): return TRUE
3340         for GDK_Return
3341         
3342         * gtk/gtklist.c (gtk_list_button_press): return TRUE mostly
3343         (gtk_list_button_release): return TRUE if selection
3344
3345         * gtk/gtklistitem.c (gtk_list_item_button_press): return TRUE on
3346         press
3347
3348         * gtk/gtkmenushell.c (gtk_menu_shell_button_press):
3349         (gtk_menu_shell_button_release): chain parent_menu_shell retval
3350
3351         * gtk/gtknotebook.c (gtk_notebook_button_press): return FALSE if
3352         nothing triggered
3353         (gtk_notebook_button_release): return TRUE if we do anything
3354
3355         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): 
3356         (gtk_spin_button_button_release): return TRUE or chained retval
3357
3358         * gtk/gtktext.c (gtk_text_button_press): 
3359         (gtk_text_button_release): return TRUE
3360         (gtk_text_key_press): remove redundant retval code
3361         
3362         * gtk/gtktreeitem.c (gtk_tree_item_button_press): return TRUE if button
3363         and sensitive
3364         (gtk_tree_item_subtree_button_click): changed type to gint, and return
3365         TRUE if sensitive
3366
3367         * gtk/gtktooltips.c (gtk_tooltips_event_handler): deactivate implies 
3368         return TRUE
3369
3370 2001-03-23  Havoc Pennington  <hp@redhat.com>
3371
3372         * gtk/testgtk.c: fix warnings
3373
3374         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): fix return value
3375
3376         * gtk/gtktextview.c: fix warnings
3377
3378         * gtk/gtktext.c (find_cursor_at_line): fix warning
3379
3380         * gtk/gtkselection.c (gtk_selection_notify): fix warning 
3381
3382         * gtk/gtkitemfactory.c (gtk_item_factory_menu_pos): fix signature
3383         of this function
3384
3385         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
3386         fix warning
3387
3388         * gtk/gtkhandlebox.c (gtk_handle_box_style_set): fix warning
3389
3390         * gtk/gtkfontsel.c: fix warning
3391
3392         * gtk/gtkcolorsel.c: fix warnings
3393
3394 2001-03-23  Havoc Pennington  <hp@redhat.com>
3395
3396         * gtk/gtkhandlebox.c: Apply property patch from Lee Mallabone
3397
3398         * gtk/gtkbox.c: Apply property patch from Lee Mallabone
3399
3400         * gtk/gtkcheckmenuitem.c: Apply property patch from Lee Mallabone,
3401         and deprecated gtk_check_menu_item_set_show_toggle().
3402         
3403         * gtk/gtkbutton.c: Apply property patch from Lee Mallabone
3404
3405         * gtk/gtkfilesel.c: Apply property patch from Lee Mallabone
3406
3407         * gtk/gtkframe.c: Apply property patch from Lee Mallabone
3408
3409 2001-03-23  Havoc Pennington  <hp@redhat.com>
3410
3411         * gtk/gtktoolbar.c, gtk/gtkimcontext.c, gtk/gtklabel.c: fix up
3412         some docs
3413
3414 Fri Mar 23 16:13:43 2001  Jonathan Blandford  <jrb@redhat.com>
3415
3416         * gtk/gtktreeviewcolumn.h (GtkCellDataFunc): Forgot to namespace
3417         this.
3418
3419         * gtk/gtktreestore.c (gtk_tree_store_set_value): change from
3420         set_cell to set_value
3421
3422         * gtk/gtkliststore.c (gtk_list_store_set_value): change from
3423         set_cell to set_value
3424
3425 Thu Mar 22 19:27:34 2001  Jonathan Blandford  <jrb@redhat.com>
3426
3427         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
3428         fix braino.
3429         * gtk/gtktreesortable.[ch]: New interface to add cleanup sortable
3430         support.
3431
3432         * gtk/gtktreeview.c: Addition of initial sortable support.
3433
3434         * gtk/gtktreestore.c: Addition of initial sortable support.
3435
3436         * gtk/gtkliststore.c: Addition of initial sortable support.
3437
3438         * gtk/gtkmarshal.list: yet another marshaller.
3439
3440         * gtk/gtktreedatallist.[ch]: shared code between the store models
3441         for handling sorting headers.
3442
3443 2001-03-22  Havoc Pennington  <hp@redhat.com>
3444
3445         * gtk/gtkcontainer.c (gtk_container_set_focus_chain): 
3446         (gtk_container_unset_focus_chain): Add ability to override the 
3447         focus chain for a container explicitly
3448
3449 Thu Mar 22 13:01:44 2001  Tim Janik  <timj@gtk.org>
3450
3451         * gtk/gtklabel.[hc]: some cleanups, fixed mnemonic_widget handling,
3452         added PROP_MNEMONIC_WIDGET.
3453
3454         * gtk/gtkwindow.c (gtk_window_activate_mnemonic): 
3455         (gtk_window_remove_mnemonic): 
3456         (gtk_window_add_mnemonic): fixed assertions.
3457         (gtk_window_activate_mnemonic): constrain modifier checks to those
3458         permitted by gtk_accelerator_get_default_mod_mask().
3459         got rid of gtk_window_get_default_accel_group().
3460
3461         * gtk/gtkwidget.c (gtk_widget_real_activate_mnemonic): handle non
3462         activatable widgets either by focussing or a warning.
3463         added a signal accumulator to ::activate_mnemonic which stops the
3464         emission once a handler returned TRUE.
3465
3466 2001-03-22  Havoc Pennington  <hp@pobox.com>
3467
3468         * gtk/gtktoolbar.c (gtk_toolbar_insert_stock): handle mnemonics in
3469         the stock item label
3470
3471         * gtk/gtklabel.c: s/@gtk_func/gtk_func()/ in docs
3472
3473         * gtk/gtkstock.c (builtin_items): add mnemonics where missing
3474
3475         * demos/gtk-demo/*.c: Add mnemonics all over the place
3476
3477         * gtk/gtklabel.h: mark parse_uline deprecated
3478
3479 2001-03-21  Alexander Larsson  <alexl@redhat.com>
3480
3481         * gtk/gtkitemfactory.[ch]:
3482         Add support for stock and normal imagemenuitems.
3483         
3484         * gtk/testgtk.c:
3485         Add some tests for mnemonics, stock toolbars, stock
3486         and image menuitems in itemfactory and gdk_window_scroll.
3487
3488 2001-03-21  Alexander Larsson  <alexl@redhat.com>
3489
3490         * gtk/gtkbutton.[ch]:
3491         * gtk/gtkdialog.c:
3492         Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and
3493         removed accel_group argument. Renamed gtk_button_new_accel() to
3494         gtk_button_new_with_mnemonic() and removed accel_group argument.
3495
3496         * gtk/gtkcheckbutton.[ch]:
3497         New function gtk_check_button_new_with_mnemonic().
3498
3499         * gtk/gtkentry.c:
3500         Override activate_mnemonic and just grab focus.
3501
3502         * gtk/gtkitemfactory.c:
3503         Don't add menu uline accel group, instead use mnemonics support.
3504
3505         * gtk/gtklabel.[ch]:
3506         New support for mnemonics.
3507
3508         * gtk/gtkmarshal.list:
3509         Needed BOOLEAN:BOOLEAN for activate_mnemonic.
3510
3511         * gtk/gtkmenu.[c]:
3512         * gtkmenushell.c:
3513         Use mnemonics instead of accel groups for uline
3514         support in menu items.
3515         Removed gtk_menu_get_uline_accel_group() and
3516         gtk_menu_ensure_uline_accel_group().
3517
3518         * gtk/gtkmenuitem.c:
3519         Override activate_mnemonic to handle switching between
3520         menu items if there are collisions.
3521         
3522         * gtk/gtknotebook.c:
3523         Connect to activate_mnemonic on the tab_label, so that
3524         activating it switches to that notebook page.
3525
3526         * gtk/gtkwidget.[ch]:
3527         Add activate_mnemonic signal. New function
3528         gtk_widget_activate_mnemonic() to emit it.
3529         Default implementation does activate/grab_focus.
3530
3531         * gtk/gtkwindow.[ch]:
3532         Add support for mnemonics in windows.
3533         New functions:
3534         gtk_window_add_mnemonic, gtk_window_remove_mnemonic,
3535         gtk_window_activate_mnemonic, gtk_window_set_mnemonic_modifier
3536
3537         * gtk/testgtk.c:
3538         Update to function name changes.
3539         
3540 2001-03-21  Alexander Larsson  <alexl@redhat.com>
3541
3542         * gtk/gtkimagemenuitem.[c]:
3543         Add gtk_image_menu_item_new_from_stock()
3544
3545 Tue Mar 20 15:00:43 2001  Jonathan Blandford  <jrb@redhat.com>
3546
3547         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
3548         Fix buglet in meeting.
3549
3550 2001-03-19  Havoc Pennington  <hp@redhat.com>
3551
3552         * gtk/gtkiconfactory.c: Make GtkIconSource an opaque datatype, and
3553         add a bunch of accessor functions. This is because we have
3554         reasonable expectations of extending what fields it contains in
3555         the future.
3556
3557         * gtk/gtkstyle.c (gtk_default_render_icon): adapt to icon source
3558         changes
3559
3560         * gtk/gtkrc.c (gtk_rc_parse_icon_source): fix to use new
3561         GtkIconSource   
3562
3563 Mon Mar 19 15:53:36 2001  Owen Taylor  <otaylor@redhat.com>
3564
3565         * gtk/gtkitemfactory.c gtk/testgtk.c: Handle quoting of / with \; properly
3566         handle __ in paths, quote " and \n in gtk_item_factory_dump_items().
3567
3568         * gtk/gtkadjustment.[ch] gtk/gtkclist.c gtk/gtkhruler.c gtk/gtklayout.c 
3569           gtk/gtklist.c gtk/gtkprogress.[ch] gtk/gtkprogressbar.[ch] gtk/gtkrange.[ch]
3570           gtk/gtkruler.[ch] gtk/gtkscale.c gtk/gtkscrolledwindow.c gtk/gtkspinbutton.[ch]
3571           gtk/gtktext.c gtk/gtktextview.c gtk/gtkvruler.c gtk/testgtk.c:
3572         Change float to double everywhere with the exception of 0<->1.0 alignment
3573         and GtkCurve.
3574
3575 2001-03-19  Tor Lillqvist  <tml@iki.fi>
3576
3577         * gdk/win32/gdkdrawable-win32.c
3578         * gdk/win32/gdkimage-win32.c: Use correct casts in debugging
3579         output.
3580
3581         * demos/testpixbuf-drawable.c: If GDK_WINDOWING_WIN32, include
3582         gdkwin32.h.
3583
3584 2001-03-18  Tor Lillqvist  <tml@iki.fi>
3585
3586         * gdk/win32/gdkevents-win32.c (print_window_state): New function.
3587         print_event_state, print_event): Use preprocessor macro to make
3588         code more compact. Print also GDK_WINDOW_STATE events.
3589         (synthesize_crossing_events): Remove the old #ifdeffed-out code.
3590         
3591         * gtk/gtk.def
3592         * gtk/makefile.mingw.in: Update.
3593
3594         * gtk/gtkmain.h: Check for G_PLATFORM_WIN32, not only G_OS_WIN32,
3595         to catch also Cygwin.
3596
3597 Sun Mar 18 01:15:30 2001  Tim Janik  <timj@gtk.org>
3598
3599         * gtk/gtkspinbutton.[hc]: added rc-style argument
3600         GtkSpinButton::shadow_type.
3601         removed spin_button->shadow_type, gtk_spin_button_set_shadow_type()
3602         and ARG_SHADOW_TYPE as it doesn' make much sense to try to override
3603         rc-style settings.
3604
3605         * gtk/gtkfixed.c: removed gtk_fixed_paint() (was unused).
3606
3607         * gtk/gtkwidget.c: quark cleanups.
3608
3609         * gtk/gtkrc.[hc]: added gtk_rc_scanner_new() to create an rc-file
3610         scanner with appropriate configuration, renamed GtkRcStyleClass.clone
3611         to create_rc_style() (we don't do cloning in standard OO sense).
3612         added per rc style properties.
3613         
3614         * gtk/gtkstyle.[hc]: added code to retrive pspec conformant rc-style
3615         property values and for caching those. some cleanups.
3616         
3617         * gtk/Makefile.am: -DG_DISABLE_CONST_RETURNS.
3618         
3619         * gtk/gtksettings.[hc]: new file for global rc-file properties
3620         (at least currently, should get extended to support X properties
3621         and other communication mechanisms).
3622         
3623         * gtk/gtkwidget.[hc]: added style property support:
3624         (gtk_widget_class_install_style_property_parser): install style
3625         property pspec with parser function for rc-file values other
3626         than LONG, DOUBLE or STRING.
3627         (gtk_widget_class_install_style_property): same as above without
3628         parser (parsers are going to be needed quite infrequently).
3629         (gtk_widget_style_get_property): retrive style property value.
3630         (gtk_widget_style_get_valist): same as above with varargs support,
3631         has NOCOPY semantics.
3632         (gtk_widget_style_get): wrapper around gtk_widget_style_get_valist().
3633
3634 Fri Mar 16 18:24:53 2001  Jonathan Blandford  <jrb@redhat.com>
3635
3636         * demos/gtk-demo/main.c (row_activated_cb): modified to use
3637         "row_activated" signal.
3638
3639         * gtk/gtktreeview.c (gtk_tree_view_row_activated): oh, the
3640         stupidity.  Lets actually pass in the row with this signal...
3641
3642 Fri Mar 16 18:01:17 2001  Jonathan Blandford  <jrb@redhat.com>
3643
3644         * gtk/gtktreeviewcolumn.[ch]: s/GTK_TREE_COLUMN/GTK_TREE_VIEW_COLUMN
3645
3646         * gtk/gtktreeview.c (gtk_tree_view_row_activated): New signal.
3647
3648         * gtk/gtktreeview.c (gtk_tree_view_destroy): moved pretty much
3649         everything into the ::destroy function, and freed a lot more.
3650
3651 2001-03-16  Havoc Pennington  <hp@redhat.com>
3652
3653         * gtk/gtkwidget.h (struct _GtkWidgetAuxInfo): change to use gint
3654         instead of gint16, to avoid overflow issues, since sizes > 16-bit
3655         are now allowed.
3656
3657 2001-03-16  Havoc Pennington  <hp@redhat.com>
3658
3659         * Applied patch from Nils Barth (bug # 51041) to 
3660         replace "gint" with "gboolean" and 0/1 with TRUE/FALSE
3661         in various places.
3662
3663 2001-03-15  Havoc Pennington  <hp@redhat.com>
3664         
3665         * gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): add varargs 
3666         for properties to set on the tag.
3667
3668         * gtk/testtext.c: fixups to reflect create_tag change
3669         
3670         * gtk/gtktexttag.c (gtk_text_tag_set_property):
3671         background/foreground stipple are objects, not boxed.
3672
3673         * demos/gtk-demo/textview.c: intellihancing
3674
3675 Fri Mar 16 11:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
3676
3677         * gtk/gtktreeview.c (gtk_tree_view_set_model): Fixed some
3678         braindeadness spotted by Jamie Strachan <frostfreek@yahoo.com>.
3679
3680 2001-03-16  Alexander Larsson  <alexl@redhat.com>
3681
3682         * gdk/x11/gdkgeometry-x11.c (_gdk_window_process_expose):
3683         Fix sign error with queued region translations.
3684
3685 2001-03-15  HideToshi Tajima  <tajima@happy>
3686
3687         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_set_cursor_location): 
3688         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_location):
3689         * gtk/gtkentry.c (update_im_cursor_location): 
3690         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_location):
3691         * gtk/gtkimcontext.h (struct _GtkIMContextClass): rename
3692         set_cursor_pos to set_cursor_location in GtkInputContext class
3693
3694 Thu Mar 15 18:22:44 2001  Jonathan Blandford  <jrb@redhat.com>
3695
3696         * gtk/gtkcellrenderer.h: Changed prototype to allow for getting
3697         the location of the cell relative to its area.
3698         * gtk/gtkcell*: modified for above change
3699         * gtk/gtktreeview.c: modified for above change.
3700
3701 Wed Mar 14 13:58:32 2001  Jonathan Blandford  <jrb@redhat.com>
3702
3703         * gtk/gtktreeview.c (gtk_tree_view_set_model): Ref the model.
3704          (gtk_tree_view_finalize): actually unref the model.  Thanks to
3705         Jamie Strachan <frostfreek@yahoo.com> for noticing this error.
3706
3707 2001-03-14  Havoc Pennington  <hp@redhat.com>
3708
3709         * gtk/gtkdata.h, gtk/gtkdata.c: Delete.
3710         
3711         * gtk/gtk.h: remove gtkdata.h
3712
3713         * gtk/Makefile.am: remove gtkdata
3714         
3715         * gtk/gtktext.c (gtk_text_set_adjustments): connect to "destroy"
3716         not "disconnect" on the adjustments.
3717         
3718         * gtk/gtktooltips.h, gtk/gtktooltips.c: derive from GtkObject not
3719         GtkData
3720
3721         * gtk/gtkadjustment.h, gtk/gtkadjustment.c: derive from GtkObject
3722         not GtkData
3723
3724         * configure.in: handle case where X render exists, but Pango lacks
3725         Xft support.
3726
3727 2001-03-15 Alexander Larsson  <alexl@redhat.com>
3728
3729         * gtk/gtktoolbar.[ch]:
3730         New functions gtk_toolbar_set_icon_size and gtk_toolbar_insert_stock
3731         to add stock items to toolbars.
3732
3733         * gtk/Makefile.am:
3734         Remove ../gdk/gdkim.h from gdk_headers.
3735
3736 2001-03-15  Sven Neumann  <sven@gimp.org>
3737
3738         * gdk/gdkim.h: removed
3739         
3740         * gdk/gdkprivate.h
3741         * gdk/x11/gdkim-x11.c: do not include gdkim.h 
3742
3743 2001-03-14  HideToshi Tajima  <tajima@happy.sunsoft.eng.sun.com>
3744
3745         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos):
3746         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos):
3747         * gtk/gtkimcontext.h (struct _GtkIMContextClass): add
3748         set_cursor_pos() virtual method
3749
3750         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init):
3751         (gtk_im_context_xim_set_cursor_pos): add implementation for
3752         set_cursor_pos() method
3753
3754         * gtk/gtkentry.c (recompute_idle_func): set current cursor
3755         position to input methods
3756
3757 Mon Mar 12 21:02:08 2001  Jonathan Blandford  <jrb@redhat.com>
3758
3759         * gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus
3760         code a lot.
3761
3762         * gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use
3763         g_mem_chunk.
3764         (_gtk_tree_data_list_alloc): use g_mem_chunk.
3765         (_gtk_tree_data_list_node_to_value): Fix to switch on
3766         G_TYPE_FUNDAMENTAL.
3767         (_gtk_tree_data_list_value_to_node): Fix to switch on
3768         G_TYPE_FUNDAMENTAL.
3769         (_gtk_tree_data_list_node_copy): Fix to switch on
3770         G_TYPE_FUNDAMENTAL.
3771
3772 2001-03-12  Havoc Pennington  <hp@redhat.com>
3773
3774         * gtk/gtkwindow.c (gtk_window_class_init): Patch from John Margaglione 
3775         to convert to new property API. Also, change default_width and
3776         default_height get_property to return 0 as the flag value for
3777         "unset"; -1 is not a valid value for these fields.
3778
3779 2001-03-12  Havoc Pennington  <hp@redhat.com>
3780
3781         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an
3782         enum with registration for icon sizes, instead of strings.
3783
3784         * gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, 
3785         gtkwidget.c: Fix to reflect GtkIconSize
3786         
3787 2001-03-12  Alexander Larsson  <alexl@redhat.com>
3788
3789         Make GtkFB compile and link.
3790         
3791         * gdk/linux-fb/gdkdrawable-fb2.c:
3792         window->mapped to GDK_WINDOW_IS_MAPPED(). 
3793         
3794         * gdk/linux-fb/gdkwindow-fb.c:
3795         window->mapped to GDK_WINDOW_IS_MAPPED(). 
3796         Added gdk_window_shape_combine_region.
3797         Added assorted placeholders for unimplemented new GdkWindow API calls.
3798
3799 2001-03-12  Alexander Larsson  <alexl@redhat.com>
3800
3801         * gtk/gtkfilesel.c:
3802         Add more test when converting filenames from/to utf-8.
3803         Don't allow entering text in the filename entry which isn't allowed in
3804         a filename. Just beep instead.
3805
3806 2001-03-12  Alexander Larsson  <alexl@redhat.com>
3807
3808         * gtk/gtkclist.c:
3809         Scroll using gdk_window_scroll(). Don't wait for exposes.
3810         Move the column headers in an order that makes them flash less.
3811
3812 2001-03-10  Hans Breuer  <hans@breuer.org>
3813
3814         * gdk/gdk.def : updated
3815
3816         * gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
3817         to offseting the clip_mask at the right place
3818
3819         * gdk/win32/gdkwindow-win32.c : don't create background brushes
3820         for all the gdkClasses, especially not for the input_only case.
3821         Otherwise flickering wont be avoidable, because we don't get
3822         WM_ERASEBKGND message for these windows.
3823
3824         * gdk/win32/gdkevents-win32.c : initialize event->expose.region
3825         and fixed massive redraw problems apparently triggered by Alexanders 
3826         recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
3827         but it seems to work quite well :-)
3828
3829         * gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose
3830         prototype
3831
3832 Sat Mar 10 12:15:31 2001  Jonathan Blandford  <jrb@redhat.com>
3833
3834         * gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
3835         (gtk_list_store_set_cell): Fix a stupid typo.
3836
3837 Fri Mar  9 20:36:21 2001  Jonathan Blandford  <jrb@redhat.com>
3838
3839         * gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
3840         select_all not work if you're in SINGLE mode (it doesn't make that
3841         much sense, anyway.)
3842
3843         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
3844         handle types more sanely.
3845         (_gtk_tree_data_list_value_to_node): handle types more sanely.
3846         (_gtk_tree_data_list_node_copy): handle types more sanely.
3847
3848         * gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
3849         GValue better. Converts the type as well.
3850
3851         * gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
3852         GValue better. Converts the type as well.
3853
3854 Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
3855
3856         * gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
3857         gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c 
3858         gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
3859         gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
3860
3861         * gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
3862         gdk_im/gdk_ic.
3863
3864 2001-03-09  Hans Breuer  <hans@breuer.org>
3865
3866         * gdk/gdk.def : updated
3867
3868         * gdk/win32/gdkevents-win32.c : don't ask input_only windows
3869         for their palette
3870
3871         * gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
3872         removing
3873
3874         * gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
3875         removing and implemented Havoc's GdkWindow state functions; 
3876         stick/unstick only as no-op, cause I don't know how to emulate 
3877         on win32 ...
3878
3879         * gtk/gtk.def : updated
3880
3881         * gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
3882
3883         * gtk/gtktypeutils.c : #include <string.h>
3884
3885         * gtk/gtkwindow.h : declare gtk_window_set_decorated ()
3886
3887 Fri Mar  9 09:31:55 2001  Tim Janik  <timj@gtk.org>
3888
3889         * gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with
3890         GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object,
3891         not a boxed.
3892
3893 2001-03-09  Alexander Larsson  <alexl@redhat.com>
3894
3895         * docs/Changes-2.0.txt:
3896         Document expose event->region change and that gtk_widget_event
3897         doesn't allow passing expose events.
3898
3899         * gdk/gdkevents.h:
3900         Add region to expose event.
3901         
3902         * gdk/gdkevents.c:
3903         Handle event->region in gdk_event_copy() and gdk_event_free().
3904
3905         * gdk/gdkwindow.c (gdk_window_process_updates_internal):
3906         Generate expose_event->region when creating expose events.
3907
3908         * gdk/x11/gdkevents-x11.c:
3909         Generate expose events with regions when translating X events.
3910
3911         * gtk/gtkcontainer.[ch]:
3912         Default expose handler that propagates expose events to NO_WINDOW
3913         children. New function gtk_container_propagate_expose()
3914
3915         * gtk/gtkwidget.[ch]:
3916         Moved gtk_widget_event implementation to gtk_widget_event_internal.
3917         gtk_widget_event calls gtk_widget_event_internal but doesn't allow
3918         expose events. New function gtk_widget_send_expose() to send expose
3919         events. New function gtk_widget_region_intersect() to calculate
3920         window/region intersections.
3921         
3922         * gtk/gtkmain.c (gtk_main_do_event):
3923         Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
3924         Use gtk_widget_send_expose() to send expose events.
3925         
3926         * gtk/gtkbin.c:
3927         * gtk/gtkbox.c:
3928         * gtk/gtkfixed.c:
3929         * gtk/gtkimagemenuitem.c:
3930         * gtk/gtklist.c:
3931         * gtk/gtkpacker.c:
3932         * gtk/gtktable.c:
3933         * gtk/gtktree.c:
3934         Remove expose handler, using the default container implementation
3935         instead.
3936         
3937         * gtk/gtkbutton.c:
3938         * gtk/gtkcheckbutton.c:
3939         * gtk/gtkeventbox.c:
3940         * gtk/gtkfixed.c:
3941         * gtk/gtkhandlebox.c:
3942         * gtk/gtklayout.c:
3943         * gtk/gtklistitem.c:
3944         * gtk/gtkmenu.c:
3945         * gtk/gtkmenubar.c:
3946         * gtk/gtkmenuitem.c:
3947         * gtk/gtknotebook.c:
3948         * gtk/gtkoptionmenu.c:
3949         * gtk/gtkpaned.c:
3950         * gtk/gtkscrolledwindow.c:
3951         * gtk/gtktogglebutton.c:
3952         * gtk/gtktoolbar.c:
3953         * gtk/gtktreeitem.c:
3954         * gtk/gtkviewport.c:
3955         Chain expose handler to parent class handler. Use
3956         gtk_container_propagate_expose() to propagate exposes.
3957
3958         * gtk/gtkclist.c (check_exposures):
3959         * gtk/gtktext.c (process_exposes):
3960         Use gtk_widget_send_expose instead of gtk_widget_event.
3961
3962 Thu Mar  8 19:40:28 2001  Jonathan Blandford  <jrb@redhat.com>
3963
3964         * gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function.
3965
3966 Thu Mar  8 19:18:27 2001  Jonathan Blandford  <jrb@redhat.com>
3967
3968         * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually
3969         unref the nodes.   Fixes bug #50058.
3970
3971         * gtk/gtktreemodel.c (gtk_tree_model_ref_node): change
3972         "::ref_iter" to "::ref_node".
3973         (gtk_tree_model_unref_node): change "::unref_iter" to
3974         "::unref_node". Fixes bug #50064.
3975
3976 Thu Mar  8 17:40:09 2001  Jonathan Blandford  <jrb@redhat.com>
3977
3978         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add
3979         support for invisible cells.
3980          (gtk_tree_view_bin_expose): ditto
3981
3982 Thu Mar  8 16:36:00 2001  Jonathan Blandford  <jrb@redhat.com>
3983
3984         * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
3985         on gobjects.
3986
3987         * tests/testtreefocus.c (main): New test file.
3988
3989         * tests/testtreeview.c: update to latest glib changes.
3990
3991         * tests/testtreecolumns.c: update to latest glib changes.
3992
3993 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
3994
3995         * gtk/testgtk.c: re-enabled event watcher emission hooks.
3996
3997 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
3998
3999         * *.c: added accumulator data argument to g_signal_newc()
4000         functions.
4001
4002         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
4003         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
4004         * gtk/treestoretest.c (make_window):
4005         s/g_signal_connect/g_signal_connectc/.
4006
4007         * gtk/gtktextbuffer.c: completed signal arg fixups,
4008         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
4009
4010 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
4011
4012         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
4013         G_CONST_RETURN.
4014
4015         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
4016         ::hierarchy-changed signal when a widget changes
4017         from anchored to unanchored or vice versa.
4018         (anchored means 
4019          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
4020         Use a private flag to keep track of this efficiently.
4021
4022 2001-03-07  Havoc Pennington  <hp@redhat.com>
4023
4024         * gtk/testgtk.c (create_spins): uglify so that size request gets
4025         tested.
4026
4027         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
4028         request on values for upper/lower, completes #6152
4029
4030 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
4031
4032         * Makefile.am: Remove gtk-config-2.0 again.
4033         (Grrrr, pkg-config. And stops make loops.)
4034
4035 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
4036
4037         * gtk/gtksignal.[hc]: removed old emission hook API.
4038         
4039         * docs/Changes-2.0.txt: fixed sections.
4040         
4041         * gtk/gtktextbuffer.c: signal arg fixups.
4042
4043 2001-03-07  Havoc Pennington  <hp@redhat.com>
4044
4045         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
4046
4047         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
4048         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
4049         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
4050         validation and the redraw which is higher priority than the
4051         validation.
4052
4053 2001-03-07  Havoc Pennington  <hp@redhat.com>
4054
4055         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
4056         (gtk_entry_set_property): remove trailer
4057
4058         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
4059         (gtk_entry_get_width_chars): new functions, to set size request to 
4060         a given number of characters
4061
4062         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
4063
4064         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
4065         (gtk_dialog_get_has_separator): new function
4066         (run_delete_handler): fix to not emit "response" signal
4067         because we already did in the delete event handler installed
4068         at dialog creation time.
4069         
4070         * gtk/gtkdialog.h: add a has_separator property,
4071         add GTK_DIALOG_NO_SEPARATOR flag
4072
4073 2001-03-07  Havoc Pennington  <hp@redhat.com>
4074
4075         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
4076         off decorations for a window.
4077
4078         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
4079         changes
4080
4081         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
4082         to get location of PangoLayout inside the label, closes #51198
4083
4084         * gtk/testgtk.c (create_bbox): fix up button box usage
4085
4086         * gtk/testcalendar.c (create_calendar): fix up button box usage
4087
4088         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
4089
4090         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
4091
4092         * gtk/gtkhbbox.h: deprecations
4093
4094         * gtk/gtkvbbox.h: deprecations
4095
4096         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
4097         emulate deprecated gtk_button_box_get_spacing
4098
4099         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
4100         the "set global default" functions
4101         (struct _GtkButtonBox): remove "spacing" field, use the one from 
4102         GtkBox base class
4103
4104         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
4105
4106         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
4107         render the icon, return the missing image icon.
4108
4109         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
4110         image icon if the load fails.   
4111
4112         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
4113         when no image is found; should be the Netscape "missing image"
4114         icon eventually but for now is a random image
4115
4116         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
4117         role for the session manager
4118
4119         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
4120
4121         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
4122         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
4123
4124         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
4125
4126 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
4127
4128         * gtk/*.c: marshaller fixes.
4129         
4130         * gtk/gtkmarshal.list: extreme cleanup.
4131
4132         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
4133         param spec for now.
4134
4135         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
4136         where appliable.
4137
4138         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
4139         special cased autogenerated boxed types from gtktypebuiltins_ids.c
4140         which are not reference counted:
4141         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
4142         PangoFontDescription, GtkTreeIter and GtkTreePath.
4143
4144 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
4145
4146         * gtk/gtktreeselection.h: 
4147         * gtk/gtktreemodel.c:
4148         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
4149         file should be included directly, and gobject/gmarshal.h
4150         as well as gtk/gtkmarshal.h even can't be included directly.
4151
4152         * Makefile.am: grr, install gtk-config-2.0.
4153
4154         * gtk/testgtk.c:
4155         * gtk/simple.c:
4156         * gtk/gtkmenu.c:
4157         * gtk/gtkitemfactory.c: use g_object_connect() instead of
4158         passing "*signal*::*" args to gtk_widget_set().
4159         
4160         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
4161         
4162         * gtk/*.c: removed trailer arg from property setters and getters.
4163         macro fixups.
4164
4165 2001-03-07  Alexander Larsson  <alexl@redhat.com>
4166
4167         * gtk/gtklabel.c (set_markup): Removed warning
4168
4169 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
4170
4171         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
4172         field to allow you to hide cell renderers.
4173
4174         * gtk/gtkcellrenderer.c: Add support for invisible cells.
4175
4176         * gtk/gtktreeview.c: Add support for invisible cells.
4177
4178 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
4179
4180         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
4181         Add "clicked" signal back to columns.
4182
4183         * ChangeLog: remove conflict markers.
4184
4185 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
4186
4187         * gtk/gtkbutton.c: Add animation of activation by, on 
4188         activate, pressing the button, and adding a timeout that 
4189         releases the button after 250ms or on key release and
4190         emits ::clicked. (#51501)
4191
4192         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
4193         action area, we connect to ::clicked instead of ::activate
4194         so the dialog stays up through the animation.
4195
4196 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
4197
4198         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
4199         check the ignore_enter flag for the menu shell that
4200         the item is actually a child of, not for attached
4201         submenus. (#51536)
4202
4203 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
4204
4205         * gtk/gtkmain.c (gtk_propagate_event): Only do special
4206         special key-press grab handling for widgets within
4207         GtkWindows. Otherwise, fall through to normal case.
4208
4209         This prevents key events being sent twice to GtkInvisible
4210         widgets, which can cause all sorts of mischief.
4211
4212 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
4213
4214         * gtk/gtkmain.c (gtk_propagate_event): When a grab
4215         widget is in effect, give the grab widget a first
4216         crack at KEY_PRESS/RELEASE events. (#424)
4217
4218 2001-03-06  James Henstridge  <james@daa.com.au>
4219
4220         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
4221         offset for the window_state_event to point at window_state_event
4222         rather than no_expose_event.
4223
4224 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
4225
4226         * gtk/gtkimmodule.h: fix busted /* comment */
4227
4228 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
4229
4230         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
4231         object properties.
4232
4233 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
4234
4235         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
4236         add object properties.
4237
4238         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
4239         to add object properties.
4240
4241         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
4242         object properties.
4243
4244         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
4245         add object properties.
4246
4247         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
4248         object properties.
4249
4250 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
4251
4252         * gtk/gtktreemodel.c: renamed "child_toggled" to
4253         "has_child_toggled".
4254
4255         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
4256         handle new signal name.
4257
4258         * gtk/gtktreestore.c: Updated to handle new signal name.
4259         * gtk/gtklisttore.c: Updated to handle new signal name.
4260         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
4261
4262 2001-03-05  Alexander Larsson  <alexl@redhat.com>
4263
4264         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
4265         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
4266
4267 2001-03-05  Michael Natterer  <mitch@gimp.org>
4268
4269         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
4270         pixbuf-engine coincidentially also failed to make one of it's
4271         parent_class pointers static, causing overwriting of GtkLabel's
4272         parent_class pointer in pixbuf_style_class_init().
4273         (Will commit the fix to the pixbuf-engine too).
4274
4275 2001-03-05  Alexander Larsson  <alexl@redhat.com>
4276
4277         * gdk/gdkwindow.h:
4278         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
4279         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
4280         gdk_window_set_icon_list for net wmspec functionality.
4281
4282         * gdk/x11/gdkwindow-x11.c:
4283         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
4284         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
4285         gdk_window_set_icon_list.
4286         Added gdk_wmspec_change_state helper function and used it in the code.
4287         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
4288
4289         * gtk/gtkdialog.c (gtk_dialog_init):
4290         Set GDK_WINDOW_TYPE_HINT_DIALOG.
4291
4292         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
4293         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
4294
4295         * gtk/gtkwindow.c:
4296         new function gtk_window_set_type_hint.
4297         On realize, set type hint and modal hint.
4298
4299         * gtk/gtkwindow.h:
4300         Added type_hint field and gtk_window_set_type_hint.
4301
4302 2001-03-05  Alexander Larsson  <alexl@redhat.com>
4303
4304         * gtk/gtklabel.[ch]:
4305         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
4306         New function gtk_label_get_accel_keyval () to get the underline accelerator
4307         of the label. Setting the label pattern overrides other attributes.
4308
4309 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
4310
4311         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
4312         Added missing initializers to gtk_rc_style_init().
4313
4314 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
4315
4316         * gtk/gtktextview.c: fixed bug #51097 about setting 
4317         gtk_text_view_set_border_window_size() if the widget is 
4318         already realized.
4319
4320 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
4321
4322         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
4323
4324         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
4325         comment. Won't do to have duplicated doc comments between
4326         the platform subdirs.
4327
4328 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
4329
4330         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
4331           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
4332
4333         Detectable auto-repeat - make a repeating key generate
4334         press/press/press/release instead of press/release pairs.
4335
4336         If we have Xkb and XkbSetDectableAutoRepeat supports
4337         that, we do it that way. Otherwise, when we get
4338         a release event, we check ahead with XPending to see
4339         if the next key is a KeyPress with the same keycode
4340         and timestamp. (Not 100% reliable, but pretty close.)
4341           
4342 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
4343         
4344         * gtk/gtkmain.c (gtk_propagate_event): Only do special
4345         special key-press grab handling for widgets within
4346         GtkWindows. Otherwise, fall through to normal case.
4347  
4348         This prevents key events being sent twice to GtkInvisible
4349         widgets, which can cause all sorts of mischief.
4350  
4351 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
4352  
4353         * gtk/gtkmain.c (gtk_propagate_event): When a grab
4354         widget is in effect, give the grab widget a first
4355         crack at KEY_PRESS/RELEASE events. (#424)
4356  
4357 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
4358
4359         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
4360         to extend the selection. (Roughly based on patch
4361         from Jay Cox, #50939)
4362
4363         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
4364         to properly handle previous GDK_BUTTON_PRESS. 
4365         (Patch from Jay Cox, #50938)
4366
4367         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
4368         '\0' back along with the deleted text. (#51148)
4369
4370 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
4371
4372         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
4373         the group when extracting it from the X keyboard event.
4374
4375         * modules/input/Makefile.am modules/input/imipa.c: 
4376         Simple module for entering IPA. (Do we need a 
4377         gtk-stupid-input-tricks CVS module?)
4378
4379 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
4380
4381         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
4382         const.
4383
4384         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
4385
4386         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
4387         is no focus widget for the dialog currently, grab the focus as well
4388         as the default.
4389
4390         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
4391         the action area's children to iterate through, not the
4392         dialog's children.
4393
4394 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
4395
4396         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
4397         Add plug-socket tests. (Won't work worth a darn until I commit
4398         the rest of the plug-socket changes, but no reason these
4399         can't go into CVS now.)
4400
4401 2001-03-02  Havoc Pennington  <hp@redhat.com>
4402
4403         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
4404         _gdk_region_get_xrectangles()
4405
4406         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
4407
4408         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
4409
4410         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
4411         function, contributed by Ron Steinke    
4412
4413         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
4414         gdk_net_wm_supports
4415
4416         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
4417         New function, contributed by Ron Steinke
4418
4419         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
4420         used to line up the text in the entry when using the entry for
4421         editable sheet cell hacks
4422
4423         * gtk/testgtk.c (create_entry): test the activate_default setting
4424         on GtkEntry
4425
4426         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
4427         cause the entry to activate the default button for a dialog when 
4428         activated
4429         (gtk_entry_get_activates_default): new function
4430
4431 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
4432
4433         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
4434         Hwang to move call to sync_selection() up a few lines
4435         to before the row list is modified, to fix crash when
4436         removing rows in the undo_selection list.
4437
4438         (Test case provided by Daniel Elstner:
4439
4440         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
4441
4442 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
4443
4444         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
4445         of tree->root_tree in parent_set rather than _map(), 
4446         fixing #50892 in a bit better manner.
4447
4448 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
4449
4450         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
4451
4452 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
4453
4454         * gtk/gtkstyle.c : Remove duplicate fwd decl for
4455         gtk_default_draw_shadow.
4456
4457 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
4458
4459         * gdk/gdkimage.c (gdk_image_new): Remove excess 
4460         warning, make warnings more verbose, treat a error
4461         in shmat as permanent, and don't try again.
4462         (#51163, Ed Randall.)
4463
4464 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
4465
4466         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
4467         delay for the first click before starting to scroll.
4468         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
4469
4470         * gtk/gtktext.c: GtkText should have I-beam cursor. 
4471         (based on gtk-enf-990513-1.patch, Eric Fisher.)
4472
4473 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
4474
4475         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
4476         cleanup to remove some references to unused
4477         ->xoffset, ->yoffset.
4478
4479 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
4480
4481         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
4482         mask. (#51039, fix from Martin Maierhofer)
4483
4484 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
4485
4486         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
4487         for unshifted + and shifted = for non-us keyboards.
4488         Make <Control>+ and <Control>- work as well as 
4489         <Control>KP_Plus, <Control>KP_Minus for recursive
4490         open/close.  (#2682, René Seindal)
4491
4492 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
4493
4494         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
4495         the active menu item before deactivating the menu,
4496         so gtk_menu_popdown doesn't change the history. (#50964)
4497         
4498 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
4499
4500         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
4501         draw lines with text_gc rather than black_gc.
4502         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
4503
4504 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
4505
4506         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
4507         Move handling of buttons fully in gtktreeviewcolumn.  This code is
4508         less interrelated then it was, but it still requires the
4509         GtkTreeView to map it.
4510
4511         * test/testtreecolumn.c: Now I can add a column to one view,
4512         remove it, add it to the another view, remove it, then re-add it
4513         to the first.  Nifty.
4514
4515 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
4516
4517         * docs/tutorial/gtk-tut.sgml: Minor corrections
4518
4519 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
4520
4521         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
4522         GtkRowReference.
4523
4524 2001-02-28  Havoc Pennington  <hp@redhat.com>
4525
4526         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
4527         draw_default
4528         (gtk_widget_draw_focus): remove this function; we could instead
4529         make it just gtk_widget_draw(), but in most cases I think the
4530         result would be broken user code, so think it's better to have
4531         that code not compile and get fixed
4532         (gtk_widget_draw_default): ditto
4533
4534         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
4535         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
4536         
4537         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
4538         widgets lose/get the default, instead of calling draw_default
4539         
4540         * docs/Changes-2.0.txt: note about all this
4541
4542         Then fixed every widget in GTK, I won't list all the filenames.
4543
4544 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
4545
4546         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
4547         _gtk_tree_row_reference_deleted.
4548         (inserted_callback): Proxy out to
4549         _gtk_tree_row_reference_inserted.
4550         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
4551         get around signal emission ordering problem.
4552
4553         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
4554         fix to work with SINGLE 
4555         (_gtk_tree_selection_internal_select_node): Major sanitization on
4556         selections.  SINGLE now seems to work.
4557
4558         * tests/Makefile.am: add testtreecolumn.c:
4559
4560         * tests/testtreecolumn.c: New test.  Mostly points out selection
4561         bugs currently, but will test columns later.
4562
4563         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
4564         selection bug.  I hate touching this code -- it's scary.
4565
4566 2001-02-26  Havoc Pennington  <hp@redhat.com>
4567
4568         * gtk/testgtk.c: test the window state stuff
4569
4570         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
4571         window come to the user's attention as if it were just created
4572         (gtk_window_iconify): new function
4573         (gtk_window_deiconify): new function
4574         (gtk_window_stick): new function
4575         (gtk_window_unstick): new function
4576         (gtk_window_maximize): new function
4577         (gtk_window_unmaximize): new function
4578
4579         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
4580
4581         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
4582
4583         * gdk/x11/gdkevents-x11.c: create window state events when
4584         appropriate
4585         (gdk_wmspec_supported): new function
4586
4587         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
4588         iconification before showing the window
4589         (gdk_window_deiconify): new function
4590         (gdk_window_stick): new function
4591         (gdk_window_unstick): new function
4592         (gdk_window_maximize): new function
4593         (gdk_window_unmaximize): new function
4594
4595         * gdk/gdkwindow.c: store the window state in the window; 
4596         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
4597         window->mapped.
4598         (gdk_window_get_state): return the current window state
4599
4600         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
4601         (gdk_event_get_state): handle GDK_WINDOW_STATE
4602         (gdk_synthesize_window_state): function to create the window state
4603         events
4604
4605         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
4606         event, for changes to "window state" such as maximized, sticky, 
4607         etc.
4608         
4609         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
4610         focuses a window
4611
4612         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
4613         finds out if we support a given WM spec hint
4614
4615 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
4616
4617         * docs/faq/gtk-faq.sgml: New question re memory leaks.
4618
4619 2001-02-25  Hans Breuer  <hans@breuer.org>
4620
4621         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
4622         cause we want to loose those prototypes only in the latter case
4623
4624         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
4625         GdkPixmapImplWin32 because it itsn't derived from it. Use the
4626         impl member variable instead
4627
4628         * gtk/gtk.def : updated
4629
4630         * gtk/gtklist.c : 
4631         * gtk/gtkmenus.c : include <string.h> for memset ()
4632
4633         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
4634         for everthing built here, but for gtk-x.x.dll only. This solves
4635         problem of indifferent gtk type definitions
4636
4637 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@redhat.com>
4638
4639         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
4640
4641 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
4642
4643         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
4644         column that is exposed.
4645
4646         (_gtk_tree_view_update_size): Changed name from set_size, and
4647         changed function to do more work, and not force people calling it
4648         to figure out the size.  Simplifies a lot of code elsewhere.
4649
4650 2001-02-23  Alexander Larsson  <alexl@redhat.com>
4651
4652         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
4653         return solid masks for xpms that have no transparent color.
4654         This makes the ..._create_from_xpm... API backwards
4655         compatible.
4656
4657 2001-02-23  Tor Lillqvist  <tml@iki.fi>
4658
4659         * README.win32: Update. Mention the gtk-1-3-win32-production
4660         branch.
4661
4662         * gdk/win32/bdfcursor.c: New file. A program that generates
4663         xcursors.h. Thanks to Stefan Ondrejicka.
4664
4665         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
4666         compact format.
4667
4668         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
4669
4670         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
4671         function, uses xcursors.h.
4672         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
4673         cursor from inline data instead of using LoadCursor() to generate
4674         it from a resource.
4675
4676         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
4677         event, must check the Windows message for mouse button state, as
4678         the GDK event state might not have been built if it is
4679         undelivered. Remove one goto.
4680
4681         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
4682         SetCursor() if the current cursor as returned by GetCursor() is
4683         the window's previous cursor. The ChildWindowFromPoint() test
4684         apparently didn't work correctly.
4685
4686         * gdk/win32/rc/*.cur: Remove.
4687
4688         * gdk/win32/rc/gdk.rc.in: Remove cursors.
4689
4690         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
4691
4692         * gtk/makefile.{mingw,msc}.in: Updates.
4693
4694 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
4695
4696         * gtk/gtktreemodel.h: add functions for signal emission.
4697
4698         * gtk/gtktreestore.c: move to use above functions instead of
4699         g_signal_emit.
4700
4701         * gtk/gtkliststore.c: ditto
4702
4703 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
4704
4705         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
4706         GObject instead of GtkObject.
4707
4708         * gtk/gtkliststore.c: ditto.
4709
4710         * gtk/gtktreemodelsort.c: ditto.
4711
4712         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
4713         GtkTreeModelIface, instead of in each model.
4714
4715 2001-02-21  Havoc Pennington  <hp@redhat.com>
4716
4717         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
4718         unbreak this function
4719
4720         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
4721         properties
4722
4723         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
4724         properties
4725
4726         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
4727         properties
4728
4729         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
4730         mean unset the max length
4731
4732 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
4733
4734         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
4735         Changed name to be set_cell_data_func to make it clear what
4736         the functino does.  Close bug #51069.
4737
4738 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
4739
4740         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
4741         have memory actually freed.  Keeps box running longer.
4742
4743 2001-02-21  Alexander Larsson  <alexl@redhat.com>
4744         
4745         * gtk/gtkseparatormenuitem.[ch]:
4746         Added new menu separator item. The drawing and size handling
4747         is still done in GtkMenuItem, but the API is a bit more sane.
4748         
4749         * gtk/Makefile.am:
4750         Add gtkseparatormenuitem.[ch].
4751
4752         * gtk/gtk.h:
4753         Add gtkseparatormenuitem.h.
4754         
4755         * gtk/gtkentry.c:
4756         * gtk/gtkmenufactory.c:
4757         * gtk/gtktextview.c:
4758         Use the new API for menu separators.
4759         
4760         * demos/gtk-demo/menus.c (create_menu):
4761         Add some GtkSeparatorMenuItem demo code.
4762
4763 2001-02-20  Havoc Pennington  <hp@redhat.com>
4764
4765         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
4766         Lee Mallabone
4767
4768         * gtk/gtkarrow.c: Convert to new property API, patch from 
4769         Lee Mallabone
4770
4771 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
4772
4773         * tests/testtreeview.c (toggled_callback): fix to reflect change
4774         in GtkTreeModelStore.
4775
4776 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
4777
4778         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
4779         function to create an icon set from a pixbuf.
4780
4781 2001-02-20  Alexander Larsson  <alexl@redhat.com>
4782
4783         * gtk/gtkcellrenderertext.[ch]:
4784         Add a "markup" property.
4785
4786         * gtk/treestoretest.c:
4787         Use the markup property, remove some leftover stuff from
4788         GtkTreeModelMapping.
4789
4790 2001-02-20  Alexander Larsson  <alexl@redhat.com>
4791
4792         * gtk/gtklabel.c (gtk_label_set_selectable):
4793         Queue a redraw if the selectable setting was changed.
4794
4795 2001-02-20  Alexander Larsson  <alexl@redhat.com>
4796
4797         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
4798         Actually copy the whole gc, not just the public parts.
4799         
4800         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
4801         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
4802         labels.
4803
4804 2001-02-19  Havoc Pennington  <hp@pobox.com>
4805
4806         * gdk/gdkwindow.c: docs
4807
4808         * gdk/gdkrgb.c: docs
4809
4810         * gdk/gdkregion-generic.c: docs
4811
4812         * gdk/gdkgc.c (gdk_gc_set_values): docs
4813
4814         * gdk/gdkdraw.c: docs
4815
4816         * gdk/gdkdrawable.h: deprecate drawable get/set data
4817
4818 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
4819
4820         * demos/gtk-demo/dialog.c: Add simple new demo.
4821
4822 2001-02-19  Havoc Pennington  <hp@redhat.com>
4823
4824         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
4825         insert_child_anchor signal, bug #50245
4826
4827         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
4828         from create_child_anchor, so the anchor is passed in
4829
4830         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
4831         (_gtk_widget_segment_new): have the child anchor object passed in, 
4832         instead of creating it.
4833
4834         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
4835         to gtk_text_buffer_get_modified
4836
4837 2001-02-19  Havoc Pennington  <hp@redhat.com>
4838
4839         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
4840         changed GLib without fixing GTK
4841
4842         * gtk/gtkrange.h: Rename all the stupid implementation detail 
4843         functions to have an underscore in front. Most of them should 
4844         probably just go away, but for starters don't export them.
4845         Bug #50482
4846
4847 2001-02-19  Havoc Pennington  <hp@redhat.com>
4848
4849         * gdk/gdkcolor.h: test was backward, so deprecated functions were
4850         excluded by default
4851
4852         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
4853         clean up the old code a bit
4854
4855         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
4856         inconsistent state
4857
4858         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
4859         draw inconsistent state
4860
4861         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
4862         (create_menu): add inconsistent test
4863
4864         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
4865         new function
4866         (gtk_check_menu_item_get_inconsistent): new function
4867         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
4868         state (using etched in for now)
4869
4870         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
4871         draw inconsistent state
4872
4873         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
4874         function, used when the user has selected a range of stuff in
4875         different states
4876         (gtk_toggle_button_get_inconsistent): accessor for that
4877         (gtk_toggle_button_paint): draw inconsistent state (etched in?
4878         don't know what else to do)
4879
4880 2001-02-19  Hans Breuer <hans@breuer.org>
4881
4882         * gtk/gtk.def : updated exported symbols
4883
4884         * gtk/makefile.msc.in : updated
4885
4886         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
4887         a colormap, when invoked from testgtk::entry. I'm not sure where
4888         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
4889         avoids immediate crashing ...
4890
4891         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
4892         any objections ?
4893
4894         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
4895         0 parameter. At least msvc doesn't like macros with var args. 
4896         I simply removed the extra 0, was it a feature or a typo ?
4897
4898         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
4899         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
4900         because the value assignment to the internal struct wasn't working.
4901         I'm not absolutely sure. The problem could have been resolved by
4902         changing the "func" declartion in the struct, but was the pointer
4903         to the function pointer intended ?
4904
4905         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
4906
4907         * gdk/gdk.def : updated exported symbols
4908
4909         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
4910         only use SetDIBitsToDevice if there is a palette at the drawable
4911         and the image is GDK_VISUAL_PSEUDO_COLOR
4912
4913         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
4914
4915         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
4916
4917         * gdk/*/makefile.msc : updated
4918
4919 2001-02-19  Havoc Pennington  <hp@redhat.com>
4920
4921         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
4922         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
4923
4924         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
4925         (gdk_key_repeat_restore): nuke
4926
4927         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
4928         (gdk_init_check): no atexit func
4929
4930         * gdk/gdkrgb.h: mark some stuff deprecated
4931
4932         * gdk/gdkcolor.h: mark some stuff deprecated
4933         
4934         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
4935
4936         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
4937
4938 2001-02-16  Havoc Pennington  <hp@redhat.com>
4939
4940         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
4941         scroll steps.
4942
4943         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
4944         steps, and add Ctrl-arrow shortcuts for paging visually as with
4945         HScale, since Page Up and Page Down move logically.
4946
4947         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
4948         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
4949         
4950         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
4951         steps
4952         (gtk_range_scroll): handle the visual steps
4953
4954         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
4955         scroll steps
4956
4957         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
4958         steps, not the logical ones.
4959
4960         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
4961         (scroll_vertical): handle up/down steps
4962
4963 2001-02-19 Alexander Larsson  <alexl@redhat.com>
4964
4965         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
4966         Copy data and free data with free().
4967
4968         * gdk-pixbuf/gdk-pixbuf.c:
4969         * gdk-pixbuf/io-jpeg.c:
4970         * gdk-pixbuf/io-png.c:
4971         Use g_try_malloc/g_free instead malloc/free.
4972         
4973         * gdk-pixbuf/test-gdk-pixbuf.c:
4974         Must... initialize... gobject...
4975         
4976         * gdk-pixbuf/pixops/timescale.c:
4977         * gtk/gtkcalendar.c:
4978         Use g_malloc instead of malloc.
4979         
4980 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
4981
4982         * gtk/testgtkrc:
4983         Comment out property assignments, these don't work yet.
4984
4985 2001-02-17  Havoc Pennington  <hp@pobox.com>
4986
4987         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
4988         bit.
4989
4990 2001-02-17  Havoc Pennington  <hp@pobox.com>
4991
4992         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
4993         shadowed variables that had broken size request in some cases,
4994         leading to bogus tooltips (#50996)
4995
4996 2001-02-06  Jon K Hellan  <hellan@acm.org>
4997
4998         Implement fast browsing of tooltips, bug #50619
4999         
5000         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
5001         and last_popdown
5002         
5003         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
5004         use_sticky_delay and last_popdown.
5005         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
5006         time of popdown.
5007         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
5008         is NULL.
5009         (gtk_tooltips_recently_shown): New static function.  Return true
5010         if < sticky_delay has elapsed since last popdown.
5011         (gtk_tooltips_event_handler): Display window after sticky_delay
5012         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
5013         since last popdown.
5014         
5015 2001-02-17  Havoc Pennington  <hp@pobox.com>
5016
5017         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
5018         instead of (). #6394
5019
5020         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
5021         G_CONST_RETURN, make it return by reference, #50473
5022         
5023 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
5024
5025         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
5026         generated ENTER_NOTIFY event with 0, otherwise not explicitely
5027         setup fields contain garbage (e.g. subwindow, breaking
5028         gdk_drawable_ref() upon event copy).
5029         (gtk_menu_stop_navigating_submenu_cb): same here.
5030
5031         * gtk/gtklist.c (gtk_list_vertical_timeout): 
5032         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
5033         * gtk/gtkclist.c (vertical_timeout): 
5034         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
5035         default-zero-intialization for unions to memset(,0,), as unions are
5036         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
5037         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
5038
5039         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
5040         g_closure_sink() warning.
5041
5042         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
5043         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
5044         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
5045         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
5046         
5047 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
5048
5049         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
5050         gtk_*_store_get, and moved to GtkTreeModel.
5051
5052         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
5053
5054         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
5055
5056         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
5057
5058         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
5059         set the func.
5060
5061         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
5062         freeze/thaw notify between setting all the properties for a cell.
5063
5064         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
5065
5066 2001-02-15  Havoc Pennington  <hp@redhat.com>
5067
5068         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
5069         the X coordinates so they're with respect to the line, rather than 
5070         with respect to the layout.
5071
5072         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
5073         Mallabone
5074
5075         * gtk/testgtk.c (create_range_controls): add vscale tests, 
5076         and inverted test
5077
5078         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
5079         #50806
5080
5081         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
5082
5083         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
5084         gtk_text_iter_is_end
5085
5086         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
5087         rename gtk_text_buffer_get_end_iter
5088
5089         * gtk/testgtk.c (create_labels): Add test for selectable
5090
5091         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
5092         the selection stuff. This code is kind of broken since it doesn't 
5093         use the theme engine.
5094
5095         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
5096         fix infinite loop and y offset problem
5097         (gdk_draw_layout_line_with_colors): fix foreground color handling
5098
5099         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
5100         that makes the label selectable.
5101         
5102         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
5103         layout when the style is set, since fonts etc. could have changed.      
5104
5105 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
5106
5107         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
5108
5109         * gtk/gtktreemodelsimple.[ch]: removed.
5110
5111 2001-02-16  Alexander Larsson  <alexl@redhat.com>
5112
5113         * gtk/gtktreemodelmapping.[ch]:
5114         New files. Implement GtkTreeModelMapping.
5115         
5116         * gtk/Makefile.am:
5117         Add gtktreemodelmapping.[ch].
5118         
5119         * gtk/gtk.h:
5120         Add gtktreemodelmapping.h
5121
5122         * gtk/treestoretest.c:
5123         Test the GtkTreeModelMapping
5124
5125 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
5126
5127         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
5128         have a demo, we might as well pass in real values.  Thanks to
5129         clahey for pointing this out.
5130
5131 2001-02-14  Havoc Pennington  <hp@pobox.com>
5132
5133         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
5134         "static" to a private function
5135         (gtk_image_menu_item_class_init): remove destroy handler,
5136         add "image" object property
5137
5138 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
5139
5140         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
5141         Add a shortcut if the window and the current clip_region doesn't
5142         overlap. This is needed when there are a lot of windows in a
5143         window. The layout test in testgtk is a good test.
5144
5145         * gdk/linux-fb/gdkwindow-fb.c:
5146         Whitespace fix.
5147
5148 2001-02-13  Sven Neumann  <sven@convergence.de>
5149
5150         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
5151
5152 2001-02-13  Alexander Larsson  <alexl@redhat.com>
5153
5154         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
5155         Don't reference last_cursor if it is null. Fixes crash when rotating
5156         the screen before having moved the mouse.
5157
5158         * gdk/linux-fb/gdkcc-fb.c: Zapp!
5159
5160         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
5161
5162         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
5163         when using 90 or 270 degrees rotation.
5164
5165 2001-02-12  Havoc Pennington  <hp@pobox.com>
5166
5167         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
5168         it always set the foreground, even if we were only using
5169         a stipple.
5170         (gdk_draw_layout_line_with_colors): new function, allow
5171         override colors
5172         (gdk_draw_layout_with_colors): new function, allow override
5173         colors
5174         (gdk_pango_layout_line_get_clip_region): function to get the clip
5175         region for a logical text range
5176         (gdk_pango_layout_get_clip_region): get the clip region for a
5177         logical text range
5178
5179         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
5180         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
5181         the right number of arguments.
5182
5183         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
5184         enhance the function to check that node data corresponds to a 
5185         view still belonging to the tree.
5186
5187         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
5188         GtkTreePath
5189         (gtk_tree_view_inserted): ditto
5190         (gtk_tree_view_child_toggled): ditto
5191
5192         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
5193         simplify this code.
5194
5195         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
5196         a PangoAttrList
5197
5198         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
5199
5200         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
5201
5202         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
5203         size in the size request 
5204         (gtk_menu_bar_size_allocate): consider toggle size here
5205
5206         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
5207         that displays a widget in the toggle slot
5208
5209         * gtk/testgtk.c: test GtkImageMenuItem
5210
5211         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
5212         
5213         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
5214         request and allocation
5215
5216         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
5217
5218         * gtk/gtkcheckmenuitem.c
5219         (gtk_check_menu_item_toggle_size_request): ditto
5220         
5221 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
5222
5223         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
5224         reference.
5225
5226         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
5227         and refuse to initialize GTK+ if they fail.
5228
5229 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
5230
5231         * configure.in: Add check for gtk-doc version.
5232
5233 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
5234
5235         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
5236         where the xpad/ypad was only being used on one side!
5237
5238 2001-02-11  Tor Lillqvist  <tml@iki.fi>
5239
5240         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
5241         function, copied from X11 version.
5242
5243         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
5244         DestroyCursor failures. The reason for the problem (despite the
5245         inconsistent messages from GetLastError()) was that
5246         DestroyCursor() cannot be called while a cursor is set in a
5247         window. Set the new cursor first and then destroy the old one.
5248         Thanks to jpe@archaeopteryx.com.
5249
5250         * gdk/win32/gdkcc-win32.c: Remove.
5251
5252         * gdk/win32/Makefile.am: Remove from here, too.
5253         
5254         * gdk/gdk.def
5255         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
5256
5257         * gtk/gtk.def
5258         * gtk/makefile.mingw.in: Updates.
5259
5260 2001-02-08  Havoc Pennington  <hp@redhat.com>
5261
5262         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
5263         add a widget to a bin that already has a child.
5264
5265         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
5266
5267         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
5268         
5269         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
5270
5271         * gdk/gdk.h: remove gdkcc.h
5272
5273         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
5274
5275         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
5276         GdkPixbuf, since the previous implementation was GdkColorContext
5277         dependent.
5278
5279         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
5280         
5281 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
5282
5283         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
5284         a sane value!
5285
5286 2001-02-08  Havoc Pennington  <hp@redhat.com>
5287
5288         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
5289         lighten them.
5290
5291 2001-02-08  Havoc Pennington  <hp@redhat.com>
5292
5293         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
5294         validation idle
5295
5296         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
5297         cell renderer
5298
5299         * demos/pixbuf-demo.c (timeout): remove deprecated
5300         gtk_widget_draw
5301
5302         * demos/testpixbuf-save.c (main): remove deprecated
5303         gtk_drawing_area_size
5304
5305         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
5306         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
5307         at the start of the allocation.
5308         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
5309         unsetup or NULL model.
5310
5311         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
5312         even/odd/sorted cells in the tree view.
5313
5314         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
5315         bugfixes
5316
5317         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
5318         backgrounds with draw_flat_box using different detail for even/odd
5319         rows.
5320
5321         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
5322         row, so we can draw the alternating colors thing
5323
5324         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
5325         property from a synonym property, notify for the synonym.
5326         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
5327         (gtk_text_tag_get_property): Always return the font, even if
5328         all its fields aren't set
5329
5330         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
5331         store the attr list; it leaves us with no way to change attributes
5332         in _render according to the render flags, and no way to implement
5333         get_property. Instead store all the specific text attributes. 
5334         Separate whether an attribute is enabled from its value. Sync all
5335         properties with GtkTextTag, make them all consistent, etc.
5336
5337         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
5338         renderers can highlight the sort row/column     
5339
5340         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
5341         accessor functions to get values; this has the side effect of
5342         showing up which accessor functions were missing. Added those.
5343
5344         * gtk/gtktreeviewcolumn.h: Replace set_justification with
5345         set_alignment, to be consistent with GtkLabel, GtkMisc
5346
5347         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
5348         arrow.
5349
5350         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
5351
5352         * gtk/gtktreesortable.h: updates in here
5353
5354 2001-02-07  Sven Neumann  <sven@convergence.de>
5355
5356         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
5357         pango dimensions after painting the background. We used to draw
5358         gigantic flat boxes here.
5359
5360 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
5361
5362         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
5363         error introduced with earlier commit) (pointed out by
5364         Ollie Lho)
5365
5366 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
5367
5368         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
5369         which are no longer necessary.
5370
5371 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
5372
5373         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
5374
5375 2001-02-04  Tor Lillqvist  <tml@iki.fi>
5376
5377         * gdk/gdk.def
5378         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
5379         Provide dummy implementations.
5380
5381 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
5382
5383         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
5384
5385         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
5386         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
5387         deprecated this function.
5388
5389         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
5390         argument.
5391
5392 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
5393
5394         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
5395
5396 2001-02-03  Havoc Pennington  <hp@pobox.com>
5397
5398         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
5399         Mikael Hermansson with patch from Mikael (if there was a toggle
5400         start one after the first character in the range, this function
5401         was broken). Bug #50380
5402
5403 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
5404
5405         * configure.in: Remove confusing comment about X11.
5406
5407 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
5408
5409         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
5410         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
5411         
5412 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
5413
5414         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
5415         it breaks things on BSD. If you want to compile GTK+ with
5416         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
5417         when configuring, since GTK+ simply can't be "pure ANSI" 
5418         in the header files it uses. (#8170, Greg Hudson)
5419
5420 2001-02-02  Havoc Pennington  <hp@redhat.com>
5421
5422         * gtk/gtkwindow.c: docs
5423
5424         * gtk/gtkwidget.c: docs
5425         (gtk_widget_set_colormap): add a reference to the colormap
5426         (gtk_widget_get_default_colormap): add a reference to the colormap
5427
5428         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
5429
5430         * gtk/gtktextiter.c: docs
5431
5432         * gtk/gtkmain.c (gtk_propagate_event): docs
5433
5434         * gtk/gtkpaned.c (gtk_paned_get_position): docs
5435         (gtk_paned_set_position): docs
5436
5437         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
5438         sort interface, no implementation yet.
5439
5440         * demos/testpixbuf.c (new_testrgb_window): replace
5441         gtk_drawing_area_size() with gtk_widget_set_usize()
5442
5443         * demos/testpixbuf-drawable.c (main): ditto
5444         
5445         * gtk/testgtk.c: remove use of GtkStatusbarMsg
5446
5447         * gtk/gtktextbuffer.c: docs
5448
5449         * gtk/gtkstock.c: docs
5450
5451         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
5452
5453         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
5454
5455         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
5456         
5457         * gtk/gtkimage.c: add some docs in here
5458         (gtk_image_size_request): change name of
5459         gtk_widget_render_stock_icon
5460         (gtk_image_get_icon_set): don't dup returned string
5461         (gtk_image_get_icon_set): don't dup returned string
5462
5463         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
5464         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
5465         and gtkiconfactory.h functions
5466
5467         * gtk/gtkiconfactory.c: add some docs in here
5468
5469         * gtk/gtkmain.c (gtk_get_default_language): document
5470         (gtk_get_current_event): document
5471         (gtk_get_current_event_state): document
5472         (gtk_get_event_widget): document
5473
5474         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
5475
5476         * gtk/gtkcontainer.c: Add some documentation
5477         (gtk_container_add): give a more explanatory warning on adding an
5478         already-parented widget, this is kind of a FAQ and also a common
5479         typo that's easier to debug with a nice warning 
5480
5481         * gtk/gtkcellrenderertoggle.c
5482         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
5483         adding this, it's useless
5484         (gtk_cell_renderer_toggle_set_active): remove
5485         (gtk_cell_renderer_toggle_get_radio): add
5486
5487         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
5488         the NULL cell renderer, that doesn't make any sense to me. 
5489
5490         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
5491         demo code should never use deprecated features.
5492
5493         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
5494         code should never use deprecated features.
5495
5496         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
5497         gtk_widget_queue_clear_area deprecated
5498
5499         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
5500         deprecated
5501
5502         * gtk/gtklabel.h: mark gtk_label_get() deprecated
5503
5504         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
5505         a GdkImage deprecated, replaced by new consistently-named
5506         functions       
5507
5508         * gtk/gtkmain.h: Mark gtk_exit() deprecated
5509
5510         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
5511
5512         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
5513         deprecated
5514
5515         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
5516         so it won't appear in docs and confuse people.
5517
5518         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
5519
5520         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
5521         macros deprecated. (can't mark the type itself deprecated, since
5522         GtkProgressBar is not deprecated and we need the type decl to use
5523         GtkProgressBar)
5524
5525         * gtk/gtkpixmap.h: Mark deprecated
5526
5527         * gtk/gtkoldeditable.h: Mark deprecated
5528
5529         * gtk/gtklist.h: Mark deprecated
5530
5531         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
5532         for anything anymore.
5533
5534         * gtk/gtkctree.h: Mark deprecated
5535
5536         * gtk/gtkclist.h: Mark deprecated
5537
5538         * gtk/gtkpreview.h: Mark deprecated
5539
5540         * gtk/gtkpacker.h: Mark deprecated
5541
5542         * gtk/gtktipsquery.h: Mark deprecated
5543
5544         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
5545
5546         * gtk/gtkvruler.h: Add comment that it will move out of GTK
5547
5548         * gtk/gtkhruler.h: Add comment that it will move out of GTK
5549
5550         * gtk/gtkruler.h: Add comment that it will move out of GTK
5551
5552         * gtk/gtkgamma.h: Add comment that it will move out of GTK
5553
5554         * gtk/gtkcurve.h: Add comment that it will move out of GTK
5555
5556 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
5557
5558         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
5559         gdk_colormap_sync private since it was never exported
5560         in a header file.
5561
5562         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
5563         colormap->colors[] for StaticGray, StaticColor colormaps.
5564
5565         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
5566         was being used as if it was image->bits_per_pixel.
5567
5568         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
5569         for the image in the GdkImage structure since it isn't
5570         reconstructable, and we need it to handle packed types
5571
5572         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
5573         the assumption that on Win32 image->bits_per_pixel == image->depth,
5574         always.
5575
5576         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
5577
5578         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
5579         warning message if no converter can be found. 
5580
5581 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
5582
5583         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
5584         chars to isupper() / tolower(). (#567)
5585
5586         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
5587         to clear up 64-bit warnings. (#567)
5588
5589 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
5590
5591         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
5592         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
5593
5594         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
5595         since some people set $(libdir) separately. (#1290, David Kaelbling)
5596
5597 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
5598
5599         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
5600         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
5601         MAXPATHLEN, but the code here depends on a fixed value.)
5602         (#4524)
5603
5604 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
5605
5606         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
5607         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
5608
5609 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
5610
5611         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
5612         viewable there is no way that moving the node will cause the 
5613         focus row to become not viewable, so omit check on the visibility
5614         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
5615
5616 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
5617
5618         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
5619         selection before inserting new text.
5620
5621 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
5622
5623         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
5624         Make the sensitivity of the reparented child track that of
5625         the original parent menu item. (#34218, David Hodson)
5626
5627         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
5628         the case where the current item is destroyed properly.
5629
5630         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
5631         some edge cases with child-less menuitems.
5632         
5633 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
5634
5635         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
5636         key pop down window. (#12074, Jon K Hellan)
5637
5638 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
5639
5640         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
5641         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
5642         The solution here isn't perfect - you get an extraneous
5643         emission of "toggle", which could conceivably confuse an app,
5644         but better than the current situation. LXR search seems to
5645         indicate that no apps in GNOME CVS connect to "toggle".
5646
5647 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
5648
5649         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
5650         gtk_public_h_sources to directly here to avoid warning when
5651         building srcdir != builddir. (#9656)
5652
5653 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
5654
5655         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
5656         handlers in gtkrange.c return the proper values (TRUE == handled)
5657         (#10316).
5658
5659         This is just the tip of the iceberg, but gtkrange.c is the
5660         most common place where the propagation is problematical,
5661         and also a place where it is almost certainly safe to change
5662         this in the stable branch.
5663
5664         (You don't want right click popups on a range control or anything...)
5665
5666 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
5667
5668         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
5669         area on focus out, even if a background pixmap isn't set.
5670         (#13941)
5671         
5672 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
5673
5674         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
5675         to deal with setting the shape properly when scrolling arrows are
5676         turned on, but not visible because there is sufficient space.
5677         (#13432)
5678
5679 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
5680
5681         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
5682         items with submenus, destroy the item along with the submenu.
5683         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
5684         properly.
5685
5686         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
5687         later.
5688
5689 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
5690
5691         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
5692         the focus widget sometimes wasn't drawn with the default if there
5693         was no default widget.
5694
5695         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
5696         unreference pixmaps. 
5697
5698         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
5699         for some extra safety.
5700
5701 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
5702
5703         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
5704         the text of a cell to the old pointer value better, by
5705         copying the new text before freeing the old text. Some code
5706         cleanup. (#8079, Karl Nelson)
5707
5708 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
5709
5710         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
5711         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
5712
5713 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
5714
5715         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
5716         item from a menu, check to see if it matches 
5717         menu->old_active_menu_item, and if so, unref and clear
5718         old_active_menu_item (Patch from Pavel Cisler)
5719
5720         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
5721         menu_shell->active_menu_item, if it is the child being
5722         removed. (Patch based on that of Gene Ragan, #50337)
5723
5724 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
5725
5726         * gdk/linux-fb/gdkselection-fb.c: 
5727         * gdk/linux-fb/gdkcolor-fb.c: 
5728         * gdk/linux-fb/gdkdrawable-fb2.c: 
5729         * gdk/linux-fb/gdkfont-fb.c: 
5730         * gdk/linux-fb/gdkim-fb.c: 
5731         * gdk/linux-fb/gdkinput.c: 
5732         * gdk/linux-fb/gdkkeyboard-fb.c: 
5733         * gdk/linux-fb/gdkmain-fb.c: 
5734         * gdk/linux-fb/gdkrender-fb.c: 
5735         A bunch of whitespace cleanup.
5736         
5737 2001-01-30  Havoc Pennington  <hp@pobox.com>
5738
5739         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
5740         #ifdef GTK_ENABLE_BROKEN.
5741
5742         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
5743         GTK_ENABLE_BROKEN just before including the broken headers.
5744         
5745         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
5746         deprecated types registered.
5747
5748         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
5749         we have to test the broken stuff.
5750
5751         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
5752         
5753 2001-01-30  Havoc Pennington  <hp@redhat.com>
5754
5755         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
5756         here where prev pointer was set to the wrong thing
5757
5758         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
5759         (gtk_tree_path_is_descendant): new function
5760
5761         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
5762         cached length
5763         (gtk_list_store_get_iter): don't modify iter if we can't get the
5764         path.
5765
5766         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
5767         
5768         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
5769         GtkTreeDragDest
5770
5771         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
5772         was causing segfault
5773
5774         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
5775         pointer to NULL
5776
5777         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
5778
5779         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
5780         on returning FALSE
5781         (gtk_list_store_iter_children): ditto
5782         (gtk_list_store_iter_nth_child): ditto
5783         (gtk_list_store_iter_nth_child): ditto
5784         (gtk_list_store_iter_parent): ditto
5785
5786         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
5787         on iter->user_data != NULL instead of silently accepting it.
5788         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
5789         we are returning TRUE.
5790         (gtk_tree_store_iter_children): ditto
5791         (gtk_tree_store_iter_nth_child): ditto
5792         (gtk_tree_store_iter_parent): ditto
5793         (gtk_tree_store_insert): remove handling of parent->user_data ==
5794         NULL, replace with parent == NULL       
5795
5796         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
5797         and a comment explaining things
5798
5799         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
5800         interface support to GtkTreeStore.
5801
5802         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
5803         FALSE if no prev, fix
5804
5805         * gtk/gtktreeview.c (set_source_row): use a row reference
5806         (set_dest_row): use a row reference
5807
5808 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
5809
5810         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
5811         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
5812         (gtk_tree_selection_select_iter): The same as above.
5813
5814 2001-01-26  Havoc Pennington  <hp@redhat.com>
5815
5816         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
5817         which holds a handle to a specific row (particular set of values
5818         in the model, i.e. pointer-identity row).
5819
5820         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
5821         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
5822         Still need to use it for the src/dest row saved on the drag context.
5823
5824 2001-01-26  Havoc Pennington  <hp@redhat.com>
5825
5826         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
5827
5828         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
5829         not offset by TREE_VIEW_HEADER_HEIGHT
5830         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
5831         TREE_VIEW_HEADER_HEIGHT
5832
5833         * configure.in (included_loaders): for me, --with-included-loaders
5834         generates the error "the specified loader yes does not exist",
5835         i.e. the arg defaults to "yes", so change test for value ""
5836         to test for value "yes", and include all loaders in that case.
5837
5838         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
5839
5840         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
5841         handle TREE_VIEW_VERTICAL_SEPARATOR
5842         (gtk_tree_view_bin_expose): fix to consider the row offset as
5843         pointing halfway into vertical separator.       
5844         (gtk_tree_view_draw_node_focus_rect): ditto
5845
5846         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
5847         --gtk-debug=updates, which causes gdk_window_set_debug_updates
5848         (TRUE) to be called.
5849
5850         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
5851         debug mode where the invalid region is colored in on invalidate,
5852         so you can see the flicker and know whether your redraw code is 
5853         doing a good job.
5854
5855         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
5856         tree window coordinates (clip rect is in tree window coords)
5857
5858         * gtk/Makefile.am: add gtktreednd.[hc]
5859
5860         * gtk/gtkliststore.c: implement gtktreednd interfaces.
5861
5862         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
5863         drag-and-drop data operations on a model (so we can set up tree
5864         drag-and-drop automatically)
5865
5866         * gtk/testgtk.c: Add a window to change sensitivity in the
5867         GtkLabel test; add a way to change the entry frame in GtkEntry
5868         test
5869
5870         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
5871         (gtk_entry_get_has_frame): new functions to remove the frame
5872         around an entry
5873         (gtk_entry_size_request): shrink requisition if no frame
5874         (gtk_entry_draw_focus): don't draw frame if no frame
5875
5876         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
5877         checks inside a cell renderer
5878         (gtk_default_draw_option): ditto for options
5879
5880         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
5881         children from the alignment, not the button
5882         (gtk_tree_view_column_init): ref/sink the column, to emulate
5883         GObject refcounting.
5884
5885         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
5886         
5887         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
5888         Use theme functions to draw the toggles 
5889
5890         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
5891
5892         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
5893         GdkPangoAttrEmbossed to use in rendering insensitive text
5894
5895         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
5896
5897         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
5898         using new GDK features
5899         
5900 2001-01-24  Alexander Larsson  <alexl@redhat.com>
5901
5902         * gtk/gtkimage.c:
5903         Splitted gtk_image_clear into gtk_image_clear() and
5904         gtk_image_reset(). Call gtk_image_clear() in ::destroy
5905         to avoid leaks.
5906
5907         * gtk/gtklabel.c (set_markup):
5908         Don't leak text.
5909
5910         * gtk/gtktextlayout.c:
5911         Always free display->shaped_objects.
5912
5913         * gtk/testgtk.c (create_clist):
5914         Don't leak custom style.
5915
5916 2001-01-23  Alexander Larsson  <alexl@redhat.com>
5917
5918         * gtk/gtkcolorsel.c (grab_color_at_mouse):
5919         Don't leak image. Simplify using gdk_colormap_query_color().
5920         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
5921
5922         * linux-fb/gdkcolor-fb.c:
5923         Implemented gdk_colormap_query_color.
5924
5925 2001-01-23  Alexander Larsson  <alexl@redhat.com>
5926
5927         * linux-fb/gdkcursor-fb.c:
5928         Don't leak built-in cursors.
5929
5930         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
5931         Don't leak tmp_points.
5932
5933         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
5934         Don't modify desc. Don't leak font if the PangoFont
5935         isn't found.
5936         
5937         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
5938         Free dash_list.
5939
5940         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
5941         Don't leak string.
5942         
5943 2001-01-20  Havoc Pennington  <hp@pobox.com>
5944
5945         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
5946         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
5947         me, matches Pango
5948
5949 2001-01-22  Havoc Pennington  <hp@redhat.com>
5950
5951         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
5952
5953         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
5954
5955         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
5956         Remove, move back to gdk-pixbuf
5957
5958         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
5959         to all the word functions
5960
5961         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
5962         before doing anything on NULL layout or if we don't have the focus
5963
5964         * gtk/testtext.c (fill_example_buffer): "justification"
5965
5966         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
5967         to be called "justification" not "justify"
5968
5969         * demos/gtk-demo/textview.c (create_tags): "justification"
5970         
5971         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
5972
5973 2001-01-22  Alexander Larsson  <alexl@redhat.com>
5974
5975         * gdk/gdkwindow.c (gdk_window_invalidate_region):
5976         Don't leak visible_region. Use visible_region instead of region.
5977         
5978         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
5979         Don't do extra gdk_drawable_ref(). This is not X.
5980         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
5981         gdk_fb_focused_window is ref:ed.
5982         (gdk_fb_window_send_crossing_events): Watch out for destroyed
5983         windows.
5984
5985 2001-01-22  Alexander Larsson  <alexl@redhat.com>
5986
5987         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
5988         Don't leak the PangoFontDescriptor.
5989
5990 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
5991
5992         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
5993         when not realized.
5994         (gtk_tree_view_scroll_to_cell): Make work when not realized.
5995         (gtk_tree_view_realize): add scroll_to support
5996         (gtk_tree_view_finalize): add a finalize method.  Populate.
5997         (gtk_tree_view_insert_column): ref and sink the column.
5998         (gtk_tree_view_append_column): ref and sink the column.
5999         (gtk_tree_view_queue_draw_node): New function to handle redrawing
6000         individual nodes.  Should make the code much more efficient, if
6001         actually used.
6002
6003 2001-01-19  Havoc Pennington  <hp@redhat.com>
6004
6005         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
6006         byte_offset variable was being used to mean both "offset into
6007         layout" and "offset into buffer line" which was no longer true
6008         with addition of preedit string; fix
6009
6010 2001-01-19  Havoc Pennington  <hp@redhat.com>
6011
6012         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
6013
6014         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
6015         function
6016
6017         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
6018         implement
6019
6020         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
6021         scroll_to_cell, matches TextView scroll functions better
6022         (gtk_tree_view_tree_to_widget_coords): new function
6023         (gtk_tree_view_widget_to_tree_coords): new function
6024         (gtk_tree_view_get_visible_rect): new function
6025         (gtk_tree_view_get_path_at_pos): accept negative coordinates
6026         (gtk_tree_view_draw_node_focus_rect): new function moved from
6027         draw_focus, also, use width of bin_window as width of the focus
6028         rect
6029         (gtk_tree_view_expand_row): fix bug where it didn't recognize
6030         already-expanded rows
6031         (gtk_tree_view_get_cell_rect): new function
6032         (gtk_tree_view_get_path_at_pos): return the click position
6033         relative to the passed-in cell
6034         (gtk_tree_view_set_expander_column): new function
6035
6036         * configure.in: remove gtk-config-2.0 chmod
6037
6038         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
6039         and properly handle drags with targets we don't understand
6040         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
6041         scrolling anyway
6042         (gtk_text_view_drag_drop): stop scrolling here though, and set the
6043         mark invisible
6044
6045         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
6046         function
6047         (gtk_drag_dest_get_target_list): new function
6048         (gtk_drag_dest_set_target_list): new function
6049         
6050         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
6051
6052         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
6053         related to drag-and-drop
6054
6055 2001-01-19  Alexander Larsson  <alexl@redhat.com>
6056
6057         * gdk/linux-fb/gdkprivate-fb.h:
6058         Define EMULATE_GDKFONT.
6059         Add extra pango_font stuff to GfkFontPrivate.
6060         
6061         * gdk/linux-fb/gdkdrawable-fb2.c:
6062         * gdk/linux-fb/gdkfont-fb.c:
6063         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
6064         emulation using PangoFont.
6065
6066 2001-01-17  Havoc Pennington  <hp@pobox.com>
6067
6068         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
6069         all the non-deprecated set_foo functions. Added missing object
6070         properties, and added g_object_notify() to setters. 
6071         Wrote docs.
6072         
6073 2001-01-18  Tor Lillqvist  <tml@iki.fi>
6074
6075         * gtk/gtkmain.c
6076         * gtk/gtkrc.c: (Win32) Use the new
6077         g_win32_get_package_installation_(sub)directory() functions.
6078
6079         * config.h.win32.in: New file.
6080         
6081         * config.h.win32: Removed.
6082
6083         * configure.in: Output config.h.win32.
6084
6085         * Makefile.am: Add it to EXTRA_DIST.
6086
6087         * gtk/gtk.def: Update.
6088
6089 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
6090
6091         * gtk/gtklabel.c (gtk_label_size_request): Set the
6092         attributes onto the PangoLayout even if they are newly
6093         created from label->pattern.
6094
6095 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
6096
6097         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
6098
6099         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
6100         structures in functions. Fixes bug where gtk_dataset_*
6101         was accidentally still being used in one place, causing
6102         every dest side event to be treated independently.
6103
6104         * gtk/gtkdnd.c: Remove last vestages of handling
6105         ::draw (fixes warning)
6106         
6107         * gtk/gtkentry.[ch]: Add drag and drop support.
6108
6109         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
6110         new function gtk_check_drag_threshhold() for checking
6111         to check if (dx,dy) has exceeded the threshhold for starting
6112         a drag and use it everywhere.
6113
6114 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
6115
6116         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
6117         add -I{includedir}/gtk-2.0.
6118
6119         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
6120         gdk/gdk-pixbuf.h: Doc fixups.
6121         
6122         * gtk/gtkobject.h: Remove trailing , from enum
6123
6124 2001-01-17 Alexander Larsson <alexl@redhat.com> 
6125
6126         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
6127         Doh! Mixed up x and y.
6128
6129         * gdk/linux-fb/gdkglobals-fb.c:
6130         Removed gdk_fb_pointer_grab_window_events,
6131         added _gdk_fb_pointer_grab_owner_events and
6132         _gdk_fb_keyboard_grab_owner_events.
6133
6134         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
6135         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
6136         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
6137         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
6138         Send crossing events after ungrab finished.
6139         (gdk_keyboard_grab): Set ..._owner_events
6140         (type_masks): Move out of function.
6141         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
6142         gdk_fb_keyboard_event_window): New functions, return the
6143         window an event should be targeted at. Handles grabs and
6144         event propagation. Can return NULL.
6145         (gdk_event_make): Remove event_mask checking. Now always
6146         returns an event.
6147                 
6148         * gdk/linux-fb/gdkkeyboard-fb.c:
6149         * gdk/linux-fb/gdkproperty-fb.c:
6150         * gdk/linux-fb/gdkselection-fb.c:
6151         Use new event_window/gdk_event_make() behaviour.
6152         
6153         * gdk/linux-fb/gdkmouse-fb.c:
6154         Use new event_window/gdk_event_make() behaviour.
6155         Only send motion events if in the same window.
6156         If grabbed, use cursor from window if sibling of grabbed
6157         window, and cursor from grabbed window otherwise.
6158
6159         * gdk/linux-fb/gdkprivate-fb.h:
6160         Update gdk_fb_window_send_crossing_events, gdk_event_make
6161         and grab varaible declarations. Add gdk_fb_*_event_window().
6162
6163         * gdk/linux-fb/gdkwindow-fb.c:
6164         Use new event_window/gdk_event_make() behaviour.
6165         Keep correct track of focus window.
6166         (gdk_window_set_events): Set all specific button motion masks
6167         if GDK_BUTTON_MOTION_MASK set.
6168
6169         * gtk/gtkdnd.c (gtk_drag_update):
6170         Free info->last_event if gdk_drag_motion returned FALSE.
6171
6172 2001-01-16  Tor Lillqvist  <tml@iki.fi>
6173
6174         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
6175         Eliminate redraws when input-only windows are shown or
6176         hidden. Thanks to jpe@archaeopteryx.com.
6177
6178 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
6179
6180         * docs/faq/gtk-faq.sgml: FAQ update:
6181           - Update to bugzilla
6182           - Add GTK+ and security/SUID/SGID
6183           - Add DnD question
6184
6185 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
6186
6187         * gdk/linux-fb/gdkdnd-fb.c:
6188         Some cleanups.
6189         
6190 2001-01-15  Havoc Pennington  <hp@pobox.com>
6191
6192         * tests/testtreeview.c: add test stuff for CellRendererToggle
6193
6194         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
6195         accessor
6196
6197         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
6198         only toggle on button press (would do release like GtkButton, but
6199         we'd need implicit grab code for treeview cells)
6200
6201 2001-01-16  Tor Lillqvist  <tml@iki.fi>
6202
6203         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
6204
6205         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
6206         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
6207
6208         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
6209         to g_{locale,filename}_{to,from}_utf8 to match current API.
6210
6211         * gtk/makefile.msc.in (gtk_OBJECTS)
6212         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
6213
6214         * gtk/gtk.def: Update.
6215
6216 2001-01-15  Tor Lillqvist  <tml@iki.fi>
6217
6218         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
6219         implementaion that more closely mimics the events that an X server
6220         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
6221         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
6222         with nested preview widgets, for instance, more responsive when
6223         you move the mouse quickly into them.
6224         (find_window_for_pointer_event): Make it actually compile.
6225         (gdk_event_translate): Set send_event to the value of
6226         InSendMessage (). This doesn't really mean the same as X11's
6227         send_event flag, but is close enough, says jpe@archaeopteryx.com
6228
6229 2001-01-15  Alexander Larsson  <alexl@redhat.com>
6230
6231         * gdk/linux-fb/gdkdnd-fb.c:
6232         Implemented drag and drop.
6233         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
6234         when it tries to free and then copy the same event (info->last_event).
6235         I am not sure about why this happens, but will continue looking.
6236
6237 2001-01-15  Alexander Larsson  <alexl@redhat.com>
6238
6239         * gdk/linux-fb/gdkwindow-fb.c:
6240         Use gdk_window_invalidate_rect instead of
6241         gdk_window_invalidate_rect_clear to minimise flashing.
6242         When hiding windows you need to clear the root window though.
6243
6244 2001-01-15  Alexander Larsson  <alexl@redhat.com>
6245
6246         * gdk/linux-fb/gdkdrawable-fb2.c:
6247         For optization, add an full_shapes argument to gdk_fb_clip_region.
6248         If this is false, only the cliprects of the shapes are used.
6249
6250         * gdk/linux-fb/gdkprivate-fb.h:
6251         Export gdk_fb_window_peek_shape.
6252         Add full_shapes to gdk_fb_clip_region.
6253
6254         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
6255         When moving a window, don't clear everything under the it, just the
6256         root window. Makes stuff faster and flash less.
6257         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
6258         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
6259         offset of the shape.
6260         
6261
6262 2001-01-12  Havoc Pennington  <hp@redhat.com>
6263
6264         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
6265         current invalid region, fixes redraw bug while scrolling the 
6266         text widget
6267
6268         * gtk/gtktextview.c, gtk/gtktextview.h:
6269         Rearrange the scrolling/validation/etc. code in a major way, 
6270         so it seems to make sense to me. Probably isn't genuinely that
6271         much better, but...
6272
6273         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
6274         notifies
6275
6276         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
6277
6278 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
6279
6280         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
6281         Hide mouse pointer while rotation. Show it afterwards.
6282
6283 2001-01-12  Alexander Larsson  <alexl@redhat.com>
6284
6285         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
6286         windows in consideration when generating clip region.
6287
6288         * gdk/linux-fb/gdkfb.h:
6289         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
6290
6291         * gdk/linux-fb/gdkprivate-fb.h:
6292         Add shape to GdkWindowFBDatat.
6293         exported gdk_fb_window_get_abs_shape().
6294         removed gdk_fb_draw_lines declaration.
6295
6296         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
6297         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
6298         send focus changes when there is a grabbed window.
6299         (gdk_window_get_pointer): Handle shaped windows.
6300         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
6301         (gdk_fb_window_peek_shape): Returns the shape for a window,
6302         handles GDK_FB_USE_CHILD_SHAPE.
6303         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
6304         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
6305         (gdk_window_shape_combine_mask): Implement.
6306
6307         * gtk/gtkwindow-decorate.c:
6308         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
6309         setting the shape of a window makes the window transparent.
6310
6311 2001-01-11  Havoc Pennington  <hp@redhat.com>
6312
6313         * gtk/gtktreemodelsimple.h: Oops, broke some macros
6314
6315 2001-01-10  Havoc Pennington  <hp@redhat.com>
6316
6317         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
6318         add this function, bug 40251
6319
6320         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
6321         of type macro   
6322
6323 2001-01-11  Alexander Larsson  <alexl@redhat.com>
6324
6325         * acconfig.h:
6326         Added ENABLE_SHADOW_FB
6327
6328         * configure.in:
6329         Added --disable-shadowfb
6330
6331         * gdk/linux-fb/gdkcursor-fb.c:
6332         Update shadowfb when updating cursor
6333
6334         * gdk/linux-fb/gdkdrawable-fb2.c:
6335         Added wrappers for shadowfb that calls  the normal drawable
6336         methods, but calls gdk_shadow_fb_update(bounding box) when
6337         GdkWindows are drawed to.
6338         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
6339         which also returns the bounding box.
6340
6341         * gdk/linux-fb/gdkfb.h:
6342         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
6343
6344         * gdk/linux-fb/gdkgeometry-fb.c:
6345         Update shadowfb when scrolling window.
6346
6347         * gdk/linux-fb/gdkglobals-fb.c:
6348         Add _gdk_fb_screen_angle.
6349         
6350         * gdk/linux-fb/gdkkeyboard-fb.c:
6351         Test code for screen rotation. Shift-F2 in the xlate driver
6352         rotates the screen.
6353
6354         * gdk/linux-fb/gdkmain-fb.c:
6355         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
6356
6357         * gdk/linux-fb/gdkmouse-fb.c:
6358         Use fb_width/height instead of modeinfo.xres/yres.
6359
6360         * gdk/linux-fb/gdkprivate-fb.h:
6361         Added fb_men, fb_width, fb_height & fb_stride. When using
6362         shadow fb these can differ from the framebuffer stuff.
6363         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
6364         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
6365         _gdk_fb_screen_angle. Removed CM, RP.
6366
6367         * gdk/linux-fb/gdkrender-fb.c:
6368         Added code for shadowfb handling and screen rotation using
6369         shadowfb.
6370
6371         * gdk/linux-fb/gdkwindow-fb.c:
6372         Use fb_mem, fb_stride, fb_width, fb_height.
6373         Added recompute_rowstride to reset the rowstride of all windows.
6374         Added gdk_fb_recompute_all() which recomputes rootwindow size,
6375         window abs positions and window rowstrides. Usefull when the
6376         rotation has changed.
6377
6378 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
6379
6380         * docs/faq/gtk-faq.sgml: update to make web site updating easier
6381
6382 2001-01-10  Havoc Pennington  <hp@redhat.com>
6383
6384         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
6385         where sibling == iter
6386         (gtk_tree_store_insert_after): handle sibling == iter
6387         (gtk_tree_store_prepend): remove stamp checks
6388         (gtk_tree_store_insert_before): ditto
6389         (gtk_tree_store_append): ditto
6390         (gtk_tree_store_get_path): ditto
6391         (gtk_tree_store_get_value): ditto
6392         (gtk_tree_store_iter_has_child): ditto
6393         (gtk_tree_store_iter_n_children): ditto
6394         (gtk_tree_store_iter_nth_child): ditto
6395         (gtk_tree_store_insert_after): ditto
6396         (gtk_tree_store_is_ancestor): ditto
6397         (gtk_tree_store_iter_depth): ditto
6398         (gtk_tree_store_insert_before): assert that sibling's parent is
6399         the same as the passed-in parent
6400         (gtk_tree_store_insert_after): assert that sibling's parent is
6401         the same as the passed-in parent
6402
6403         
6404         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
6405         function to get the first iterator in a model
6406         
6407         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
6408         conventionally the "root" in this sense is just NULL afaict.
6409
6410         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
6411         where sibling == iter
6412         (gtk_list_store_insert_after): handle case where sibling == iter
6413
6414         * tests/testtreeview.c (run_automated_tests): fairly lame basic
6415         automated tests for ListStore, TreeStore
6416
6417         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
6418         (gtk_list_store_insert): update tail pointer, and fix it to work
6419         (gtk_list_store_insert_before): update tail pointer, and fix it to work
6420         (gtk_list_store_append): use tail to be faster
6421         (gtk_list_store_prepend): fix it, update tail pointer
6422         (gtk_list_store_insert_after): fix it, update tail pointer
6423
6424         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
6425         the list
6426
6427 2001-01-09  Havoc Pennington  <hp@redhat.com>
6428
6429         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
6430         is NULL due to a pending resize
6431
6432         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
6433         column width to values less than 1
6434
6435         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
6436         width to be between min/max width, and still set the width 
6437         even if autosize is turned on, so the tree view can use this 
6438         function in order to autosize.
6439         (gtk_tree_view_column_init): set initial width to 1 not 0
6440
6441         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
6442         setter function to modify column width, so we get notification
6443         (gtk_tree_view_insert_iter_height): ditto
6444         (gtk_tree_view_calc_size): ditto
6445         (gtk_tree_view_check_dirty): ditto
6446
6447         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
6448         properties to change all the interesting attributes of the tree
6449         view column.
6450         (gtk_tree_view_column_set_header_clickable): rename set_clickable
6451         (gtk_tree_view_column_get_clickable): add
6452         (gtk_tree_view_column_set_cell_renderer): don't unset the current
6453         attributes; assume a cell renderer with equivalent object
6454         properties has been swapped in. Do g_object_notify().
6455         (gtk_tree_view_column_set_visible): g_object_notify
6456         (gtk_tree_view_column_get_sizing): rename from get_col_type
6457         (gtk_tree_view_column_set_sizing): g_object_notify
6458         (gtk_tree_view_column_set_width): add g_object_notify
6459         (gtk_tree_view_column_set_min_width): ditto
6460         (gtk_tree_view_column_set_max_width): ditto
6461         (gtk_tree_view_column_set_title): ditto
6462         (gtk_tree_view_column_set_clickable): ditto
6463         (gtk_tree_view_column_set_widget): ditto
6464         (gtk_tree_view_column_set_justification): ditto
6465
6466 2001-01-09  Havoc Pennington  <hp@redhat.com>
6467
6468         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
6469         there are no rows in the model
6470
6471         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
6472         NULL, then return the start of the list
6473
6474         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
6475         if we can't get any rows from an empty model 
6476
6477         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
6478         extraneous * after function pointer typedef usage
6479
6480         * Makefile.am: don't specify full path to cp and rm
6481
6482         * gtk/gtkcellrenderertextpixbuf.c
6483         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
6484         NULL before dereferencing, fixes a segfault that happened from
6485         time to time
6486
6487         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
6488         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
6489         and reindent the function
6490         (gtk_cell_renderer_pixbuf_get_size): indentation
6491
6492         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
6493         we quit it
6494         (gtk_dialog_add_buttons_valist): add g_return_if_fail
6495         (gtk_dialog_set_default_response): New function, to set default
6496         button
6497         (gtk_dialog_set_response_sensitive): New function, to set 
6498         sensitivity of buttons
6499
6500         * gtk/gtkcellrendererpixbuf.c
6501         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
6502         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
6503
6504         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
6505         handle any G_TYPE_OBJECT subclass, not just the base class, and 
6506         also boxed types.
6507         (_gtk_tree_data_list_value_to_node): ditto
6508
6509         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
6510         --gtk-debug=tree
6511
6512         * gtk/gtkmain.c: add GTK_DEBUG_TREE
6513
6514         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
6515
6516 2001-01-09  Tor Lillqvist  <tml@iki.fi>
6517
6518         * gdk/win32/gdkevents-win32.c: Implement better mouse
6519         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
6520         (find_window_for_pointer_event): New function.
6521         (gdk_event_translate): Use it when handling mouse events.
6522
6523 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
6524
6525         * configure.in:
6526         Added --with-included-loaders option
6527
6528         * gdk-pixbuf/Makefile.am:
6529         * gdk-pixbuf/gdk-pixbuf-io.c:
6530         Add support for including selected gdk-pixbuf loaders only.
6531
6532         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
6533         gtk_window_set_has_frame):
6534         Added inline documentation.
6535
6536         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
6537         * docs/reference/gdk/tmpl/windows.sgml:
6538         Added inline documentation.
6539
6540 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
6541
6542         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
6543         realizing buttons that have already been realized.
6544
6545 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
6546
6547         * tests/testtreeview.c (main): Show menu items before adding to
6548         option menu.
6549
6550         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
6551         around if we kill them.
6552
6553         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
6554         Return if we pass in a NULL model.
6555
6556 2001-01-08  Havoc Pennington  <hp@redhat.com>
6557
6558         * tests/testtreeview.c: hack on this some
6559
6560         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
6561         gtk_tree_store_set_valist, v is for arrays, valist for varargs
6562         list
6563         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
6564
6565         * gtk/gtkliststore.h: Add varargs set() and get() convenience
6566         functions
6567
6568 2001-01-08  Alexander Larsson  <alexl@redhat.com>
6569
6570         * gtk/gtkwindow-decorate.[hc]:
6571         * gtk/Makefile.am:
6572         New files. Contains an implementation of a minimal WM for
6573         linux-fb.
6574
6575         * gtk/gtkwindow.h:
6576         Add the possibility for GtkWindows to specify a frame. This
6577         is used for the window decoration code, but could concievably
6578         be used for X programs too (xmms style windows).
6579         GtkWindow->frame is the toplevel window if the window is framed.
6580         The signal frame_event gets all events that are targeted to
6581         GtkWindow->frame.
6582         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
6583         
6584         * gtk/gtkwindow.c:
6585         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
6586         Call out to gtkwindow-decorate.c for WM support in linx-fb.
6587
6588 2001-01-08  Alexander Larsson  <alexl@redhat.com>
6589
6590         * docs/README.linux-fb:
6591         Correct filename ~/.pangoft2_aliases
6592
6593         * gdk/gdkwindow.h:
6594         Added new function gdk_window_get_decorations.
6595
6596         * gdk/linux-fb/gdkfb.h:
6597         Removed _gdk_window_get_decorations declaration.
6598         Renamed _gdk_window_set_child_handler to
6599         gdk_fb_window_set_child_handler.
6600
6601         * gdk/linux-fb/gdkwindow-fb.c:
6602         Renamed _gdk_window_set_child_handler to
6603         gdk_fb_window_set_child_handler.
6604
6605         * gdk/x11/gdkwindow-x11.c:
6606         New function gdk_window_get_mwm_hints().
6607         Implemented gdk_window_get_decorations.
6608
6609         * docs/reference/gdk/tmpl/windows.sgml:
6610         * docs/reference/gdk/gdk-sections.txt:
6611         Added gdk_window_get_decorations docs.
6612         
6613 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
6614
6615         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
6616         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
6617         gdk_fb_window_send_crossing_events):
6618         Possibly send focus events when the mouse moves from one
6619         window to another.
6620
6621 2001-01-07  Tor Lillqvist  <tml@iki.fi>
6622
6623         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
6624         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
6625         to match current API.
6626
6627         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
6628         environment variable is set, don't call g_error when on a
6629         palettized (PseudoColor) display. Some people want to use GTK+ 
6630         in 256-colour mode even though works only partially.
6631
6632         * gdk/gdk.def
6633         * gtk/gtk.def
6634         * gtk/makefile.mingw.in: Update.
6635
6636 2001-01-05  Havoc Pennington  <hp@redhat.com>
6637
6638         * tests/testtreeview.c: hack on this a bit
6639
6640         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
6641         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
6642
6643         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
6644         was spelled incorrectly
6645         (GTK_IS_TREE_MODEL_SIMPLE): ditto
6646
6647         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
6648         from gtk_tree_view_set_headers_active   
6649
6650         * gtk/gtktexttag.c:
6651         (gtk_text_tag_get_property): handle PROP_DIRECTION
6652         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
6653         properties, bug 40235
6654
6655         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
6656         forward_to_line_end
6657
6658 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
6659
6660         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
6661         modules/input/gtkimcontextxim.c: Adapt to new prototypes
6662         for unicode,locale,filename conversion functions.
6663
6664 2001-01-05  Havoc Pennington  <hp@redhat.com>
6665
6666         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
6667         broken if called on the first position in the buffer.
6668
6669         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
6670         forward_to_delimiters to be called only if we aren't already at
6671         the delimiters.
6672
6673 2001-01-05  Havoc Pennington  <hp@redhat.com>
6674
6675         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
6676
6677 2001-01-05  Alexander Larsson  <alexl@redhat.com>
6678
6679         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
6680         colormap in here. Sync from X port.
6681         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
6682         Sync from X port.
6683         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
6684         This happens now and then, and i don't think it is a bug.
6685         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
6686         != endpoint.
6687         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
6688         GDK_LINE_SOLID.
6689
6690         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
6691         some of the fields filled in at least.
6692
6693         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
6694         miLineArcD is no more, remove it from the function definition.
6695
6696 2001-01-04  Havoc Pennington  <hp@redhat.com>
6697
6698         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
6699         this
6700
6701         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
6702         user_data instead of tree_node
6703
6704         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
6705         TREE_VIEW_COLUMN_SIZE
6706
6707         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
6708         "size" field to "width" finishes bug 40061
6709
6710         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
6711         for bitfields, bug 40268
6712
6713 2001-01-04  Havoc Pennington  <hp@redhat.com>
6714
6715         Rename some stuff:
6716         
6717         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
6718
6719         s/GtkModelSimple/GtkTreeModelSimple/g;
6720         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
6721         s/gtk_model_simple/gtk_tree_model_simple/g;
6722         s/gtkmodelsimple/gtktreemodelsimple/g;
6723
6724         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
6725
6726         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
6727         s/column_set_col_type/column_set_sizing/g;
6728
6729         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
6730         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
6731
6732         s/GtkCellRendererType/GtkCellRendererState/g;
6733         
6734         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
6735         (gtk_cell_renderer_toggle_class_init): change "state" property to
6736         "active", to match GtkToggleButton
6737         (gtk_cell_renderer_toggle_get_active): new function, bug
6738         40269
6739         (gtk_cell_renderer_toggle_set_active): new function
6740         (gtk_cell_renderer_toggle_set_property): route changes to toggle
6741         state through gtk_cell_renderer_set_active
6742
6743 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
6744
6745         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
6746         temporarily until they work again.  Brought up to date with
6747         changes in the model.
6748         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
6749         model.
6750
6751 2001-01-04  Havoc Pennington  <hp@redhat.com>
6752
6753         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
6754         equal to the line length, then position iterator before paragraph 
6755         separators. Fixes crash reported by Mikael Hermansson when
6756         pressing left arrow from the start of a line.   
6757
6758         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
6759         about byte indexes off the end
6760         (iter_set_from_char_offset): add g_error about char offsets
6761         off the end
6762
6763 2001-01-03  Havoc Pennington  <hp@redhat.com>
6764
6765         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
6766
6767         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
6768         of private functions; remove inclusion of private headers.
6769
6770         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
6771         function, so we don't need private functions in gtktextdisplay.c
6772
6773         * gtk/gtktextiterprivate.h: underscore-ification
6774
6775         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
6776         to instead say "only useful to implement widgets"
6777
6778         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
6779         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
6780         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
6781
6782         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
6783         This function was completely broken
6784
6785         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
6786
6787         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
6788
6789         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
6790
6791         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
6792
6793         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
6794
6795         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
6796
6797         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
6798         gtk_paint_layout
6799
6800         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
6801         gtk_paint_layout
6802
6803         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
6804         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
6805         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
6806         which were not implemented.     
6807
6808         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
6809         insert_pixbuf signal. Rename delete_text to delete_range since it
6810         also deletes pixbufs and child anchors. This almost closes bug
6811         40245 (still need to deal with child anchors)
6812
6813         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
6814         insert_pixbuf, change signal names as appropriate, change types of
6815         signals taking marks/tags to have the specific type, not just
6816         G_TYPE_OBJECT
6817         
6818         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
6819         closes bug 40051
6820
6821         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
6822         unnecessary remove_contents() call
6823         (gtk_option_menu_class_init): add a "changed" signal, closes
6824         bug 40039
6825         (gtk_option_menu_update_contents): emit "changed" if the 
6826         active menu item changes
6827
6828         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
6829         cast to GtkObject, reported by Jonas Borgstrom
6830         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
6831         we can't do stuff with side effects in finalize. Instead, spew a
6832         warning if the loader isn't closed.
6833
6834         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
6835         colormap in here, non-X ports probably need to sync to this change
6836
6837         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
6838         assertion that colormap != NULL, you can set the colormap to NULL
6839         if you like.
6840         
6841         * Makefile.am: remove gtk-config-2.0
6842
6843         * configure.in: Use pkg-config to locate GLib. Remove
6844         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
6845         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
6846         Use pkg-config to locate Pango. Output correct Pango libs to
6847         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
6848
6849         * Makefile.am (pkgconfig_DATA): install only target-specific pc
6850         files
6851         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
6852         X11 pc files
6853
6854         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
6855         unref from here
6856
6857 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
6858
6859         * configure.in:
6860         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
6861
6862 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
6863
6864         * gtk/gtktextlayout.c
6865         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
6866         variable when moving back onto a single line.
6867
6868 2001-01-01  Havoc Pennington  <hp@redhat.com>
6869
6870         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
6871
6872         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
6873
6874         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
6875         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
6876
6877 2001-01-01  Havoc Pennington  <hp@redhat.com>
6878
6879         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
6880
6881         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
6882         GtkTextAttributes
6883
6884         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
6885         #40246
6886         (gtk_text_attributes_copy_values): rename from 
6887         gtk_text_attributes_copy
6888         (gtk_text_attributes_copy): a more standard GTK copy function, 
6889         which returns a new object
6890
6891 2001-01-01  Havoc Pennington  <hp@redhat.com>
6892
6893         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
6894         
6895         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
6896         don't fill in tree_view->priv->selection, kind of an unexpected
6897         side effect
6898
6899         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
6900         gtkintl.h
6901         
6902         * gtk/gtkcellrenderer.c: Remove definition of _ and include
6903         gtkintl.h
6904         (gtk_cell_renderer_get_property): remove calls to g_value_init
6905
6906         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
6907         gtkintl.h
6908
6909         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
6910         and include gtkintl.h
6911         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
6912         property names
6913
6914         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
6915         GtkTreeSelection
6916         (_gtk_tree_selection_new_from_with_view): rename, return
6917         GtkTreeSelection
6918         (_gtk_tree_selection_set_tree_view): rename with uscore
6919         (gtk_tree_selection_get_selected): fill in the "model" out param
6920         first, so it gets filled in even if we return at the top of the 
6921         function
6922         (gtk_tree_selection_real_select_all): add a comment and an else{}
6923         to clarify this a bit
6924         (gtk_tree_selection_real_unselect_all): add the same else{}
6925
6926         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
6927         set_tree_view to have underscore prefixes, move them to the
6928         private header, fix return type of new_with_tree_view
6929         (struct _GtkTreeSelection): mark struct
6930         fields private  
6931
6932         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
6933         GtkTreeModelFlags, not a guint
6934         (gtk_tree_path_prev): return gboolean not gint
6935         (gtk_tree_path_up): return gboolean not gint
6936
6937         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
6938         return GtkTreeModelFlags, not a guint
6939
6940         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
6941         that child model is non-null before unrefing it
6942         (g_value_int_compare_func): make this a qsort compare func, not 
6943         a boolean predicate
6944
6945         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
6946         (add -umn to the end), and mark it unimplemented
6947         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
6948         I don't see what it's for - doesn't the model always sort itself?
6949         (gtk_tree_model_sort_set_compare): this had the wrong signature
6950
6951         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
6952         Fix the docs to say that it destructively replaces existing
6953         attributes (previously said that it added attributes).
6954         (gtk_tree_view_column_set_visible): canonicalize bool before
6955         equality testing. Also, check for realization before
6956         hiding/showing the tree_column->window; if this window could exist
6957         before realization, then it's busted and needs fixing, we can't 
6958         create GDK resources pre-realization. Also, remove
6959         superfluous queue_resize(), since set_size() does that for us.
6960         (gtk_tree_view_column_set_col_type): check realization before 
6961         using tree_column->window
6962
6963         * gtk/gtktreedatalist.c: fix filename in copyright notice
6964
6965 2000-12-31  Havoc Pennington  <hp@pobox.com>
6966
6967         * gtk/gtktextview.c: Rearrange all the
6968         scroll-while-dragging-or-selecting code to be different, not
6969         necessarily better. ;-)
6970         (gtk_text_view_scroll_to_mark): Change this
6971         function to take within_margin as a fraction instead of a pixel
6972         value, and to take alignment arguments (indicating where to align 
6973         the mark inside the visible area)
6974         
6975         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
6976         to GtkObject
6977
6978         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
6979         behavior so that offsets past the end of the line are not 
6980         allowed, and an offset equal to the line length moves the iterator
6981         to the next line
6982         (gtk_text_iter_set_line_index): make parallel change
6983         (gtk_text_iter_get_bytes_in_line): add this function
6984         
6985         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
6986         of byte indexes off the end of the line; byte index at the end of
6987         the line now returns FALSE and doesn't fill in the requested
6988         values, byte index past the end of the line is an error.  Also,
6989         don't allow -1 offset anymore, since its meaning is unclear.
6990
6991         This change exposes some bug in visual cursor motion, where we
6992         end up with a huge invalid byte index; needs fixing. Symptom of 
6993         bug is a crash when you hit up arrow.
6994         
6995         (_gtk_text_line_char_locate): match the change to byte_locate
6996
6997         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
6998         from start of line properly. fixes bug reported by Mikael
6999         Hermansson where backspace would delete all text before the
7000         cursor.
7001
7002 2000-12-30  Tor Lillqvist  <tml@iki.fi>
7003
7004         * gdk/win32/gdkwindow-win32.c
7005         (gdk_window_impl_win32_get_visible_region): New function, as in
7006         the X11 backend.
7007         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
7008         instead of duplicating the same code here.
7009
7010         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
7011         GDK_COLORMAP macro.
7012
7013         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
7014         destroy function.
7015         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
7016         access that.
7017
7018         * gtk/gtk.def: Update.
7019
7020         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
7021
7022 2000-12-30  Havoc Pennington  <hp@pobox.com>
7023
7024         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
7025         colormap on input only windows, to avoid special cases all over
7026         the code for these windows.
7027
7028 2000-12-26  Tor Lillqvist  <tml@iki.fi>
7029
7030         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
7031         we are on a palettized display ("PseudoColor" in X11), as the code
7032         for that doesn't work anyway, and never has.
7033
7034 2000-12-22  Alexander Larsson  <alexl@redhat.com>
7035
7036         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
7037         Don't use isprint() for chars > 255.
7038
7039 2000-12-21  Havoc Pennington  <hp@redhat.com>
7040
7041         * tests/testtreeview.c: more work
7042
7043 2000-12-21  Alexander Larsson  <alexl@redhat.com>
7044
7045         * docs/README.linux-fb:
7046         Update the docs to the new pangoft2 way.
7047
7048 2000-12-21  Alexander Larsson  <alexl@redhat.com>
7049
7050         * configure.in:
7051         For linux-fb get the pangoft2 cflags and libs. This needs a recent
7052         pango version.
7053         Remove modules/linux-fb/Makefile.
7054
7055         * gdk/linux-fb/gdkdrawable-fb2.c:
7056         Render glyphs using freetype.
7057
7058         * gdk/linux-fb/gdkfb.h:
7059         Add new fb-specific functions needed for managing windows.
7060
7061         * gdk/linux-fb/gdkmain-fb.c:
7062         Remove gdk_font_init/fini() calls.
7063
7064         * gdk/linux-fb/gdkpango-fb.c:
7065         Remove old implementation. Use pangoft2 instead.
7066
7067         * gdk/linux-fb/gdkprivate-fb.h:
7068         Remove PangoFBFont and related stuff.
7069
7070         * gdk/linux-fb/gdkwindow-fb.c:
7071         Implement drawable->get_visible_region.
7072         Implement support for _gdk_window_set_child_handler () and
7073         _gdk_window_get_decorations().
7074
7075         * modules/Makefile.am:
7076         Remove linux-fb subdir.
7077
7078         * modules/linux-fb/*:
7079         Removed all.
7080         
7081 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
7082
7083         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
7084         calls, as they are no longer needed.
7085
7086         * gtk/gtktreemodelsort.c: Fix up the comparison code.
7087         
7088         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
7089         figure out how to emit a signal on an interface.
7090
7091 2000-12-20  Havoc Pennington  <hp@redhat.com>
7092
7093         * tests: new directory to contain tests, gtk/test* should move
7094         here sometime (with appropriate on-cvs-server hackery)
7095
7096         * tests/testtreeview.c, tests/Makefile.am: a test
7097         
7098         * configure.in (AC_OUTPUT): add tests/Makefile
7099
7100         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
7101         and "invisible_set" which were missing
7102
7103         * gtk/gtkrbtree.h: some cheesy indentation fix
7104         
7105 2000-12-20  Alexander Larsson  <alexl@redhat.com>
7106
7107         * gtk/gtkinvisible.c (gtk_invisible_realize):
7108         Attach the style to the window so that the style it is not
7109         leaked when unrealizing the window.
7110
7111 2000-12-18  Havoc Pennington  <hp@redhat.com>
7112
7113         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
7114         begin/end user action where appropriate
7115         (gtk_text_view_commit_handler): add begin/end user action
7116
7117         * gtk/gtktextbuffer.c: add begin/end user action signals, and
7118         bracket interactive operations with begin/end user action pair.
7119         
7120         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
7121         "interactive" arg from insert_text and delete_text signals.
7122         Add begin_user_action, end_user_action signals
7123         (gtk_text_buffer_begin_user_action): 
7124         (gtk_text_buffer_end_user_action): New functions to delimit 
7125         a user-visible action
7126
7127         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
7128         signals.
7129         
7130 2000-12-18  Havoc Pennington  <hp@redhat.com>
7131
7132         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
7133         was pretty non-working.
7134
7135         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
7136         by passing the length to g_utf8_validate().
7137
7138 2000-12-16  Havoc Pennington  <hp@pobox.com>
7139
7140         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
7141         Port to GObject, can go back in gdk-pixbuf after setting up 
7142         a gdk-pixbuf-marshal.h header over there.
7143
7144         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
7145         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
7146         args
7147         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
7148         set
7149         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
7150         here, do it when we create the buttons later
7151         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
7152         (gtk_tree_view_map): paranoia checks that column->button is shown 
7153         and unmapped
7154         (gtk_tree_view_size_request): only request visible children.
7155         Move header size calculation in here, for cleanliness, and 
7156         to maintain invariants for child widgets if we eventually 
7157         let users set different children inside the buttons
7158         (gtk_tree_view_map_buttons): factor out code to map buttons,
7159         since it was being called several times
7160         (gtk_tree_view_size_allocate_buttons): move_resize the drag
7161         windows instead of just moving them; their height may change 
7162         if we allow random widgets in there, or the theme changes.
7163         (gtk_tree_view_size_allocate): move button size allocation 
7164         above emitting the scroll signals, to ensure a sane state when we
7165         hit user code
7166         (gtk_tree_view_button_release): remove queue_resize after
7167         tree_view_set_size(), set_size() will handle any resize queuing
7168         that's needed
7169         (gtk_tree_view_focus_in): just queue a draw, don't fool with
7170         draw_focus goo
7171         (gtk_tree_view_focus): use gtk_get_current_event() and
7172         gdk_event_get_state()
7173         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
7174         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
7175         semicolon
7176         (gtk_tree_view_create_button): show the button here
7177         (gtk_tree_view_button_clicked): actually emit the clicked signal
7178         on the column
7179         (_gtk_tree_view_set_size): return right away if the size is
7180         unchanged, as a cheesy optimization
7181         (gtk_tree_view_setup_model): rename set_model_realized to 
7182         setup_model to match the flag that indicates whether we've 
7183         called it
7184         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
7185         exist, because set_scroll_adjustment does that and it shouldn't
7186         matter what order you call these in
7187         (gtk_tree_view_get_vadjustment): ditto
7188         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
7189         for paranoia
7190         (gtk_tree_view_set_headers_visible): call
7191         gtk_tree_view_map_buttons() instead of using cut-and-paste code
7192         (gtk_tree_view_append_column): clarify whether the return value
7193         is the count of columns before or after, and do the increment 
7194         separately from the return statement so you can tell from the code.
7195         (gtk_tree_view_remove_column): ditto
7196         (gtk_tree_view_insert_column): ditto
7197         (gtk_tree_view_get_column): remove g_return_if_fail for columns
7198         outside the existing range, the docs say that outside-range
7199         columns are allowed, so we handle them as documented. (Presumably
7200         this allows a nice loop with column != NULL as test.)
7201         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
7202         mean (left/right/center etc.).
7203         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
7204         (gtk_tree_view_expand_row): add docs
7205         (gtk_tree_view_collapse_row): add docs
7206
7207         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
7208         function to emit the clicked signal on a column
7209         
7210         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
7211         state of an event
7212         (gdk_event_get_time): don't treat GDK_SCROLL 
7213         as a button event, remove default case from switch so gcc 
7214         will whine if we don't explicitly handle all event types
7215
7216         * gtk/gtktreeselection.h: added some FIXME 
7217         
7218         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
7219         "columns" to "n_columns" and "column" to "columns" for clarity
7220
7221 2000-12-16  Havoc Pennington  <hp@pobox.com>
7222         
7223         * gtk/gtktextiter.c: General cleanup of the log attr iteration
7224         stuff. This should make e.g. the delete key work again in the
7225         text widget...
7226         (gtk_text_iter_forward_cursor_positions): handle negative count
7227         (gtk_text_iter_backward_cursor_positions): handle negative count
7228         (gtk_text_iter_forward_word_ends): handle negative count
7229         (gtk_text_iter_backward_word_starts): handle negative count
7230
7231         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
7232         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
7233         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
7234         GObject. No doubt will cause breakage.
7235
7236         * demos/gtk-demo/textview.c: remove hacks around
7237         non-GObject-ification of the text objects
7238
7239         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
7240         the text tag
7241         
7242 2000-12-14  Havoc Pennington  <hp@pobox.com>
7243
7244         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
7245         that we have Xrender
7246
7247 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
7248
7249         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
7250         Add two virtualized functions gdk_drawable_get_clip_region - to
7251         get the clip region when drawing.
7252         
7253         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
7254         use invalidate_region.
7255
7256         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
7257         region.
7258
7259         * acconfig.h configure.in: Check for Xft. For now, assume
7260         that if Xft is found, Pango was compiled with Xft support
7261         as well.
7262
7263         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
7264         gdk_colormap_query_color().
7265         
7266         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
7267         with Xft if appropriate.
7268
7269         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
7270         a pangoxft context if we have XFT and the environment
7271         variable GD_USE_XFT is set.
7272         
7273         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
7274         and also possibly an XftDraw structure.
7275
7276         * gtk/gtkfontsel.c: Handle the case where the font from the
7277         style doesn't match any of the fonts a bit better.
7278         
7279         * gtk/testgtk.c: Add tabs between directional segments for
7280         hebrew/arabic test. (Not really necessary, just a little
7281         prettier.)
7282
7283 2000-12-14  Havoc Pennington  <hp@redhat.com>
7284
7285         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
7286         reading a file
7287
7288 2000-12-14  Havoc Pennington  <hp@redhat.com>
7289
7290         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
7291         unused call to get_last_line()
7292
7293         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
7294         here until boxed is working (and maybe after that - we should
7295         really not gratuitously break old code)
7296
7297         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
7298         specific types for font_desc and tabs args, move them to
7299         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
7300         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
7301
7302         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
7303         use GTK_TYPE_POINTER for signal signatures as a hack-around
7304
7305         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
7306         PangoTabArray
7307
7308         * gtk/gtktextlayout.c (line_display_iter_to_index): 
7309         make static
7310         (line_display_index_to_iter): make static
7311
7312         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
7313         to marshal a string not a boxed
7314
7315         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
7316
7317         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
7318         since the UTF-8 isn't validated yet
7319
7320         * gtk/gtktextsegment.c (char_segment_check_func): don't require
7321         lines to end in '\n'
7322         
7323         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
7324         forward_to_delimiters, and grapheme boundaries
7325         (gtk_text_view_delete_from_cursor): properly handle non-newline
7326         delimiters, and grapheme boundaries
7327
7328         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
7329         to gtk_text_iter_forward_to_delimiters, and make it work properly
7330         if empty lines end with a character other than '\n'
7331
7332         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
7333         position
7334
7335 2000-12-15  Tor Lillqvist  <tml@iki.fi>
7336
7337         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
7338
7339         * gtk/gtk.def
7340         * gdk/gdk.def: Update.
7341
7342         * gdk/win32/gdkmain-win32.c
7343         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
7344         gdkmain-win32.c here.
7345
7346         * gdk/win32/makefile.mingw.in (all): No need to make
7347         gdk-win32res.o here, the makefile one step up will call us to make
7348         it.
7349
7350         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
7351         gdkkeys-win32.
7352
7353         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
7354
7355         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
7356         call to g_source_add().
7357
7358         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
7359         leak. Thanks to Andreas Kemnade.
7360
7361 2000-12-13  Havoc Pennington  <hp@pobox.com>
7362
7363         * gtk/gtktextbtree.h: Remove double _ in front of some functions
7364
7365         * gtk/gtktext*.[hc]: update accordingly
7366         
7367 2000-12-13  Havoc Pennington  <hp@pobox.com>
7368
7369         * gtk/gtktextbtree.h: Put _ in front of every function in this 
7370         header file
7371
7372         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
7373
7374 2000-12-13  Alex Larsson  <alexl@redhat.com>
7375
7376         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
7377         Add support for ps2 intellimouse.
7378
7379         * gdkkeyboard-fb.c:
7380         Move shift-F1 repaint handling to xlate handler only.
7381         
7382         * docs/README.linux-fb:
7383         Add imps2 to docs.
7384         Document the new refresh keys.
7385         
7386 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
7387
7388         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
7389
7390         * gtk/gtkbox.c: change property types from (u)long to (u)int for
7391         ::position and ::padding.
7392
7393         * gtk/gtkcontainer.c: make ::border_width an INT property.
7394
7395         * gtk/gtkpacker.c: make ::position an INT property.
7396
7397         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
7398         guard against NULL h/v scrollbars, since this is used at construction
7399         time.
7400
7401         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
7402         internal gtk_clist_constructor().
7403
7404         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
7405         gtk_ctree_constructor().
7406
7407         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
7408         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
7409
7410         * docs/reference/Makefile.am: fun stuff, disabled docs generation
7411         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
7412
7413         * gtk/gtkwidget.[hc]:
7414         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
7415         and gtk_widget_get().
7416         (gtk_widget_new): use g_object_new_valist().
7417         (gtk_widget_set): use g_object_set_valist().
7418
7419         * gtk/gtkobject.[hc]:
7420         removed gtk_object_arg_get_info(), gtk_object_getv(),
7421         gtk_object_query_args(), gtk_object_newv(),
7422         gtk_object_class_add_signals(),
7423         gtk_object_class_user_signal_new(),
7424         gtk_object_class_user_signal_newv(),
7425         gtk_object_arg_set(), gtk_object_arg_get(),
7426         gtk_object_args_collect(),
7427         gtk_object_default_construct(),
7428         gtk_object_constructed(),
7429         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
7430         removed nsignals, signals and n_args members from GtkObjectClass.
7431         (gtk_object_new): use g_object_new_valist().
7432         (gtk_object_set): use g_object_set_valist().
7433         (gtk_object_get): use g_object_get_valist().
7434         
7435         * gtk/gtkcompat.h: define gtk_object_default_construct().
7436         
7437         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
7438         g_object_new().
7439
7440         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
7441         fucntions, cleaned up method assignments (make sure your structures
7442         are setup properly before calling out). removed all GTK_CONSTRUCTED
7443         hacks ;)
7444
7445 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
7446
7447         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
7448         off-by-one error in checks. (Dave Lambert)
7449
7450 2000-12-12  Alexander Larsson  <alexl@redhat.com>
7451
7452         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
7453         Don't free gdk_fb_keyboard twice.
7454
7455 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
7456
7457         * gtk/testgtk.c:
7458         (create_tooltips): 
7459         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
7460         use GObject swapped_signal:: properties instead.
7461
7462         * gtk/gtkcellrenderertoggle.c: 
7463         * gtk/gtkcellrenderertextpixbuf.c: 
7464         * gtk/gtkcellrenderertext.c: 
7465         * gtk/gtkcellrendererpixbuf.c: 
7466         * gtk/gtkcellrenderer.c:
7467         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
7468         missing warnings for invalid property ids, install properties
7469         with g_object_class_install_property() now.
7470         
7471         * gtk/gtksignal.c:
7472         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
7473         
7474 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
7475         
7476         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
7477         to determine if a window is the focus widget within
7478         its toplevel.
7479
7480         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
7481         to be boolean.
7482
7483         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
7484         of the case where the container CAN_FOCUS to here instead
7485         of having it in each individual move-the-focus place.
7486
7487         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
7488         focusing to be geometric in a much more obvious sense. Arrowing
7489         around is still non-intuitive because it isn't perfect and
7490         because entries, etc, grab the arrow keys, but it at least
7491         usually will do what you expect now.
7492         
7493         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
7494         file.
7495
7496         * gtk/gtknotebook.c: Change tabs to be a single item in
7497         the focus chain. Make movement of focus on tabs with arrow
7498         keys wrap around.
7499         
7500         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
7501         CHECK_FIND_CHILD macro to give informative error messages
7502         instead of silent returns.
7503
7504         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
7505         flag since we handle GdkReturn on the tabs.
7506
7507         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
7508         windows rather than sending expose events directly.
7509
7510         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
7511         definition for GtkNotebookPage into .c file, since it is private.
7512
7513         * gtk/testgtk.c (create_notebook): Add option for 
7514         testing borderless notebook.
7515
7516         * gtk/testgtk.c (page_switch): Removed egregious poking
7517         around in GTK+ internals.
7518
7519         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
7520
7521         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
7522         properly through gtk_clist_focus. Make the title headers a
7523         single item in the tab-focus chain, and make left-right wrap
7524         around.
7525
7526         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
7527         focus method so that wrapping around works properly.
7528
7529         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
7530         that is handled for the widget now. 
7531
7532 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
7533
7534         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
7535         widgets as TOPLEVEL.
7536
7537         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
7538         TOPLEVEL widgets are containers.
7539
7540         * gtk/gtkinvisible.h: Remove useless include.
7541
7542 2000-12-11  Havoc Pennington  <hp@redhat.com>
7543
7544         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
7545         Handle chopping off \r\n and 0x2029 in addition to \n before
7546         passing to PangoLayout
7547
7548         * gtk/gtkimcontextsimple.c
7549         (gtk_im_context_simple_get_preedit_string): 
7550         return an empty string if no match is pending
7551
7552         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
7553         assertion that the returned preedit string was sane
7554
7555         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
7556         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
7557         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
7558
7559 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
7560
7561         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
7562         Fix up finalizer to chain to its parent.
7563
7564 2000-12-11  Alexander Larsson  <alexl@redhat.com>
7565
7566         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
7567         Clearified the difference between the keyboard types. Wrote a note
7568         about the magic sysrq key to get out of raw mode.
7569
7570 2000-12-09  James Henstridge  <james@daa.com.au>
7571
7572         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
7573         member to hold masks for detecting the start of a protocol packet.
7574         (mouse_devs): add packet start masks for ps2 and ms device types.
7575         Left the mask for fidmour blank, as I have no idea what it should
7576         be.
7577         (handle_mouse_io): skip bytes until we get to the start of a
7578         packet.  My Logitech mouse seems to be passing an extra NULL pad
7579         byte, and GPM does a similar thing here.
7580         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
7581         this is the ms mouse driver.
7582         (gdk_fb_mouse_ms_packet): fix up button handling, which was
7583         completely broken except for button1.  It was checking the wrong
7584         bit in the packet for the status of the right mouse button, and
7585         wrongly assuming right == button2 rather than 3.  I fixed that and
7586         also added support for middle button (button2).
7587
7588 2000-12-08  Havoc Pennington  <hp@redhat.com>
7589
7590         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
7591         that cause a segfault on text insertion
7592
7593         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
7594         warning
7595
7596         * gtk/gtktextiter.c (test_log_attrs): use
7597         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
7598
7599         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
7600         Get log attrs for a line, using a cache stored on the buffer
7601         
7602         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
7603         reported by Jeff Franks
7604
7605 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
7606
7607         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
7608         /dev/ttyS0 -> /dev/mouse
7609
7610 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
7611
7612         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
7613         Added dummy gdk_fontset_load.
7614
7615 2000-12-08  Alexander Larsson  <alexl@redhat.com>
7616
7617         * docs/README.linux-fb:
7618         * docs/Makefile.am:
7619         Initial GtkFB docs.
7620         
7621         * gdk/linux-fb/Makefile.am:
7622         Define GDK_DATA_PREFIX.
7623
7624         * gdk/linux-fb/gdkmain-fb.c:
7625         Fix typo.
7626         Change default display to /dev/fb0.
7627
7628         * gdk/linux-fb/gdkpango-fb.c:
7629         Add $(prefix)/share/fonts/ to font path.
7630         
7631 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
7632
7633         * gdk/linux-fb/gdkkeyboard-fb.c:
7634         New file containing the abstracted keyboard driver. Most code
7635         taken from gdkinput-ps2.c
7636
7637         * gdk/linux-fb/gdkinput-ps2.c:
7638         Removed file.
7639         
7640         * gdk/linux-fb/Makefile.am:
7641         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
7642
7643         * gdk/linux-fb/gdkcolor-fb.c:
7644         display->fb was renamed to display->fb_fd.
7645
7646         * gdk/linux-fb/gdkcursor-fb.c:
7647         gdk_mouse_get_info -> gdk_fb_mouse_get_info
7648
7649         * gdk/linux-fb/gdkinput.c:
7650         Moved gdk_input_init here from gdkinput-ps2.c
7651
7652         * gdk/linux-fb/gdkmain-fb.c:
7653         display->fb was renamed to display->fb_fd.
7654         Now the tty and the console is opened here instead
7655         of in the keyboard driver. Also check GDK_VT to see what
7656         tty to open.
7657         Move gdk_beep () here from gdkinput-ps2.c
7658         gdk_mouse_get_info -> gdk_fb_mouse_get_info
7659
7660         * gdk/linux-fb/gdkmouse-fb.c:
7661         Add header.
7662         gdk_mouse_get_info -> gdk_fb_mouse_get_info
7663         Return correct keyboard modifiers.
7664         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
7665
7666         * gdk/linux-fb/gdkprivate-fb.h:
7667         Add tty and vt info to display.
7668         Add orignal modeinfo storage to display
7669         Update global functions
7670
7671         * gdk/linux-fb/gdkwindow-fb.c:
7672         Added gdk_fb_window_find_focus().
7673         gdk_mouse_get_info -> gdk_fb_mouse_get_info
7674
7675 2000-12-07  Havoc Pennington  <hp@pobox.com>
7676
7677         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
7678         function, noticed by Alex
7679
7680 2000-12-06  Elliot Lee  <sopwith@redhat.com>
7681
7682         * configure.in: Detect freetype properly
7683
7684         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
7685         above.
7686
7687 2000-12-06  Alexander Larsson  <alexl@redhat.com>
7688
7689         * gdk/linux-fb/Makefile.am:
7690         Add gdkmouse-fb.c
7691         
7692         * gdk/linux-fb/gdkmouse-fb.c:
7693         New file. Abstracted the mouse drivers a bit.
7694
7695         * gdk/linux-fb/gdkcursor-fb.c:
7696         The cursor hide/show functions was moved here from gdkinput-ps2.c.
7697
7698         * gdk/linux-fb/gdkinput-ps2.c:
7699         Removed old mouse handling code. Moved cursor handling code
7700         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
7701         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
7702         gdk_mouse_get_info.
7703
7704         * gdk/linux-fb/gdkmain-fb.c:
7705         Pass NULL pointers for x,y in gdk_mouse_get_info call.
7706
7707         * gdk/linux-fb/gdkprivate-fb.h:
7708         Removed public gdk_fb_find_common_ancestor, added and renamed
7709         functions for the new mouse handling code.
7710
7711         * gdk/linux-fb/gdkwindow-fb.c:
7712         Moved gdk_fb_window_send_crossing_events here. added global
7713         variable gdk_fb_window_containing_pointer. made
7714         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
7715         renamed to gdk_mouse_get_info.
7716
7717 2000-12-06  Alexander Larsson  <alexl@redhat.com>
7718
7719         * gdk/linux-fb/gdkevents-fb.c:
7720         Update to match latest gmain/gsource changes.
7721
7722         * gdk/linux-fb/gdkinput-ps2.c:
7723         Bogus gdk_keymap_get_entries_for_keycode implementation so that
7724         it links. Will be implemented later.
7725
7726 2000-12-03  Havoc Pennington  <hp@pobox.com>
7727
7728         * gdk/Makefile.am: add gdkkeys.[hc]
7729
7730         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
7731         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
7732
7733         * acconfig.h, configure.in: add checks and command line options
7734         for XKB
7735
7736         * gdk/x11/gdkkeys-x11.c: Implement the above functions
7737         
7738         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
7739         and group in the key event
7740
7741         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
7742         field with the low-level hardware key code, and a group
7743         field with the keyboard group
7744
7745         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
7746         and declare a couple globals used for keymap handling
7747         
7748         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
7749         hold down Shift-Control and type a hex number to get a Unicode 
7750         character corresponding to the hex number
7751         (gtk_im_context_simple_get_preedit_string): Fix cursor position
7752         (return bytes not chars)
7753
7754 2000-12-05  Elliot Lee  <sopwith@redhat.com>
7755
7756         * gdk/gdkcolor.h: Make GdkColor specify element sizes
7757         to avoid waste on 64-bit platforms.
7758
7759 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
7760
7761         * INSTALL: Fix link to PNG home, remove reference
7762         to fribidi.
7763
7764         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
7765         
7766         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
7767         tested.)
7768
7769         * gtk/gtkcheckmenuitem.c: Permanently turn on
7770         always_show_toggle.
7771
7772         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
7773         be NULL. (Vladimir Klebanov, #26545)
7774
7775         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
7776         some signed/unsigned comparison problems. (#6510,
7777         David Kaelbling)
7778
7779         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
7780         return type to boolean (Oskar Liljeblad, #18648)
7781
7782 2000-12-05  Alexander Larsson  <alexl@redhat.com>
7783
7784         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
7785         Remove bogus colormap setting.
7786
7787 2000-12-05  Alexander Larsson  <alexl@redhat.com>
7788
7789         * gdk/linux-fb/gdkcolor-fb.c:
7790         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
7791
7792         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
7793         Must set colormap.
7794         
7795 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
7796
7797         * docs/tutorial/gtk-tut.sgml: DND updates
7798
7799 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
7800
7801         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
7802         Remove old debug g_warning().
7803         (gdk_fb_draw_drawable): The src argument can be either a wrapper
7804         or an implementation, just pass the implementation to draw_drawable_2.
7805         
7806         * gdk/linux-fb/gdkprivate-fb.h:
7807         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
7808
7809         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
7810         clear and invalidate area when window is destroyed.
7811         (send_map_events): Remove old commented out code.
7812
7813 2000-12-05  Alexander Larsson  <alexl@redhat.com>
7814
7815         * gdk/linux-fb/gdkpango-fb.c:
7816         Use italic instead of oblique in font aliases.
7817         
7818         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
7819         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
7820         other unsupported functions.
7821
7822 2000-12-04  Havoc Pennington  <hp@redhat.com>
7823
7824         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
7825
7826         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
7827
7828         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
7829
7830         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
7831         hack to avoid infinite loops (synthetic expose event) - 
7832         Owen has more appropriate fixes in a branch he'll check in later.
7833
7834         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
7835         separator, CR, and CRLF as line ends
7836
7837         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
7838         into lines using pango_find_paragraph_boundary(); other bits of
7839         the widget are still going to be broken if the boundary isn't '\n'
7840         though
7841
7842 2000-12-04  Alexander Larsson  <alexl@redhat.com>
7843
7844         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
7845         multiply.
7846
7847         * gdk/linux-fb/gdkpango-fb.c:
7848         Copied some 26.6 scaling macros from pango to clean up the rounding.
7849         (pango_fb_font_get_glyph_info): Correct sign on x value.
7850
7851         * gdk/linux-fb/gdkprivate-fb.h:
7852         Removed unreferenced external functions.
7853
7854         * modules/linux-fb/Makefile.am: Use ` instead of '.
7855
7856         * modules/linux-fb/basic.c:
7857         Remove dead code. In particular the dummy lang engine which broke all
7858         pango layouts in GtkFB. Don't include tables-big.i anymore.
7859
7860         * modules/linux-fb/tables-big.i:
7861         Upgrade to latest version from pango. Left for reference, basic_ranges
7862         moved to basic.c.
7863         
7864 2000-12-04  Havoc Pennington  <hp@redhat.com>
7865
7866         Fix bugs Alex found:
7867         
7868         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
7869         to "draw"
7870
7871         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
7872
7873         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
7874
7875         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
7876         implementation in here, apparently the expose() implementation was
7877         dead code.
7878
7879 2000-12-04  Alexander Larsson  <alexl@redhat.com>
7880
7881         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
7882         Return positive descent.
7883
7884 2000-12-02  Havoc Pennington  <hp@pobox.com>
7885
7886         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
7887         method and signal
7888         
7889         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
7890         calls gdk_window_process_updates() to push the exposes through
7891         (gtk_widget_class_init): No more draw signal, no
7892         gtk_widget_real_draw()  
7893         
7894         * gtk/gtkbin.c (gtk_bin_draw): remove
7895
7896         * gtk/gtkbox.c (gtk_box_draw): remove
7897
7898         * gtk/gtkbutton.c (gtk_button_draw): remove
7899
7900         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
7901
7902         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
7903
7904         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
7905
7906         * gtk/gtkclist.c (gtk_clist_draw): remove
7907
7908         * gtk/gtkentry.c (gtk_entry_draw): remove
7909
7910         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
7911
7912         * gtk/gtkfixed.c (gtk_fixed_draw): remove
7913
7914         * gtk/gtkframe.c (gtk_frame_draw): remove
7915
7916         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
7917
7918         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
7919
7920         * gtk/gtklayout.c (gtk_layout_draw): remove
7921
7922         * gtk/gtklist.c (gtk_list_draw): remove
7923
7924         * gtk/gtklistitem.c (gtk_list_item_draw): remove
7925
7926         * gtk/gtkmenu.c (gtk_menu_draw): remove
7927
7928         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
7929
7930         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
7931
7932         * gtk/gtknotebook.c (gtk_notebook_draw): remove
7933
7934         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
7935
7936         * gtk/gtkpacker.c (gtk_packer_draw): remove
7937
7938         * gtk/gtkrange.c (gtk_range_draw): remove
7939
7940         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
7941
7942         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
7943
7944         * gtk/gtktable.c (gtk_table_draw): remove
7945
7946         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
7947
7948         * gtk/gtktext.c (gtk_text_draw): remove
7949
7950         * gtk/gtktextview.c (gtk_text_view_draw): remove
7951
7952         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
7953
7954         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
7955
7956         * gtk/gtktree.c (gtk_tree_draw): remove
7957
7958         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
7959
7960         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
7961
7962         * gtk/gtkviewport.c (gtk_viewport_draw): remove
7963
7964         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
7965
7966         * gtk/gtkvscale.c (gtk_vscale_draw): remove
7967
7968         * gtk/gtkwindow.c (gtk_window_draw): remove
7969
7970 2000-20-01  Anders Carlsson  <andersca@gnu.org>
7971
7972         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
7973         a GtkToggleButton is both insensitive and active, it was being
7974         drawn by the GtkButton draw handler which doesn't check the
7975         state. Now it's calling gtk_toggle_button_paint instead.
7976         
7977 2000-12-01  Havoc Pennington  <hp@redhat.com>
7978
7979         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
7980         dangling pointers to the appearance attributes from the 
7981         line display
7982
7983         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
7984         width/height to mean "full width/height of drawable"
7985
7986         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
7987         click to select word/line
7988         
7989         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
7990         when getting log attrs. Get a slice, so that pixmaps and stuff
7991         are properly handled.
7992
7993         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
7994         paste into the selection (replaces selection now, previously
7995         crashed or added to selection). Reveals longstanding btree bug -
7996         select multiple lines, middle-click on the selection, boom. This
7997         isn't related to my changes though.
7998
7999         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
8000         PangoLogAttrs changes
8001         (gtk_entry_move_backward_word): ditto
8002
8003         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
8004         functions return bool whether the iter moved onto a
8005         dereferenceable position.
8006  
8007         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
8008         functions for motion in terms of display lines.
8009
8010         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
8011         get the buffer a mark is inside
8012         
8013 2000-12-01  Alexander Larsson  <alexl@redhat.com>
8014
8015         * gdk/linux-fb/Makefile.am:
8016         * modules/linux-fb/Makefile.am:
8017         Freetype 2 final uses freetype-config
8018
8019         * gdk/linux-fb/gdkpango-fb.c:
8020         Upgrade to use Freetype 2 final.
8021         More flexible support for font aliases, this also fixes a bug with
8022         GtkFontSelector, as the aliases must be visible in the font/family list,
8023         or GtkFontSelector reads uninitialized memory.
8024
8025 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
8026
8027         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
8028         XGetIMValues to properly terminate variable argument list, and do
8029         NULL return check for ic_values and xim_styles.
8030
8031         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
8032         Restore preedit state after XmbResetIC().
8033         
8034         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
8035         XvaCreateNestedList() should take XvaNestedList, but not
8036         XvaNestedList*.
8037
8038         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
8039         preedit_draw_callback, preedit_caret_callback): Match
8040         "preedit-changed" signal name to "preedit_changed" to be
8041         consistent to the spec.
8042
8043         * gtk/gtkimcontextsimple.c (check_table):
8044         Match "preedit-changed" to "preedit_changed" to be consistent
8045         to the spec.
8046
8047 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
8048
8049         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
8050         gc->clip_region == NULL>
8051
8052 2000-11-30  Tor Lillqvist  <tml@iki.fi>
8053
8054         Changes by Hans Breuer:
8055         
8056         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
8057         Dont't use negative width and height as max_hints. This fixes
8058         Owen's recent testgtk changes for win32.
8059
8060         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
8061         gdk_win32_hdc_release): These are exported and may be called with
8062         other drawable types than our GdkDrawableImplWin32 (?).
8063
8064         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
8065         so always #define USE_BACKING_STORE.
8066
8067         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
8068         of printf for debugging output.
8069
8070         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
8071         
8072         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
8073
8074         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
8075         declaration.
8076
8077         * gtk/gtktexttypes.h: Ditto.
8078
8079         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
8080         (GDK_VoidSymbol) also if in case of arg check failure.
8081
8082         * gtk/gtkimcontextsimple.c
8083         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
8084         position to the pointer, but to the variable it points to.
8085
8086         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
8087
8088         * gtk/gtk.def: Updates.
8089
8090 2000-11-29  Elliot Lee  <sopwith@redhat.com>
8091
8092         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
8093         GTK_TYPE_TREE_MODEL.
8094
8095 2000-11-29  Alexander Larsson  <alexl@redhat.com>
8096
8097         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
8098         Set the size of the font from the description.
8099         (gdk_text_width): Gross hack that calculates the width
8100         of text by text_length * size/2. This is necessary because
8101         GtkLabel does some ugly gtk_string_width call to calculate
8102         an good size.
8103         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
8104
8105 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
8106
8107         * docs/tutorial/gtk-tut.sgml: DND updates
8108
8109 2000-11-29  Alexander Larsson  <alexl@redhat.com>
8110
8111         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
8112         If you pass width or height == 0 to gdk_window_clear_area they
8113         should be calculated from the window size.
8114
8115 2000-11-29  Alexander Larsson  <alexl@redhat.com>
8116
8117         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
8118         a grab, but no grab-cursor, use the cursor from the grabbed
8119         window. (gdk_fb_window_send_crossing_events): Send normal
8120         enter/leave notifications if grab and owner_events == TRUE.
8121
8122 2000-11-29  Alexander Larsson  <alexl@redhat.com>
8123
8124         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
8125         Do implicit button grabs, even if the window doesn't
8126         want the event.
8127         (gdk_fb_window_send_crossing_events): If there is a
8128         grab, only the grabbed window gets normal enter/leave
8129         notifications. On ungrab go from grabbed window to current.
8130         Don't send any notification to b when propagating from c -> b.
8131         If setting a grab on window, don't set prev_window.
8132         (handle_mouse_input): Send enter/leave events to the window the
8133         mouse is over, not the grabbed one.
8134         
8135 2000-11-28  Elliot Lee  <sopwith@redhat.com>
8136
8137         * gdk/gdkregion-generic.c: Zap warning.
8138         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
8139         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
8140
8141 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
8142
8143         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
8144         The cursor should be hidden if it is part of either the
8145         source or destination region. Not only if it is in both.
8146         (gdk_window_set_transient_for): Silence warnings.
8147
8148 2000-11-28  Alexander Larsson  <alexl@redhat.com>
8149
8150         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
8151         The default mode in X is Pie Arcs, therefore that is
8152         what Gtk+ uses.
8153
8154 2000-11-28  Alexander Larsson  <alexl@redhat.com>
8155
8156         * gdk/linux-fb/gdkinput-ps2.c:
8157         Implement correct EnterNotify/LeaveNotify:
8158         (gdk_fb_window_send_crossing_events): New function that sends
8159         all GdkCrossingEvents from the last mouse-window to the specified
8160         destination.
8161         (gdk_fb_window_visibility_crossing): Removed function.
8162         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
8163         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
8164         instead of gdk_window_get_pointer() for better readability.
8165
8166         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
8167         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
8168
8169         * gdk/linux-fb/gdkprivate-fb.h:
8170         removed gdk_fb_window_visibility_crossing, added
8171         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
8172
8173         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
8174         New function that finds the least common ancestor of two windows.
8175         (gdk_window_show, gdk_window_hide):
8176         Use gdk_fb_window_send_crossing_events.
8177         (gdk_fb_window_move_resize): Send configure events to toplevel
8178         windows. Use gdk_fb_window_send_crossing_events.
8179
8180 2000-11-27  Havoc Pennington  <hp@redhat.com>
8181
8182         * gtk/gtkprivate.h (enum): Remove a trailing comma
8183
8184 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
8185
8186         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
8187         the "changed" callback of the adjustment.  We need to redraw the
8188         spin button's arrows when the adjustment's range changes.
8189         (adjustment_changed_cb): Draw the arrows.
8190         (gtk_spin_button_value_changed): Draw the arrows.
8191
8192 2000-11-23  Alexander Larsson  <alexl@redhat.com>
8193
8194         * gdk/linux-fb/gdkselection-fb.c:
8195         Initial selection implementation.
8196
8197         * gtk/gtkselection.c:
8198         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
8199         requestor in gtk_selection_request.
8200         
8201         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
8202         Added gdk_selection_property atom.
8203
8204         * gdk/linux-fb/gdkprivate-fb.h:
8205         Export _gdk_selection_window_destroyed.
8206         Removed mask_off_x/y from GdkCursorPrivateFB.
8207         Removed hbearing, added top, left to PangoFBGlyphInfo.
8208
8209         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
8210         Call _gdk_selection_window_destroyed
8211         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
8212         the root window has been created.
8213         (static_dx_hack, static_dy_hack, compare_draw_rects,
8214         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
8215         in region. They are already sorted. Instead just traverse them in
8216         reverse if draw_direction < 0.
8217         
8218         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
8219         Double-clicks must be sent after the normal button_press.
8220         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
8221         
8222         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
8223         Pass _gdk_fb_screen_gc instead of NULL.
8224
8225         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
8226         Initialize gdk_selection_property.
8227         (gdk_event_make): Remove unused code.
8228
8229         * gdk/linux-fb/gdkcursor-fb.c:
8230         Make the pixmap for the cursor the same size as the mask. Also remove
8231         the mask_off_x/y fields in GdkCursorPrivateFB and combine
8232         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
8233         Now the whole cursor is visible.
8234
8235         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
8236         Fix bug where xdest+height instead of ydest+height was used
8237         to calculate if the source and dest overlapped. This fixes the
8238         redraw bug when the main window in testgtk was scrolled when
8239         partially covered by a tall window.
8240         Copy rectangles in region in order depending on draw_direction.
8241         Also moved the draw_direction flipping of start_y and end_y into
8242         the gc functions, as this might not be what all of them want.
8243         (gdk_fb_draw_lines): Support dashed lines.
8244         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
8245         so that the text is positioned correctly (was 1 pixel high).
8246
8247         gdk/linux-fb/gdkgc-fb.c:
8248         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
8249         all lines were drawn a pixel to short. Also checked the default of
8250         the rest of the values, and they're the same as X now.
8251
8252         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
8253         Clean up pixel positioning of the glyphs. Just use bgy->top and
8254         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
8255         to all divisions to get correct rounding behaviour.
8256
8257         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
8258         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
8259         Moved start_y/end_y flip into draw_drawable implementations.
8260         Flip also x rendering when draw_direction < 0.
8261         Remove unneccesary multiply with draw_direction.
8262
8263 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
8264
8265         * docs/tutorial/gtk-tut.sgml:
8266           - get rid of gtk_toggle_button_toggled FUD
8267           - start DND section - needs work - based on:
8268                 http://wolfpack.twu.net/docs/gtkdnd/
8269
8270 2000-11-22  Alexander Larsson  <alexl@redhat.com>
8271
8272         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
8273         Correct calculation of font metrics. Now GtkEntrys have sane
8274         size.
8275
8276 2000-11-22  Alexander Larsson  <alexl@redhat.com>
8277
8278         * gdk/gdktypes.h:
8279         Add new type GdkSpan
8280         
8281         * docs/reference/gdk/gdk-sections.txt,
8282         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
8283         gdk/gdkregion.h:
8284         Implement and document gdk_region_spans_intersect_foreach.
8285
8286         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
8287         Add new file gdkrender-fb.c which contains all core
8288         rendering code.
8289         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
8290         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
8291         (optimized rectangle fillers).
8292
8293         * gdk/linux-fb/gdkdrawable-fb2.c:
8294         Move all rendering code to gdkrender-fb.c.
8295         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
8296         Use the new span intersection functions in gdk_fb_fill_spans.
8297         gdk_fb_draw_rectangle() clips filled rectangles and calls
8298         gc->fill_rectangle with the result.
8299         gdk_fb_fill_spans() gets extra argument "sorted".
8300
8301         * gdk/linux-fb/gdkevents-fb.c:
8302         Remove unused includes and defines.
8303         New function gdk_fb_get_time() to get correct time for events.
8304
8305         * gdk/linux-fb/gdkinput-ps2.c:
8306         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
8307         Make sure to set the time of all events.
8308
8309         * gdk/linux-fb/gdkmain-fb.c:
8310         Use gdk_fb_get_time ().
8311
8312         * gdk/linux-fb/gdkprivate-fb.h:
8313         New virtual GC calls: fill_span & fill_rectangle.
8314         Export gdk_fb_get_time().
8315         gdk_fb_fill_spans() gets extra argument "sorted".
8316
8317         * gdk/linux-fb/mi*.c:
8318         Use GdkSpan instead of GdkRectangle.
8319         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
8320         from XFree 4 source)
8321         
8322 2000-11-22    <jrb@redhat.com>
8323
8324         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
8325         reversing the order in an if statement will do.  Doing so managed
8326         to make the treemodelsort half work.  Other half will follow after
8327         I get the insert function fully fixed.
8328
8329 2000-11-21  Elliot Lee  <sopwith@redhat.com>
8330         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
8331         more than 2 bits. Besides, I need to implement an evil hack. :)
8332
8333 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
8334
8335         * docs/tutorial/gtk-tut.sgml: minor corrections
8336
8337 2000-11-20  Jonathan Blandford <jrb@redhat.com>
8338         * gtk/gtktreemodelsort.h: Add convertion functions to let you
8339           convert to and from relative path's and iters.
8340
8341         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
8342           testing sorting functions a bit better.  Currently broken -- will
8343           fix in morning.
8344
8345 2000-11-20  Havoc Pennington  <hp@redhat.com>
8346
8347         * gtk/gtkwidget.c: Documented a bunch of functions in here
8348         (gtk_widget_realize): Warn if you try to realize
8349         a widget with no parent that isn't a toplevel
8350         (gtk_widget_intersect): return a gboolean
8351
8352 2000-11-20  Havoc Pennington  <hp@redhat.com>
8353
8354         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
8355         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
8356         scrolling to be implemented in GDK to finish. Also, right now
8357         we just size_allocate all children on every layout change,
8358         which is pretty lame. Test commented out of testtext.c, 
8359         until it works better.
8360
8361 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
8362
8363         * gdk/linux-fb/gdkdrawable-fb2.c:
8364         Removed unused arguments from gdk_fb_drawable_get_pixel().
8365
8366         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
8367         Renamed fidur specific mouse packet data in MouseDevice to
8368         generic. Used it in ps2 mouse handling code to avoid blocking
8369         reads.
8370
8371 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
8372
8373         * demos/gtk-demo/main.c: Changed to have the list become
8374         non-italic when the demo window is destroyed through an external
8375         event (like a close button).  Doing so found three bugs in the
8376         widget.
8377
8378         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
8379
8380         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
8381         we actually set the cell.
8382
8383         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
8384
8385         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
8386         free a leaked path.  Thanks memprof.
8387
8388 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
8389
8390         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
8391         off-by-one error when destroying allocated segments
8392         on failure. (Elliot)
8393
8394 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
8395
8396         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
8397         memleaks found by Evan Martin.
8398
8399 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
8400
8401         * Released 1.3.2
8402         
8403         * NEWS: Updates for 1.3.2
8404
8405 2000-11-17  Tor Lillqvist  <tml@iki.fi>
8406
8407         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
8408         but in general for window system specific events.
8409
8410         * gtk/gtk.def
8411         * gtk/makefile.mingw.in
8412         * gtk/makefile.msc.in: Update.
8413         
8414         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
8415
8416 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
8417
8418         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
8419         distribute gtk.immodules.
8420
8421         * gtk/Makefile.am (install-data-local): Don't install the
8422         gtk.immodules file created for the uninstalled modules;
8423         instead run gtk-query-immodules after install
8424
8425 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
8426
8427         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
8428         -rpath to the right install location.
8429
8430         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
8431         -export-dynamic.
8432
8433         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
8434         properly.
8435
8436 2000-11-15  Havoc Pennington  <hp@pobox.com>
8437
8438         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
8439         patch from Mikael Hermansson to temporarily stop blinking while
8440         the user is using the keyboard to type or navigate. 
8441
8442         Also, when blinking, stay on for longer than we stay off. Also,
8443         return from start_cursor_blink if !cursor_visible, to save
8444         checking that flag all over the place before we call
8445         start_cursor_blink.
8446
8447 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
8448
8449         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
8450         only contain a "fontset" line, which is now ignored.
8451
8452         * gtk/gtkentry.c (gtk_entry_button_release): Make 
8453         double-click-to-select-word work.
8454         
8455 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
8456
8457         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
8458         Don't move back one char when we are actually at the end of the 
8459         paragraph.
8460
8461 2000-11-15  Robert Brady  <robert@suse.co.uk>
8462
8463         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
8464         'o' < 'p'.
8465         
8466         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
8467         bind_textdomain_codeset.
8468
8469         (gtk_init_check): Make the warning about translating default:LTR
8470         sterner.
8471         
8472 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
8473
8474         * **/Makefile.am : remove unecessary rules for win32-specific
8475         config-substituted targets. If you want these rules, use
8476         --enable-maintainer-mode (called automatically by autogen.sh).
8477         Stops a lot of unneccessary make-time warnings.
8478
8479         * gtk/gtktext{layout,display}.c: Factor in total width as
8480         well as screen when figuring alignment for word-wrap as well as
8481         no wrap; this is necessary to handle lines that cannot be wrapped
8482         at all.
8483
8484 2000-11-15  Havoc Pennington  <hp@redhat.com>
8485
8486         * gtk/testtext.c: Implement essential color cycling feature
8487
8488 2000-11-15  Havoc Pennington  <hp@redhat.com>
8489
8490         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
8491         when we invalidate the main window.
8492
8493         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
8494         GtkTextView will now invalidate the side windows for us when text
8495         changes.
8496
8497 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
8498
8499         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
8500         unconditionally, since we may need to update the horizontal
8501         scrollbars even if the height didn't change.
8502
8503         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
8504         the extra attrs, since some of them affect size.
8505
8506         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
8507         x_offset correctly.
8508
8509 2000-11-15  Havoc Pennington  <hp@redhat.com>
8510
8511         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
8512         don't move the first line out into the margin, instead move the
8513         whole paragraph in order to make space for the first line within 
8514         the margin
8515
8516 2000-11-15  Havoc Pennington  <hp@redhat.com>
8517
8518         * gtk/gtktextview.c (changed_handler): offset redraw rect by
8519         xoffset in addition to yoffset, so horizontal scrolling doesn't
8520         break redraws
8521
8522 2000-11-15  Havoc Pennington  <hp@redhat.com>
8523
8524         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
8525         from the cursor
8526         (render_layout_line): fix reversed test that caused weird
8527         underlines to get drawn
8528
8529 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
8530
8531         * gdk/linux-fb/gdkprivate-fb.h:
8532         Fix debug macros.
8533         
8534 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
8535
8536         * gdk/linux-fb/gdkprivate-fb.h:
8537         Added virtual functions set_pixel, get_color,
8538         fill_span and draw_drawable to the GC.
8539         Added global _gdk_fb_screen_gc to use instead of
8540         NULL when drawing to the screen.
8541         Added _gdk_fb_gc_calc_state() prototype.
8542
8543         * gdk/linux-fb/gdkgc-fb.c:
8544         Call _gdk_fb_gc_calc_state() on any gc state change.
8545
8546         * gdk/linux-fb/gdkglobals-fb.c:
8547         Add _gdk_fb_screen_gc
8548                 
8549         * gdk/linux-fb/gdkdrawable-fb2.c:
8550         _gdk_fb_gc_calc_state() calculates best functions
8551         for the GC state and depth.
8552         Moved bpp specialized code to separate functions.
8553         Added optimized 24 bpp AA draw_drawable.
8554
8555         * gdk/linux-fb/gdkevents-fb.c:
8556         Silence gcc warning.
8557
8558         * gdk/linux-fb/gdkimage-fb.c:
8559         Use _gdk_fb_screen_gc
8560
8561         * gdk/linux-fb/gdkwindow-fb.c:
8562         Init and use _gdk_fb_screen_gc
8563
8564         * gdk/linux-fb/mitypes.h:
8565         Remove unused types.
8566
8567 2000-11-14  Havoc Pennington  <hp@pobox.com>
8568
8569         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
8570         to pixels
8571
8572 2000-11-14  Havoc Pennington  <hp@pobox.com>
8573
8574         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
8575
8576         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
8577         unknown char, no real reason we were using a variable. 
8578         Remove gtk_text_unknown_char variable. Fix all the text widget
8579         files accordingly.
8580
8581         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
8582         since the Unicode spec seems to prefer that character for our
8583         purposes.
8584
8585 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
8586
8587         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
8588         value of g_getenv() isn't freeable, so g_strdup it.
8589
8590         * modules/input/inuktitut.c: Inuktitut input method.
8591
8592         * modules/input/Makefile.am: Build this.
8593         
8594 2000-11-14  Elliot Lee  <sopwith@redhat.com>
8595
8596         * gtk/Makefile.am: Install gtk.immodules, needed for operation
8597         of gtk programs.
8598
8599 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
8600
8601         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
8602         reversed > that was causing Home to go to end of previous line.
8603
8604         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
8605         modified-keypresses (leave for bindings.)
8606
8607         * modules/input/Makefile.am: Remove useless -export-dynamic
8608         from module LDFLAGS.
8609
8610 2000-11-14  Havoc Pennington  <hp@redhat.com>
8611
8612         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
8613         higher.
8614
8615         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
8616         account. Also, render rise, underline, background, etc. for
8617         pixbufs as well as text. Also, draw underlines one pixel higher.
8618
8619         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
8620         PangoAttribute for the rise, so it gets drawn properly. Also,
8621         add the GtkTextAppearance attribute for pixbuf/widget segments
8622         as well; we should go ahead and have rise, underline, background,
8623         stipple work for those
8624
8625         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
8626         Pango
8627
8628 2000-11-15  Tor Lillqvist  <tml@iki.fi>
8629
8630         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
8631
8632         * gtk/gtk.def: Update.
8633
8634         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
8635         included.
8636         (gtk_rc_get_im_module_file): Use run-time installation directory
8637         on Win32.
8638
8639         * gdk/win32/rc/gdk.rc: Remove.
8640         * gdk/win32/rc/gdk.rc.in: New file.
8641         * gdk/win32/rc/Makefile.am: New file
8642         * gdk/win32/Makefile.am: Corresponding changes.
8643
8644         * gtk/gtk.rc: Remove.
8645         * gtk/gtk-win32.rc.in: New file.
8646         * gtk/Makefile.am: Corresponding changes.
8647
8648         * configure.in: Corresponding changes.
8649
8650         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
8651         has a built gtkcompat.h. Developers using CVS code on Win32 can
8652         hand-edit it from gtkcompat.h.in.
8653
8654         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
8655         gtkcompat.h from gtkcompat.h.win32.
8656
8657 2000-11-14  Havoc Pennington  <hp@redhat.com>
8658
8659         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
8660         to default to GDK_ACTION_MOVE if the drag is within a single
8661         widget. Defaults to GDK_ACTION_COPY between widgets.
8662
8663 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
8664
8665         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
8666
8667         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
8668
8669         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
8670         srcdir != builddir
8671
8672         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
8673
8674         * configure.in (GTK_VERSION): Up to 1.3.2
8675
8676         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
8677         gtkimcontextxim.h
8678
8679         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
8680         missing doc comment.
8681
8682 2000-11-14  Alexander Larsson  <alexl@redhat.com>
8683
8684         * modules/linux-fb/basic.c:
8685         Use the glib iconv wrappers.
8686
8687 2000-11-13  Havoc Pennington  <hp@pobox.com>
8688
8689         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
8690         still more bugs.
8691
8692         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
8693         scroll the GdkWindows before realization.
8694
8695 2000-11-13  Havoc Pennington  <hp@redhat.com>
8696
8697         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
8698         where GC didn't always get updated properly
8699
8700         * demos/gtk-demo/textview.c (create_tags): Use subattributes
8701         of fonts instead of setting the entire font
8702
8703         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
8704         setting entire font
8705
8706         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
8707
8708         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
8709         a bunch of individually-settable font attributes. You can still 
8710         use the "font" and "font_desc" args, they just set all the font
8711         attributes at once.
8712
8713 2000-11-13 Elliot Lee <sopwith@redhat.com>
8714
8715         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
8716
8717 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
8718
8719         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
8720         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
8721
8722         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
8723         work better.
8724
8725 2000-11-13  Havoc Pennington  <hp@redhat.com>
8726
8727         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
8728         the module file.
8729
8730         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
8731         dest->language
8732
8733         * gtk/testtext.c: Test pixels above/below/inside paragraphs
8734         settings
8735
8736         * gtk/gtktextview.c: Implement object args and setters/getters for
8737         all the aspects of the GtkTextAttributes that are not set from
8738         GtkWidget attributes. This is spacing, justification, margins,
8739         etc.
8740
8741         (gtk_text_view_set_arg)
8742         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
8743         args
8744         (gtk_text_view_class_init): Add args for justify, left_margin,
8745         right_margin, indent, and tabs
8746         
8747
8748         * gtk/gtktextlayout.c (set_para_values): fix to display indent
8749         attribute properly
8750
8751         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
8752         replace with indent attribute
8753
8754         * gtk/gtktextlayout.c (set_para_values): multiply indent by
8755         PANGO_SCALE
8756
8757         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
8758         rearranging code to do that
8759         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
8760         i.e. don't subtract the top_margin first, just to keep
8761         all margin-futzing in one place.
8762
8763         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
8764
8765         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
8766         special case of last line, Pango now handles this itself.
8767         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
8768         Y coordinate
8769         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
8770         (find_display_line_above): wasn't moving the byte index as it
8771         iterated over lines, so always returned byte 0. Also, port to use
8772         PangoLayoutIter.
8773         (find_display_line_below): same problem as
8774         find_display_line_above. Also, port to use PangoLayoutIter.
8775
8776 2000-11-13  Alexander Larsson  <alexl@redhat.com>
8777
8778         * gdk/linux-fb/*.[ch]:
8779         Massive reindent to gtk+ standard. My hands hurt.
8780
8781         * gdk/linux-fb/gdkcolor-fb.c:
8782         Move GdkColorPrivateFB from inherited to windowing_data
8783
8784         * gdk/linux-fb/gdkcursor-fb.c:
8785         _gdk_cursor_new_from_pixmap made static
8786
8787         * gdk/linux-fb/gdkdnd-fb.c:
8788         GdkDragContextPrivate moved to windowing_data
8789
8790         * gdk/linux-fb/gdkdrawable-fb2.c:
8791         Removed endian.h, use glib endianness macros instead
8792         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
8793         and GDK_DRAWABLE_IMPL_FBDATA
8794
8795         * gdk/linux-fb/gdkfont-fb.c:
8796         Add empty gdk_font_load(). Needed for linking of Gtk+.
8797
8798         * gdk/linux-fb/gdkimage-fb.c:
8799         Removed endian.h, use glib endianness macros instead
8800         Moved GdkImagePrivateFB to windowing_data
8801         gdk_image_new_bitmap didn't always allocate enough
8802         memory.
8803
8804         * gdk/linux-fb/gdkinput-ps2.c:
8805         Added semi-working support for MS serial mice.
8806
8807         * gdk/linux-fb/gdkprivate-fb.h:
8808         s/GdkWindowPrivate/GdkWindowObject/
8809         Removed GdkWindowPrivate typedef
8810         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
8811         Removed GDK_DRAWABLE_P
8812         Move GdkColorPrivateFB from inherited to windowing_data
8813         Moved GdkImagePrivateFB to windowing_data
8814
8815         * gdk/linux-fb/gdkvisual-fb.c:
8816         Removed some unused debug code.
8817
8818         * gdk/linux-fb/gdkwindow-fb.c:
8819         Use stock cursors instead of including X headers.
8820         s/GdkWindowPrivate/GdkWindowObject/
8821
8822         * gdk/linux-fb/mitypes.h:
8823         Removed unused types.
8824
8825         * modules/linux-fb/basic.c:
8826         Use the pango fribidi wrappers.
8827
8828 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
8829
8830         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
8831         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
8832         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
8833         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
8834         GEqualFunc where applicable.
8835         
8836         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
8837         pango_font_description_equal as changed in pango.
8838         
8839         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
8840
8841         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
8842
8843         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
8844
8845         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
8846
8847         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
8848
8849         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
8850
8851         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
8852         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
8853
8854         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
8855         gtk_rc_styles_compare -> gtk_rc_styles_equal.
8856
8857 2000-11-12  Havoc Pennington  <hp@pobox.com>
8858
8859         * demos/gtk-demo/Makefile.am (democodedir): change demo install
8860         dir to datadir/gtk+-2.0/demo
8861
8862         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
8863         sorts of text widget and Pango font bugs. Urgh.
8864
8865         * demos/gtk-demo/Makefile.am (demos): Add textview.c
8866
8867         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
8868         tree that you should double click to see the demo. Fix 
8869         types of variables to reflect changed return values from 
8870         GtkTreeStore and GtkTreeViewColumn constructors.
8871
8872         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
8873         newly-created buffer to prepare for GObject semantics
8874
8875         * gtk/testtext.c: don't leak the buffer with GObject semantics
8876
8877         * gtk/testtextbuffer.c: ditto
8878         
8879 2000-11-12  Havoc Pennington  <hp@pobox.com>
8880
8881         Rename this testgtk to gtk-demo to avoid confusion, and 
8882         install it so people can use it as a supplement to 
8883         the documentation.
8884         
8885         * demos/gtk-demo: Moved from demos/testgtk
8886
8887         * demos/testgtk: Removed
8888
8889         * configure.in: make Makefile in gtk-demo
8890         
8891         * demos/gtk-demo/Makefile.am: Install sample source to 
8892         datadir/gtk-demo (maybe there's a better place?), and 
8893         rename the binary to gtk-demo
8894         
8895         * demos/gtk-demo/main.c (load_file): Load installed sample
8896         source if source isn't found in pwd.
8897
8898 2000-11-09  Havoc Pennington  <hp@pobox.com>
8899
8900         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
8901         argument to set the char displayed when visibility == FALSE
8902         (gtk_entry_create_layout): If !entry->visible, replace 
8903         all chars with the "invisible char"
8904
8905         * gtk/testgtk.c: Test the invisible_char deal
8906         
8907 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
8908
8909         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
8910         can't get a native font in the right encoding.
8911
8912 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
8913
8914         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
8915         respectively.
8916
8917 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
8918
8919         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
8920         Fix warning when moving between paragraphs.
8921
8922         * gtk/gtkentry.[ch]: Change move => move_cursor, 
8923         delete => delete_from_cursor, insert => insert_at_cursor
8924
8925 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
8926
8927         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
8928
8929         * modules/input/imthai-broken.c: A Thai input method for use if
8930         Thai keys are really generating Latin1 keysyms.
8931
8932         * modules/input/Makefile.am: Build these.
8933
8934 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
8935
8936         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
8937         g_filename_{to,from}_utf8 now takes an extra parameter.
8938
8939         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
8940         strftime into UTF-8.
8941
8942         (column_from_x, gtk_calendar_paint_day_names): Support RTL
8943         calendars.
8944
8945         (gtk_calendar_paint_day_names): Draw day names in the right 
8946         place.
8947         
8948 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
8949
8950         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
8951         problem with using result of g_get_charset() backwards -
8952         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
8953
8954         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
8955         negative min_width/height and max_width/height to
8956         mean "requisition"; this allows setting a window
8957         to be user-resizable in only one direction easily.
8958
8959         * gtk/testgtk.c (create_main_window): Remove hard-coded
8960         usize - set a default size in the vertical direction.
8961
8962 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
8963
8964         * gtk/gtkrange.c: Add some missing casts. Support 
8965         2 and 3 button clicks on the arrows to mean 
8966         "move by pages" and "jump to end". (Like gtkspinbutton)
8967
8968 2000-11-12 Hans Breuer <Hans@Breuer.Org>
8969
8970         * gdk/win32/makefile.msc : reflect build module changes
8971
8972         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
8973         from GdkPixmap*, cast implementation member instead.
8974
8975         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
8976         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
8977         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
8978         more Gdi functions return value checking. 
8979         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
8980         GdkImagePrivateWin32 *.
8981
8982         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
8983         menus useable again. Add #pragma message to keep reminded on this issue.
8984         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
8985         windows. This allows to enable backing store on Win32!
8986
8987         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
8988         in drawable is of impl type. Correct specific type checks appropriate.
8989  
8990         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
8991         GDK_WINDOW_DESTROYED before allocating new resources.
8992
8993         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
8994
8995         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
8996         (gdk_window_foreign_new) initialize parent handle.
8997         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
8998
8999         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
9000         Let the GDI invalidate the window on MoveWindow call to fix scrolling
9001         problems (e.g. main buttons in testgtk). 
9002
9003 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
9004
9005         * gtk/gtkentry.c (gtk_entry_key_press): Call 
9006         gtk_widget_activate for GDK_Return.
9007
9008         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
9009         of preedit cursor position.
9010
9011 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
9012
9013         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
9014         static.
9015
9016 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
9017
9018         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
9019         out support for multiple locales; that simple doesn't
9020         work reliably with current Xlib
9021
9022         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
9023         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
9024         Add support for positioning the cursor within the preedit string.
9025
9026 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
9027
9028         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
9029         at XIM input method module.
9030
9031         * gtk/gtktextview.c: Check for bindings after passing
9032         events to im context filter.
9033
9034 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
9035
9036         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
9037         empty attribute lists properly.
9038
9039 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
9040
9041         * gtk/queryimmodules.c (main): Return non-zero exit
9042         status if errors were encountered querying any
9043         modules.
9044
9045         * modules/input/Makefile.am (moduledir): remove
9046         leftover bin program target.
9047
9048         * docs/make-todo: Fix typo in error message.
9049
9050 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
9051
9052         * configure.in: Add modules/input/Makefile
9053
9054 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
9055
9056         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
9057         don't include gtkthemes.h.
9058
9059         * gtk/testgtk.c gtk/testtext.c: Set environment variables
9060         to point
9061
9062         * gtk/Makefile.am: Add new .c and .h files, build 
9063         gtk-query-immodules and use it to create a gtk.immodules
9064         file for use of test programs.
9065
9066         * gtk/gtkpreview.c: remove extra blank line.
9067
9068 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
9069
9070         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
9071         Add the ability to add extra tables beyond the default
9072         one, and also the ability to have compose sequences 
9073         that are prefixes of other compose sequences. 
9074
9075         * gtk/gtkimcontextsimple.c: Export a preedit string which
9076         consists of possible candidates for keystrokes that have
9077         been entered but not yet committed.
9078
9079         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
9080         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
9081
9082         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
9083         Add a function to add input-method switching menu items
9084         to a menu.
9085
9086         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
9087         when switching input methods.
9088
9089         * gtk/gtkimcontextsimple.[ch]: Change the format of
9090         the compose table to allow compose tables of different
9091         lengths / sequence.
9092
9093 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
9094
9095         * gtk/gtkimmodule.[ch]: Support routines for loading
9096         GtkIMContext implementations dynamically at runtime.
9097
9098         * modules/input/imcyrillic-translit.c: A sample input
9099         method (based on GtkIMContextSimple with an extra table),
9100         which demonstrates preedit strings and the module
9101         system for input modules
9102
9103         * gtk/queryimmodules.c: Program to query the available
9104         input modules and write the results into a file.
9105          
9106         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
9107         extra config options "im_module_file" (cache file for
9108         input method modules), and "im_module_path" - path
9109         to look for modules when generating cache file.
9110
9111         This doesn't scale.
9112
9113 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
9114
9115         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
9116         generic code from gtkthemes into a new abstraction
9117         GtkModule which has the logic for implementing
9118         a loadable module which implements a number of 
9119         GObject types.
9120
9121 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
9122
9123         * gtk/gtkeditable.[ch]: Convert GtkEditable from
9124         a class into an interface  
9125         
9126         * gtk/gtkoldeditable.[ch]: Move the old editable
9127         implementation into here, so legacy widgets can
9128         still rely on the implemenation. GtkOldEditable
9129         exports GtkEditable. Make selection handling
9130         code use new text conversion functions (and
9131         handle UTF-8 as a side-effect). Use GtkClipboard
9132         for CLIPBOARD.
9133
9134         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
9135         Adopt to match above changes.
9136
9137         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
9138         avoid GtkOldEditable implementation. Restructure
9139         to reduce number of places that modify state directly.
9140         Move to GtkBindingSet. Display the preedit string.
9141         Queue recomputation of PangoLayout and scroll position
9142         to improve effiency of doing complex changes naively.
9143         Add a menu with cut/copy/paste and input method selection.
9144
9145 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
9146
9147         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
9148         to set preedit string and attributes; display preedit string by
9149         inserting string and attributes at cursor when creating the
9150         GtkTextLineDisplay.
9151
9152         * gtk/gtktextlayout.c: Move all conversions between byte
9153         positions in PangoLayout and GtkTextIter into new functions
9154         line_display_iter_to_index/index_to_iter that properly
9155         handle the preedit string.
9156
9157         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
9158         it to return const char * (eventually will end up
9159         as GCONST char *, most likely.)
9160
9161         * gtk/gtktextview.[ch]: Handle the preedit string, call
9162         gtk_im_context_reset() as necessary, add a menu to switch
9163         input methods.
9164         
9165         * gtk/gtktextlayout.[ch]: Remove useless
9166         gtk_text_layout_get_log_attrs() function.
9167
9168 2000-11-11  Tor Lillqvist  <tml@iki.fi>
9169
9170         * gdk/gdk.def
9171         * gtk/gtk.def: Update.
9172
9173         * gdk/win32/*.c: Add last argument to g_type_register_static()
9174         calls.
9175
9176         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
9177
9178         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
9179         generated by older wheel mouse drivers. Get the correct y
9180         coordinate from WM_MOUSEWHEEL messages.
9181
9182         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
9183         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
9184         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
9185         Debugging functions.
9186
9187         * gdk/win32/gdkprivate-win32.h: Declare them.
9188
9189         * gdk/win32/gdkinput-win32.h: Add declaration for
9190         gdk_input_window_destroy().
9191
9192         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
9193
9194 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
9195
9196         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
9197         function to help handle keeping things in sync.
9198
9199 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
9200
9201         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
9202         BOXED marshallers.
9203
9204         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
9205         (gtk_list_store_class_init): use the new BOXED marshallers.
9206
9207         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
9208         new_with_values to new_with_types.
9209         (gtk_tree_store_get_column_type): add this.
9210         (gtk_tree_store_class_init): use the new BOXED marshallers.
9211
9212         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
9213         mirror some POINTER marshallers.
9214
9215 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
9216
9217         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
9218         allow more interesting iterators.  Also, made the lifecycle of
9219         iterators more explicit.
9220
9221         * gtk/gtktreemodelsort.[ch]: New model for sorting.
9222
9223         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
9224         types.
9225
9226 2000-11-09  Alexander Larsson  <alexl@redhat.com>
9227
9228         * demos/testgtk/menus.c:
9229         Changes to make the new testgtk compile after
9230         gtk_menu_append was removed.
9231
9232         * gdk/linux-fb/gdkdrawable-fb2.c
9233         (gdk_fb_get_depth, gdk_fb_get_visual,
9234         gdk_drawable_impl_fb_class_init): Implement
9235         these drawable functions. Now GtkImages work again.
9236
9237         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
9238
9239         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
9240         
9241         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
9242         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
9243         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
9244         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
9245
9246 2000-11-08  Havoc Pennington  <hp@pobox.com>
9247
9248         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
9249         visible_set args, don't know where these had gone, I thought they
9250         used to be there
9251
9252         * gtk/testtext.c: Add a menu item to apply invisibility tag;
9253         now we can test the feature and see that it's totally broken.
9254
9255 2000-11-08  Havoc Pennington  <hp@pobox.com>
9256
9257         Make DND copy pixbufs and tags when source and target share a 
9258         tag table.
9259         
9260         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
9261         in-process GTK_TEXT_BUFFER_CONTENTS target
9262         (gtk_text_view_drag_data_received): Paste from
9263         GTK_TEXT_BUFFER_CONTENTS if we receive it.
9264
9265 2000-11-08  Alexander Larsson  <alexl@redhat.com>
9266
9267         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
9268         API changes.
9269
9270         * gtk/gtkmenu.c: Add support for scrolling menus.
9271         Remove gtk_menu_append/prepend/insert, these have been moved to
9272         gtkcompat.h as #defines.
9273
9274         * gtk/gtkcompat.h.in:
9275         Add compatibility #defines for gtk_menu_append/prepend/insert
9276
9277         * gtk/gtkmenu.h: Add data needed for scrolling menus.
9278         GtkMenuPositionFunc gets an extra argument push_in.
9279         gtk_menu_append/prepend/insert removed.
9280         
9281         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
9282         positioning behaviour to fit to scrolling menus.
9283
9284         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
9285         into menuitem->submeny. That is wrong, and broke torn
9286         off submenus of torn off menus, since they were unrealized
9287         when the first menu was unrealized.
9288
9289         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
9290         gtk_menu_shell_select_item() since these need to be overridden in
9291         GtkMenu.
9292
9293         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
9294         positioning behaviour to fit to scrolling menus.
9295         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
9296         the current item so that it is prelighted when the menu pops up.
9297         This is a workaround to the fact that the menu doesn't get the
9298         initial enter event (due to grabs).
9299
9300         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
9301         s/gtk_menu_append/gtk_menu_shell_append/
9302
9303         * gtk/gtknotebook.c:
9304         s/gtk_menu_insert/gtk_menu_shell_insert/
9305
9306         * gtk/testgtk.c (create_menu, create_menus):
9307         Create the first menu with 50 items so that menu scrolling
9308         can be tested.
9309         
9310         
9311         Patch from Jonathan Blandford  <jrb@redhat.com>
9312
9313         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
9314         system to handle size requests.  First, we ask what the size of
9315         the toggle is.  Then, when allocating the size, we allocate the
9316         toggle_size first.  This way we can have multiple menu-item
9317         classes w/o needing a seperate class for each.
9318
9319         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
9320         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
9321
9322         * gtk/gtkcheckmenuitem.c
9323         (gtk_check_menu_item_toggle_size_request): New function to handle
9324         the toggle size-request.
9325
9326 2000-11-07  Havoc Pennington  <hp@redhat.com>
9327
9328         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
9329         Half-ass somewhat fix this function, so that scrolling to the
9330         insertion point works. Pango hacking is in the future to really
9331         fix it.
9332
9333         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
9334         length of data, no longer used.
9335
9336         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
9337         method contents in here, get rid of destroy method
9338         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
9339         that were backward. Remove debug spew.
9340         (cut_or_copy): Make the clipboard work with insert_range to
9341         preserve tags and pixbufs, not just the primary selection.
9342
9343 2000-11-07  Havoc Pennington  <hp@redhat.com>
9344
9345         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
9346         to gtk_text_mark_get_visible
9347
9348         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
9349         bug that was generating an invalid iterator
9350
9351         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
9352         ensure_char_offsets() in front of code placing the iter in an
9353         invalid state.
9354
9355         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
9356         make override_location arg const
9357         (paste): Replace the selection if we paste into the 
9358         current selection
9359
9360         * gtk/gtkselection.h: Remove "GtkSelectioData"
9361         (struct _GtkSelectionData): move the definition here.
9362
9363         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
9364         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
9365
9366         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
9367
9368         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
9369         (gtk_text_buffer_insert_range_interactive): implement
9370         (gtk_text_buffer_get_tags): Remove, replaced by
9371         gtk_text_iter_get_tags()
9372
9373         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
9374         limit parameter, to avoid infinite linear scan.
9375         (gtk_text_iter_backward_search): Add search limit
9376         (gtk_text_iter_forward_find_char): Add search limit
9377         (gtk_text_iter_backward_find_char): Add search limit
9378
9379 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
9380
9381         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
9382         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
9383         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
9384         gdk/linux-fb/gdkwindow-fb.c:
9385         use g_object_new() instead of g_type_create_instance() which
9386         is a private function for fundamental type implementations.
9387
9388         * gdk/linux-fb/gdkinput-ps2.c:
9389         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
9390         instead just store the current modifier state. Add a (somewhat broken)
9391         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
9392         Rename exported function gdk_input_ps2_get_mouseinfo to
9393         gdk_input_get_mouseinfo.
9394
9395         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
9396         gdk/linux-fb/gdkwindow-fb.c:
9397         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
9398         
9399
9400 2000-11-02  Havoc Pennington  <hp@redhat.com>
9401
9402         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
9403         use stock buttons. Should be 100% source compatible, appropriate
9404         filesel fields now point to dialog->vbox and dialog->action_area.
9405         On the bizarre side, dialog->action_area and filesel->action_area
9406         are not the same widget.
9407         (gtk_file_selection_init): Put some padding around the selection
9408         entry, so it isn't touching the GtkDialog separator.    
9409
9410         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
9411         use stock buttons, etc. Should also be source compatible.
9412         Set the dialog default title in _init not _new().
9413         
9414         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
9415         Use stock buttons; don't put a button box inside the existing
9416         dialog button box. Don't bother with push/pop colormap anymore.
9417
9418         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
9419         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
9420         for message dialog, and necessary for the font selection and color
9421         selection with help and apply buttons.
9422         
9423         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
9424         to the created button widget. Set GTK_CAN_DEFAULT on the button.
9425         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
9426         between buttons, put less padding around the action area.
9427         (gtk_dialog_run): Exit on unmap rather than on destroy. 
9428         This will also exit the loop if the widget is hidden.
9429         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
9430         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
9431         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
9432         special-case delete event.
9433
9434         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
9435         formatting
9436         
9437 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
9438
9439         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
9440         button to temporarily disable position recording in the
9441         "saved position" test.
9442
9443 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
9444
9445         * gtk/gtkthemes.c: added compat code that temporarily implements
9446         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
9447         going to be revamped by owen's upcoming GtkModule patches, but
9448         untill then people want gtk to build, right? ;)
9449
9450 2000-11-04  Havoc Pennington  <hp@pobox.com>
9451
9452         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
9453         list
9454
9455         * docs/Changes-2.0.txt: Add note about
9456         gtk_container_get_toplevels()
9457
9458         * gtk/gtktextview.h: formatting
9459         
9460         * gtk/gtktextview.c: don't start descriptions with "Returns",
9461         confuses gtk-doc
9462
9463 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
9464
9465         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
9466         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
9467
9468 2000-11-03  Havoc Pennington  <hp@redhat.com>
9469
9470         * gtk/gtktexttagtable.c: Docs
9471         (gtk_text_tag_table_size): return a signed int
9472
9473         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
9474         (gtk_text_tag_event): make the event_object a GObject
9475
9476         * gtk/gtktextview.c: Write API docs for all functions.
9477
9478         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
9479         for gtk_text_view_get_window_type() called on one of the private
9480         windows.
9481
9482         * gtk/gtktextview.c: Instead of accessing text_view->buffer
9483         directly, call get_buffer() which demand-creates a default
9484         buffer. So gtk_text_view_new() can be used to create a view with a
9485         default buffer in it, if you just want an empty text box users can
9486         put data in. Useful for GUI builders also.
9487
9488 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
9489
9490         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
9491         the charset encodign portion MUST be in lowercase.
9492         * gtk/gtkrc.az: added file for Azeri language
9493
9494 2000-11-03  Havoc Pennington  <hp@redhat.com>
9495
9496         Get widgets working on the btree/buffer side. Display of them 
9497         still doesn't work.
9498         
9499         * gtk/gtktextview.c: start implementing child widget stuff
9500
9501         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
9502
9503         * gtk/gtktextlayout.c: handle embedded widgets
9504
9505         * gtk/gtktextdisplay.c: handle embedded widgets
9506
9507         * gtk/gtktextchild.c: Implement all the child anchor goo
9508
9509         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
9510         function
9511
9512         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
9513         (insert_pixbuf_or_widget_segment): abstract out common portions of 
9514         creating a child anchor or a pixbuf segment.
9515         (gtk_text_btree_create_child_anchor): new function
9516         (gtk_text_btree_unregister_child_anchor): new function
9517
9518         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
9519         allocate_child signal on GtkTextLayout
9520
9521         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
9522         values
9523         (gtk_text_iter_get_child_anchor): new function
9524
9525         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
9526         default handler for the changed signal, which calls
9527         gtk_text_buffer_set_modified(), instead of just always emitting
9528         changed then calling set_modified() manually. I guess this is
9529         maybe more flexible. It seems logical.
9530
9531 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
9532
9533         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
9534         now.
9535
9536         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
9537
9538 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
9539
9540         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
9541         been marked static.
9542
9543 2000-11-02  Havoc Pennington  <hp@redhat.com>
9544
9545         * gtk/testgtk.c (create_labels): had a test backward
9546
9547         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
9548         fields, so the dest GC ends up with the correct clip origin, 
9549         etc. Fixes a bug where colored labels didn't redraw 
9550         properly.
9551
9552 2000-11-02  Alexander Larsson  <alexl@redhat.com>
9553
9554         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
9555         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
9556         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
9557         Add last argument to t_type_register_static call.
9558         
9559         * gdk/linux-fb/gdkdrawable-fb2.c:
9560         Add last argument to t_type_register_static call.
9561         export the get_image drawable virtual function.
9562
9563         * gdk/linux-fb/gdkimage-fb.c:
9564         Add last argument to t_type_register_static call.
9565         rename gtk_image_get to _gdk_fb_get_image and
9566         export it for use by gdkdrawable-fb2.
9567
9568         * gdk/linux-fb/gdkprivate-fb.h:
9569         export _gdk_fb_get_image.
9570
9571         * gdk/linux-fb/gdkselection-fb.c:
9572         Add new api call stubs.
9573
9574         * gtk/Makefile.am:
9575         Missing ( in linux-fb part.
9576
9577         * modules/linux-fb/Makefile.am:
9578         Must link with gdk_pixbuf or get unresolved symbol.
9579
9580 2000-11-01  Havoc Pennington  <hp@pobox.com>
9581
9582         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
9583         GTK_TYPE_TEXT_ITER and BOXED marshallers
9584
9585         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
9586
9587         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
9588         
9589         * gtk/gtk-boxed.defs: add GtkTextIter
9590
9591         * gtk/gtkmarshal.list: Add marshallers for text widget that 
9592         properly use OBJECT and BOXED
9593
9594 2000-11-01  Havoc Pennington  <hp@redhat.com>
9595
9596         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
9597
9598         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
9599         before returning it. 
9600         
9601 2000-11-01  Havoc Pennington  <hp@redhat.com>
9602
9603         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
9604         Clip the rectangle to be rendered to the drawable, since
9605         get_from_drawable() requires a region within the drawable
9606
9607 2000-11-01  Havoc Pennington  <hp@redhat.com>
9608
9609         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
9610         from coordinates.
9611
9612 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
9613
9614         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
9615         it isn't NULL.
9616
9617 2000-11-01  Havoc Pennington  <hp@pobox.com>
9618
9619         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
9620         on a label
9621         (gtk_label_finalize): unref the attr list if any.
9622
9623         * gtk/testgtk.c (create_get_image): close test on second click
9624         (make_message_dialog): close dialog if it exists
9625
9626         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
9627
9628         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
9629         gdk-pixbuf
9630
9631         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
9632         from Pango markup format
9633         (gtk_label_set_markup_with_accel): ditto but with accelerator
9634         parsing
9635
9636         * gtk/gtkimage.c (gtk_image_expose): reformatting.
9637
9638         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
9639         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
9640         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
9641         call gdk_window_get_origin().
9642
9643         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
9644         implement GDK_PIXBUF_ALPHA_FULL
9645         
9646 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
9647
9648         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
9649         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
9650         g_signal_handlers_disconnect_matched to block/unblock and disconnect
9651         multiple handlers respectively, instead of only treating the
9652         first handler found (bug reported by owen).
9653
9654 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
9655
9656         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
9657
9658         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
9659
9660         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
9661         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
9662         gtk/gtktreeviewcolumn.h: Fixed inline docs.
9663
9664         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
9665         widget.  Needs writing someday.
9666
9667         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
9668         the docs.
9669
9670 2000-10-30  Havoc Pennington  <hp@redhat.com>
9671
9672         * gtk/gtktextview.h, gtk/gtktextview.c:
9673         Rename delete_at_cursor delete_from_cursor, and 
9674         move to move_cursor.
9675
9676 2000-10-30  Havoc Pennington  <hp@redhat.com>
9677
9678         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
9679         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
9680         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
9681         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
9682         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
9683         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
9684         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
9685         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
9686         gtktexttypes.h, gtktextview.c, gtktextview.h:
9687
9688         Massive reindentation and reformatting. Arg alignment and comments
9689         still need fixing in various places.
9690
9691 2000-10-30  Havoc Pennington  <hp@redhat.com>
9692
9693         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
9694         to be named insert_at_cursor and delete_at_cursor so C++ can
9695         handle them.
9696
9697 2000-10-28  Tor Lillqvist  <tml@iki.fi>
9698
9699         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
9700         to get a double directory separator in case the home directory
9701         ends with one. This would cause trouble especially on Windows,
9702         where the path will be confused with the syntax for an an UNC
9703         (network share) path \\server\share\path.
9704         (gtk_rc_add_initial_default_files): Ditto.
9705
9706 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
9707
9708         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
9709
9710         * gtk/gtktextview.c: Use correct marshallers.
9711
9712 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
9713
9714         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
9715         use new iter stuff, and added all the appropriate signals et al.
9716
9717         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
9718         code is internal to gtk only.
9719
9720 2000-10-28  Tor Lillqvist  <tml@iki.fi>
9721
9722         * gtk/gtk.def
9723         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
9724         glib-genmarshal etc.
9725
9726 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
9727
9728         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
9729         parallel builds.
9730
9731 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
9732
9733         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
9734
9735 2000-10-27  Robert Brady  <robert@suse.co.uk>
9736
9737         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
9738         en_GB (British), ia (Interlingua).
9739
9740 2000-10-26  Havoc Pennington  <hp@redhat.com>
9741
9742         * gtk/gtktextiter.c (my_strrstr): fix constness warning
9743
9744         Fixed output of:
9745         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
9746         
9747         * gtk/gtktextsegment.c (char_segment_new): rename
9748         (_char_segment_new_from_two_strings): rename
9749         (_toggle_segment_new): rename
9750         
9751         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
9752         (make_clipboard_widget): make it static
9753         (text_get_func): static
9754         (text_clear_func): static
9755
9756         * gtk/gtkcolorsel.c (adjustment_changed): make this function
9757         static
9758         (hex_changed): make it static
9759         (hsv_changed): make it static
9760         (opacity_entry_changed): make it static
9761
9762         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
9763         (toggle_segment_check_func): rename with _gtk
9764
9765         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
9766         (_widget_segment_new): rename
9767         (_widget_segment_add): rename
9768         (_widget_segment_remove): rename
9769         (_widget_segment_ref): rename
9770         (_widget_segment_unref): rename
9771
9772         * gtk/gtktextmark.c (_mark_segment_new): Rename
9773         _gtk_mark_segment_new   
9774
9775 2000-10-26  Havoc Pennington  <hp@redhat.com>
9776
9777         * gtk/gtkmarshal.list: add new marshallers used by the text widget
9778         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
9779         types
9780
9781         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
9782         marshaller types
9783
9784         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
9785         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
9786         license on these files.
9787
9788         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
9789         work.
9790
9791         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
9792         runtime random number different for each tree, instead of 
9793         a constant I made up.
9794
9795 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
9796
9797         * gtk/Makefile.am: buncha cleanups, kludged build sources
9798         dependencies with a Makefile: oldest-source-stamp dependancy
9799         for the moment. automake is really fighting us here, with
9800         intentionally not allowing user-defined rules or dependancies
9801         prior to it's -include $(DEP_FILES) statement. sucks rocks!
9802
9803         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
9804         to public headers. tehy have a comment stating that they are
9805         "semi-public" aren't included by gtk.h and if enums popup there,
9806         they can be /*< skip >*/-ed.
9807
9808         * gtk/gtktextlayout.h: 
9809         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
9810         added LGPL... <SIGH>
9811
9812 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
9813
9814         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
9815         GtkTreeIter.  Added iterators everywhere.
9816
9817         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
9818
9819         * gtk/gtktreeviewselection.c: Changed to use the iterators.
9820
9821         * gtk/gtktreestore.c: Changed to use the iterators.
9822
9823         * gtk/gtkliststore.c: Commented out the code.  Will convert to
9824         iterators tomorrow.
9825
9826         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
9827         iterators tomorrow.
9828
9829         * gtk/treestoretest.c: Changed to use iterators.
9830
9831         * demos/testgtk/main.c: Moved to use the new iterator system.
9832
9833 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
9834
9835         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
9836         localization misbehaviour.
9837
9838         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
9839         a useless type without copy/free.
9840
9841         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
9842         of GTK_TYPE_CTREE_NODE.
9843
9844 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
9845
9846         * gtk/gtksignal.c:
9847         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
9848         applicable.
9849
9850         * gtk/gtk-boxed.defs (GtkSelectionData): specify
9851         gtk_selection_data_copy and gtk_selection_data_free
9852         do GtkSelectionData work as params in signals.
9853
9854 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
9855
9856         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
9857         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
9858         couldn't they at least give it a non-standard name?
9859         
9860         * gtk/gtktextlayout.c: arg! yet another implementation of
9861         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
9862
9863         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
9864         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
9865         home. now i know this _is_ a conspiracy.
9866
9867         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
9868         ::state-changed.
9869
9870         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
9871         (gtk_accel_group_create_add): marshaller signature fixups.
9872
9873         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
9874         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
9875
9876         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
9877         anymore.
9878
9879 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
9880
9881         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
9882         due to the signal system changes, it wouldn't build currently. to
9883         be fixed soon.
9884
9885         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
9886
9887         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
9888         so it needs gtk_marshal_VOID__ENUM() instead of
9889         gtk_marshal_NONE__UINT().
9890
9891         * gdk/gdk*.c: adapted type registration functions.
9892
9893         * gtk/gtkbindings.c:
9894         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
9895         gone.
9896
9897         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
9898
9899         * gtk/gtkobject.c:
9900         (gtk_object_destroy):
9901         (gtk_object_shutdown): fixed recursion guards. basically we have to
9902         catch the case where any of GObject.shutdown() or gtk_object_destroy()
9903         is called during ::destroy, and avoid recursion there.
9904
9905         * gtk/gtktypeutils.c:
9906         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
9907         boxed_copy/boxed_free. this needs a more general solution based on a
9908         publically installed code-generator utility.
9909
9910         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
9911         glib's gobject has support for that now.
9912         define GtkSignalMarshaller in terms of GSignalCMarshaller.
9913
9914 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
9915
9916         * gtk/gtksignal.[hc]:
9917         * gtk/gtkmarshal.[hc]:
9918         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
9919         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
9920         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
9921         care of that.
9922
9923         * *.c: marshaller name fixups.
9924
9925         * gtk/gtkmarshal.list: added a comment briefing the format.
9926
9927 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
9928
9929         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
9930         compatibility macros here now. more specifically, most of
9931         the API is preserved (yes, _most_, nonwithstanding the
9932         following exceptions listed, the API is stil lHUGE ;)
9933         things that got removed completely:
9934         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
9935         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
9936         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
9937         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
9938         gtk_signal_remove_emission_hook().
9939         non-functional functions variants:
9940         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
9941         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
9942         not supported anymore.
9943         (gtk_signal_compat_matched): new internal function to aid
9944         implementation of the compatibility macros, it  provides
9945         functionality to block/unblock/disconnect handlers based
9946         on func/data.
9947
9948         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
9949
9950         * *.c: adaptions to new type registration API signatures.
9951
9952 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
9953
9954         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
9955
9956 2000-10-25  Robert Brady  <robert@suse.co.uk>
9957
9958         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
9959         gdk_property_delete): If window == NULL, assume the root window.
9960         (restoring the behaviour that was in 1.2).
9961         
9962         * gtk/testtext.c (save_buffer): Allow creation of new files when
9963         saving.
9964
9965         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
9966         calls to read().
9967
9968 2000-10-25  Tor Lillqvist  <tml@iki.fi>
9969
9970         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
9971
9972         * gdk/win32/gdkdrawable-win32.c
9973         * gdk/win32/gdkimage-win32.c
9974         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
9975         X11 backend.
9976
9977         * gdk/win32/gdkcc-win32.c
9978         * gdk/win32/gdkcolor-win32.c
9979         * gdk/win32/gdkfont-win32.c
9980         * gdk/win32/gdkinput-win32.c
9981         * gdk/win32/gdkmain-win32.c
9982         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
9983
9984 2000-10-24  Havoc Pennington  <hp@redhat.com>
9985
9986         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
9987         it a static function
9988
9989         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
9990         redraw text when a tag is applied to it.
9991
9992         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
9993         (gtk_text_tag_affects_nonsize_appearance): private functions to
9994         see if a tag requires various kinds of redraw/layout to be queued
9995         up.
9996
9997         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
9998
9999         * gtk/testtext.c (fill_example_buffer): Put the cursor 
10000         at the start of the buffer, so search works by default
10001
10002         * gtk/gtktextiter.c (lines_match): init match_start always
10003
10004         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
10005         function, get iter at a line + a byte index
10006
10007         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
10008         to set byte position within a line
10009         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
10010
10011 2000-10-23  Havoc Pennington  <hp@redhat.com>
10012
10013         * gtk/testtext.c: Re-enable the "find" dialog
10014
10015         * gtk/testgtk.c: Add test for gdk_drawable_get_image
10016         
10017         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
10018         the arguments to gdk_draw_drawable were in the wrong order
10019         (gdk_window_paint_init_bg): This function was ignoring the
10020         init_region, instead of clipping to it, so the entire backing
10021         pixmap was cleared on every begin_paint()
10022         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
10023         was in here again, the loop kept using the same GtkWindowPaint
10024         over and over.
10025         (gdk_window_begin_paint_region): Fix a bug where we had two
10026         x_offset instead of x_offset and y_offset
10027
10028         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
10029         before we get the image.
10030         (gdk_draw_drawable): get the composite before we draw the drawable.
10031         (gdk_drawable_real_get_composite_drawable): default
10032         get_composite_drawable implementation that returns the drawable 
10033         itself
10034
10035         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
10036         get_composite_drawable virtual function
10037
10038         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
10039         list-walking bug
10040
10041         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
10042         make this work if the source drawable is a GdkDrawableImplX11
10043         instead of a public drawable type. This is really broken; the
10044         problem is that GdkDrawable needs a virtual method get_xid(), but
10045         of course that doesn't work in practice. Enter RTTI.
10046
10047         Also, improve mismatched depth message.
10048
10049         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
10050         GdkPixmap
10051
10052         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
10053         install _gdk_x11_get_image as our implementation of get_image
10054         
10055         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
10056         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
10057
10058         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
10059         gdk_drawable_get_image
10060
10061         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
10062
10063         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
10064         get_image
10065
10066         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
10067         trailing semicolon after for loop
10068
10069 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
10070
10071         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
10072         where font_desc for widget's context lagged widget's font_desc by
10073         one step.
10074
10075 2000-10-22  Tor Lillqvist  <tml@iki.fi>
10076
10077         * gdk/win32/gdkgc-win32.c
10078         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
10079
10080         * gtk/makefile.mingw.in
10081         * gtk/gtk.def: Updates.
10082
10083         * gtk/testgtk.c: sleep() is called _sleep in MS's C
10084         library.
10085
10086         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
10087
10088         * gtk/makefile.msc: Remove
10089
10090         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
10091
10092         * gtk/Makefile.am: Add it.
10093
10094         * configure.in: Generate it.
10095
10096         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
10097         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
10098         something even if not implemented, to satisfy picky MSVC.
10099
10100         Patches by Hans Breuer:
10101         
10102         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
10103         SetBkMode() and SetTextAlign() before calling
10104         pango_win32_render().
10105
10106         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
10107         Set hcliprgn to NULL after destroying it.
10108         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
10109
10110         * gdk/win32/gdkgeometry-win32.c
10111         (_gdk_windowing_window_queue_antiexpose): More effective
10112         implementation.
10113
10114         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
10115         depth as default, not the visual's.
10116
10117         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
10118         against empty title.
10119
10120         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
10121         IMAGE_PRIVATE_DATA.
10122
10123         * gdk/win32/gdkimage-win32.c: Use it.
10124
10125 2000-10-22  Robert Brady  <robert@suse.co.uk>
10126
10127         * configure.in: Check for bind_textdomain_codeset
10128
10129         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
10130         present, make use of it.
10131
10132         Add a translatable string "default:LTR" which, if translated
10133         to "default:RTL", will cause the default direction to be
10134         Right-to-Left.
10135
10136         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
10137         direction if marked as flippable.
10138
10139         * gtk/gtkhscale.c: Mark widget as flippable.
10140         
10141 2000-10-04  Havoc Pennington  <hp@redhat.com>
10142
10143         * gtk/testgtk.c (create_buttons): create some stock buttons
10144         with the default accel group
10145         (create_image): test some new GtkImage features
10146         (make_message_dialog): test GtkMessageDialog
10147         (create_modal_window): fix someone's bizzarro indentation
10148
10149         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
10150         GTK_WIN_POS_CENTER_ON_PARENT. 
10151         Add "destroy with parent" setting, which means the window goes
10152         away with its transient parent.
10153         (gtk_window_get_default_accel_group): get the default accel group
10154         for the window.
10155         (gtk_window_set_destroy_with_parent): set/unset destroy with
10156         parent flag
10157         (gtk_window_read_rcfiles): invalidate icon set caches
10158         after reloading rcfiles 
10159
10160         * gtk/gtkenums.h (GtkWindowPosition): add
10161         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
10162         on its parent window when the dialog is mapped for the first time.
10163
10164         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
10165         a simple message dialog class
10166         
10167         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
10168         handler to emit response signal, and maybe later it would
10169         honor a hide_on_delete flag - though that isn't there yet.
10170         Set border width on the vbox to 2, so we get some padding.      
10171         Use a button box for the action area.
10172         (gtk_dialog_key_press): synthesize a delete event if Esc
10173         is pressed and the GtkWidget key press handler didn't 
10174         handle the escape key.
10175         (gtk_dialog_new_with_buttons): new function creates a dialog
10176         with some default buttons in it.
10177         (gtk_dialog_add_action_widget): add an activatable widget
10178         as a button in the dialog - you can also add a non-activatable
10179         widget by accessing the action area directly.
10180         (gtk_dialog_add_button): add a simple button - stock ID or 
10181         label - to the action area
10182         (gtk_dialog_response): emit response signal
10183         (gtk_dialog_run): block waiting for the dialog, return 
10184         the response. Override normal delete_event behavior, so that 
10185         delete_event does nothing inside gtk_dialog_run().
10186
10187         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
10188         emitted when an action widget is clicked or the dialog gets
10189         delete_event
10190
10191         * gtk/gtk.h: add gtkmessagedialog.h
10192
10193         * gtk/Makefile.am: add gtkmessagedialog.[hc]
10194
10195 2000-10-18  Havoc Pennington  <hp@redhat.com>
10196
10197         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
10198         where any number of empty lines would get skipped
10199
10200         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
10201         edge.
10202
10203         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
10204         warning about invalid iterators (explain more thoroughly)
10205         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
10206
10207         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
10208         big
10209
10210         * demos/*.c: Add error handling
10211
10212         * gtk/gtktextbuffer.c: don't modify const iterators
10213
10214         * gtk/gdk-pixbuf-loader.c: Add full error handling here
10215
10216         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
10217         on file load
10218
10219         * gtk/gtkiconfactory.c: Update to reflect addition of error
10220         handling to gdk-pixbuf loaders
10221
10222 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
10223
10224         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
10225         move to new modularized testgtk.
10226
10227 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
10228
10229         * gtk/gtktreeview.c: Draw the arrows correctly.
10230
10231         * gtk/gtktreemodel.c: Added user docs.
10232
10233         * gtk/gtk.h: remove gtktreedatalist.h.
10234
10235         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
10236         parent when generating my type.
10237
10238         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
10239         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
10240
10241 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
10242
10243         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
10244         GtkTreeModel from object to interface.
10245
10246 2000-10-16  Havoc Pennington  <hp@redhat.com>
10247
10248         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
10249         compilation
10250
10251 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
10252
10253         * gtk/gtktreeselection.c: Add API documentation to all public
10254         functions.
10255
10256         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
10257         functions.
10258
10259 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
10260
10261         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
10262         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
10263         docs to all public functions.
10264
10265         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
10266         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
10267         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
10268         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
10269         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
10270         issue.
10271
10272 2000-10-14  Robert Brady  <robert@suse.co.uk>
10273
10274         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
10275
10276 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
10277
10278         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
10279         values other then G_TYPE_STRING.
10280         * gtk/gtktreeselection.c: Minor commenting updates.
10281         * gtk/gtktreeview.c: Format updates.
10282
10283 2000-10-09  Tor Lillqvist  <tml@iki.fi>
10284
10285         * README.win32: Update.
10286
10287         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
10288         lines that had been deleted by mistake (?).
10289
10290         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
10291         also the case fg==white and bg==black (but still not randomly
10292         coloured cursors). Thanks to Wolfgang Sourdeau.
10293
10294         * gdk/win32/*.c: Silence gcc -Wall.
10295
10296         * gtk/gtk.def: Add missing entry points.
10297
10298         Fixes by Hans Breuer:
10299
10300         * gdk/makefile.msc
10301         * gdk/win32/makefile.msc: Update.
10302
10303         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
10304         some MSVC thing, presumably), cause breakpoint on failures. Add
10305         GDK_NOR case. Call g_log_set_always_fatal.
10306
10307         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
10308         should be pased by reference.
10309         
10310         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
10311         
10312         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
10313
10314         * gdk/win32/gdkevents-win32.c
10315         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
10316
10317         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
10318         implementation object.
10319
10320         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
10321         not just windows.
10322         
10323         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
10324         Use the wrapper object.
10325         
10326 2000-10-06  Havoc Pennington  <hp@redhat.com>
10327
10328         * Makefile.am (SRC_SUBDIRS): contrib subdir
10329
10330         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
10331         so it can be used in Xlib version
10332
10333         * demos/testpixbuf.c (update_timeout): error checking from 1.0
10334         tree
10335
10336         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
10337         change from 1.0 tree that returns first frame of animation
10338         if the loaded file is an animation.
10339
10340         * contrib: add new directory to hold stuff that comes with GTK+
10341         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
10342         
10343         * configure.in: add contrib/*
10344
10345 2000-10-05  Havoc Pennington  <hp@redhat.com>
10346
10347         * demos/testpixbuf-save.c: add pixbuf save test
10348
10349         * demos/Makefile.am: add testpixbuf-save.c
10350
10351 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
10352
10353         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
10354         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
10355         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
10356         * gtk/gtktreeselection.[ch]: Replaced
10357         "node_selected"/"node_unselected" signal with "selection_changed"
10358         signal.
10359
10360 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
10361
10362         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
10363         tree widget.
10364
10365 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
10366
10367         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
10368         drawing.
10369
10370 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
10371
10372         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
10373         Move list pointer forwards before removing item from
10374         list. (Crash reported by Salmaso Raffaele)
10375
10376         * gdk/gdkwindow.h: Remove spurious trailing ,
10377
10378         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
10379         dependencies on uninstalled libraries, sorry folks.
10380
10381 2000-10-04  Havoc Pennington  <hp@redhat.com>
10382
10383         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
10384         gtk/gtkiconfactory.c: Fix copyrights    
10385
10386         * demos/testpixbuf.c: add inline pixbuf test
10387         
10388 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
10389
10390         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
10391         Add gdk_window_iconify.
10392
10393         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
10394         (gdk_window_set_geometry_hints): Add win_gravity
10395         to geometry structure.
10396
10397         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
10398         Implement _NET_WM_PING.
10399
10400         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
10401         Set _NET_WM_PID on the client leader.
10402
10403         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
10404         Handle UTF-8 better.
10405
10406         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
10407         UTF-8 better, set _NET_WM_NAME as well. Only set
10408         icon name if it hasn't previously been explicitely 
10409         set.
10410
10411 2000-10-03  Havoc Pennington  <hp@redhat.com>
10412
10413         * gtk/testtextbuffer.c: clean up trailing whitespace,
10414         add extensive tests for tag toggle iteration.
10415         
10416         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
10417         distance
10418
10419         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
10420         optimize case where the tag root is on level 1
10421         (gtk_text_line_previous_could_contain_tag): attempt to implement
10422         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
10423         functionality
10424
10425         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
10426         Implement this, though not very efficiently.
10427
10428         * gtk/gtktextiterprivate.h: reformat
10429
10430         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
10431         iterator
10432
10433         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
10434         this to properly revalidate the iterators.
10435
10436         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
10437         properly at the end of the line (and therefore on empty lines)
10438
10439         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
10440         maybe we should return a value...
10441
10442 2000-10-03  Tor Lillqvist  <tml@iki.fi>
10443
10444         * config.h.win32: Guard definition of alloca(). glib.h now handles
10445         that.
10446
10447         * gdk/gdk.def
10448         * gtk/gtk.def: Add new entry points.
10449
10450         Changes just to make GTK+ build without errors on Win32. No hope
10451         of it working in its current state, though...:
10452         
10453         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
10454         some functions from the X11 backend, just to make GTK+ build.
10455
10456         * gdk/makefile.mingw.in
10457         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
10458         number. Add new object files.
10459
10460         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
10461         GetMessageTime to get timestamp (where on X11 uses
10462         gdk_x11_get_server_time()).
10463
10464 2000-10-02  Havoc Pennington  <hp@pobox.com>
10465
10466         * gtk/gtktextview.c: text_window_* weren't static and should have
10467         been.
10468         Start work on child widgets; not yet complete, syncing to 
10469         office computer.
10470
10471         * gtk/gtktextchild.h: change this to contain a public interface,
10472         starting work on child interfaces.
10473         * gtk/gtktextchildprivate.h: move private interfaces here
10474
10475         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
10476
10477         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
10478         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
10479         gtk/gtktextmark.c: copyright notices
10480
10481         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
10482         internal functions      
10483
10484         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
10485         internal function
10486
10487         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
10488         Reformatting    
10489
10490 2000-09-30  Havoc Pennington  <hp@pobox.com>
10491
10492         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
10493         NULL start/end pointers
10494
10495         * gtk/gtktextbuffer.c: Write some docs
10496         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
10497         NULL, so you can just check whether there's a selection.        
10498
10499         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
10500         cleanup_line or segments_changed ourselves, it gets done 
10501         in unlink_segment
10502
10503         * gtk/gtktextmark.h:
10504         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
10505         
10506         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
10507
10508         * gtk/gtktextmark.c: delete some more old Tk cruft
10509
10510         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
10511         mark before removing it, so we can emit MARK_DELETED with a valid
10512         pointer.
10513         (gtk_text_buffer_mark_set): hold ref across signal emission
10514
10515         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
10516         whining about attempts to delete special marks
10517
10518         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
10519         underscore, since it's internal.
10520
10521         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
10522         now implemented in terms of iterators in gtktextiter.h
10523
10524         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
10525         New function, destructively sets contents of buffer. Also 
10526         a convenient way to clear the buffer by setting text to ""
10527
10528         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
10529         multiline string literal
10530
10531         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
10532         text changes.
10533
10534         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
10535         is not dereferenceable
10536         (gtk_text_iter_forward_lines): fix return value
10537
10538 2000-09-29  Havoc Pennington  <hp@redhat.com>
10539
10540         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
10541
10542         * gtk/gtktextview.c: Implement drag thresholding; change functions 
10543         that set border window size to have nicer name
10544         (gtk_text_view_mark_set_handler):  Fix this to have the 
10545         right signature.
10546
10547         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
10548
10549         * gtk/testtext.c: Update with API changes, put line numbers on 
10550         both sides.
10551         
10552         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
10553         with this
10554
10555         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
10556         pixbuf; delete a big block of #if 0 Tk code
10557
10558         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
10559         insert_pixmap with insert_pixbuf
10560
10561 2000-09-29  Martin Baulig  <baulig@suse.de>
10562
10563         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
10564         confusion with the GdkPixbuf of the GNOME 1.x platform.
10565
10566 2000-09-29  Havoc Pennington  <hp@pobox.com>
10567
10568         * gtk/gtktextview.c: Implement the side windows.
10569
10570         * gtk/testtext.c: Implement simple line numbering in the 
10571         left side window; seems to make scrolling sloooow. Oops.
10572         Also, cursor blink is for some reason causing redraws
10573         of the line numbers. Should investigate...
10574
10575 2000-09-28  Havoc Pennington  <hp@redhat.com>
10576
10577         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
10578         scrolling child windows, and draw focus rectangle properly.
10579         
10580         (gtk_text_view_buffer_to_window_coords):
10581         Coordinate transformation to deal with all these freaking windows
10582         and offsets
10583         (gtk_text_view_window_to_buffer_coords): transform the other way
10584
10585         * gtk/testtext.c (create_buffer): Update to match Pango API change
10586
10587         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
10588         anonymous tags
10589         (foreach_unref): don't emit remove signal from finalize, just
10590         set tag's parent to NULL
10591
10592 2000-09-26  Havoc Pennington  <hp@redhat.com>
10593
10594         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
10595         Fix some warnings       
10596
10597 2000-09-26  Havoc Pennington  <hp@redhat.com>
10598
10599         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
10600         headers into the private header list
10601
10602         * Makefile.am (pkgconfig_DATA): install pkg-config files
10603
10604         * configure.in: add pkg-config files
10605
10606         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
10607
10608         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
10609         outstanding icon caches on theme change.
10610
10611         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
10612         important types:
10613
10614         (GtkIconSource): Specification for creating a pixbuf 
10615         appropriate for a direction/state/size triplet from 
10616         a source pixbuf or filename
10617
10618         (GtkIconSet): List of GtkIconSource objects that are used to
10619         create the "same" icon (e.g. an OK button icon), and cache for
10620         rendered icons
10621
10622         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
10623         up the icon set for a given stock ID.  GTK maintains a stack of
10624         GtkIconFactory to search, and applications or libraries can add
10625         additional icon factories on top of the stack
10626         
10627         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
10628         the set of GtkIconSource specified for a given stock ID into 
10629         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
10630         RcStyle, under the specified stock ID.
10631
10632         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
10633         render_icon used to derive a GdkPixbuf from a GtkIconSource.
10634         This allows people to theme how prelight, insensitive, etc. are
10635         done.
10636
10637         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
10638         icon factories for a style, and return the resulting 
10639         icon set if any.
10640
10641         (gtk_style_render_icon): Render an icon using the render_icon 
10642         method in the GtkStyleClass.
10643
10644         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
10645         Use the style for a given widget to look up a stock ID, get the
10646         icon set, and render an icon using the render_icon method 
10647         of the style
10648
10649         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
10650         (contains information about a stock item), the built-in stock item
10651         IDs, and functions to add/lookup stock items.
10652
10653         * gtk/stock-icons/*: Stock icons that come with GTK
10654
10655         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
10656         a button based on a GtkStockItem
10657         (gtk_button_new_accel): Takes a uline string and accel group, and
10658         installs the accelerator.
10659
10660         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
10661         image-display widget.
10662
10663 2000-09-25  Havoc Pennington  <hp@redhat.com>
10664
10665         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
10666
10667         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
10668         Fix a bug when removing node data, we didn't properly 
10669         re-splice the linked list after removing the data.
10670
10671         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
10672         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
10673
10674         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
10675
10676         * gtk/gtktextlayout.c (set_para_values): Set tab array 
10677         for the layout from the GtkTextTag.
10678
10679         * gtk/gtktexttypes.h: delete tab and search cruft, 
10680         remove g_convert() in favor of GLib version
10681
10682         * gtk/gtktexttypes.c: remove tab implementation from here,
10683         move to Pango
10684
10685         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
10686         tab stuff using new PangoTabArray from Pango
10687
10688         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
10689         unused border_width stuff
10690
10691 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
10692
10693         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
10694         glib) and now useless utf_to_latin1() latin1_to_utf()
10695
10696         * gtk/gtktextview.[ch]: Change ::move_insert and
10697         ::delete_text action signals to ::move and ::delete;
10698         create the signals with the right enumeration type,
10699         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
10700         C-v bindings, change Home, End to move to beginning/end
10701         of line, Add C-Home C-End to move to beginning/end
10702         of buffer. Change ::cut_text to ::cut_clipboard, etc;
10703         combine ::scroll_text into ::move; use new GtkSelectionData
10704         functions to simplify DND text handling.
10705         
10706         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
10707         deletion enumerations here, rename enumeration values to 
10708         be consistently plural.
10709
10710         * gtk/gtktextbuffer.c: Use new clipboard interfaces
10711         for cut/copy/paste and primary selection.
10712
10713         * gtk/gtktextbuffer.[ch]: Remove excess time and
10714         'interactive' arguments from cut/copy/paste;
10715         rename cut to cut_clipboard, etc; remove
10716         gtk_text_buffer_get_clipboard_contents().
10717
10718         * gtk/gtktextlayout.[ch]: Add 
10719         gtk_text_layout_move_iter_to_line_end() to move the iter to 
10720         line ends.
10721
10722         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
10723         Functions to set or get a UTF-8 string on the selection
10724         data.
10725
10726         * gtk/gtkclipboard.[ch]: New, simplified selection handling
10727         interfaces.
10728
10729         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
10730         created widgets - one of these is useless if we don't.
10731
10732         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
10733         a public function clear all targets registered for the
10734         widget.
10735
10736         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
10737         Never call gtk_widget_realize() - that was just asking
10738         for bizarre side-effects.
10739
10740         * gtk/gtkselection.c (gtk_selection_owner_set): Call
10741         gdk_selection_owner_set even if the widget is the
10742         same so that we reliably update the timestamp on
10743         the server.
10744
10745         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
10746         gdk_x11_get_server_time() function.
10747         
10748         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
10749         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
10750         Add some tricky filtering on serial numbers for
10751         selection clear events to fix up long-standard
10752         race condition FIXME's in gtkselection.c.
10753
10754         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
10755         routines to convert from utf8 to compound text or
10756         STRING and from a text property to UTF-8.
10757
10758         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
10759         a convenience function gdk_get_current_event_time().
10760
10761         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
10762         and free selection_data->data properly
10763
10764 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
10765
10766         * gtk/gtkthemes.c: Remove some unecessary includes.
10767
10768 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
10769
10770         * gtk/gtktextdisplay.c
10771         * gtk/gtktextlayout.c
10772         * gtk/gtktexttag.c
10773         * gtk/gtktexttag.h
10774         * gtk/testtext.c: Change the overstrike property to strikethrough,
10775         to closer match pango.
10776
10777 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
10778
10779         * gtk/gtktextview.c: Fix up visibility so that focus,
10780         cursor_visible and blink interact properly.  Reenable cursor blink
10781         which had been roughly disabled. Make blink and focus
10782         properly per-view.
10783
10784         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
10785         Add a flag for whether to display insertion cursor and
10786         a function to set the flag.
10787
10788         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
10789         get_line_y() to get_line_yrange(), to be a bit more generally
10790         useful.
10791
10792 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
10793
10794         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
10795           do stop_navigating_submenu, to clear last timeout properly.
10796           Also in gtk_menu_motion_notify move ignore_enter above
10797           the conditional to make it always happen as suggested by Owen
10798
10799 2000-09-07  Tor Lillqvist  <tml@iki.fi>
10800
10801         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
10802
10803         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
10804         w32api headers.
10805
10806         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
10807         declarations.
10808
10809         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
10810         (gdk_win32_get_colormap): A line had been deleted by mistake.
10811
10812         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
10813         (gdk_event_translate): Handle more virtual keycodes to be able to
10814         generate GDK events for Control-comma, Control-period, etc.
10815
10816         * gtk/gtk.def: Add some missing entry points.
10817
10818 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
10819
10820         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
10821         Doc comment fixing. (Mostly non-matching parameter names.)
10822
10823         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
10824         comments a little to avoid looking like a doc comment.
10825
10826         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
10827         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
10828         conversions be changed to GError?)
10829
10830         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
10831         Move private #defines into .c file.
10832
10833         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
10834         order of argument addition, remove duplicates.
10835
10836         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
10837         parent class is FrameClass, not BinClass.
10838
10839         * gtk/gtk.h: Add gtkinvisible, which was missing.
10840         (It's occasionalyl useful for client apps, if seldom.)
10841
10842         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
10843         #define.
10844
10845 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
10846
10847         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
10848         coordinates when creating window, instead of GDK-space
10849         coordinates. (Avoid BadValue on too large windows.)
10850
10851 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
10852
10853         * configure.in (use_mmx_asm): Remove conftest* after use along the
10854         lines of AC_TRY_COMPILE.        
10855         
10856         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
10857         of g_dirname, which is deprecated.
10858         (gtk_rc_parse_any): Removed calls to
10859         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
10860
10861         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
10862         Removed calls to g_hash_table_{freeze,thaw}, as they are
10863         deprecated now.
10864
10865         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
10866         instead of g_basename.
10867         
10868 2000-09-04 Elliot Lee <sopwith@redhat.com>
10869         
10870         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
10871         ANSI warning.
10872
10873 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
10874
10875         * gtk/gtkwidget.h:  Add some documenting comments about 
10876           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
10877           just as owen said on irc.
10878
10879         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
10880           set HAS_DEFAULT.  Only set it if there isn't another window
10881           holding it (a focus window which RECEIVES_DEFAULT) and only unset
10882           it if the widget is not the focused window with RECEIVES_DEFAULT.
10883           This fixes weird double default bugs in dialogs which has things
10884           call gtk_window_set_default at times.
10885
10886 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
10887
10888         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
10889         Nils Barth and David Santiago to improve submenu
10890         navigation. The patch does this by creating a triangular
10891         region from the point where the pointer leaves the
10892         menu to the submenu.  While the pointer is in
10893         that region and a timeout has not expired, events 
10894         that would cause the active submenu to change are
10895         ignored.
10896
10897 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
10898
10899         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
10900         moving a toplevel window immediately after sizing it would
10901         result in it being sized back to the old size since 
10902         impl->width, impl->height aren't updated until we hear
10903         back from the server. There is still a (longstanding) bug
10904         here that gdk_window_get_size() will give the wrong size
10905         until we do hear back.
10906
10907 2000-08-31  Havoc Pennington  <hp@redhat.com>
10908
10909         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
10910         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
10911         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
10912         Rename GtkTextStyleValues to GtkTextAttributes
10913
10914 2000-08-31  Havoc Pennington  <hp@pobox.com>
10915
10916         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
10917         for rapid testing whether an iterator is the end iterator
10918         (gtk_text_btree_new): init end line cache
10919         (gtk_text_line_is_last): use fast cached line to 
10920         see if we're the last line.
10921         (get_last_line): use cached line here too, should 
10922         speed up some random unrelated code.
10923         
10924 2000-08-30  Havoc Pennington  <hp@pobox.com>
10925
10926         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
10927         signals.
10928
10929         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
10930         delete_text signals. This allows the signals to be used for
10931         implementing undo.
10932
10933         * gtk/gtktextbuffer.c: Change signal handler signatures; 
10934         provide "interactive" argument when emitting insert_text or
10935         delete_text signal.
10936         
10937 2000-08-30  Havoc Pennington  <hp@pobox.com>
10938
10939         * gtk/gtktextbuffer.c: Docs
10940
10941 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
10942
10943         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
10944         from switch statements, since Tor removed the enumeration
10945         value.
10946         
10947         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
10948         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
10949
10950 2000-08-29 Elliot Lee <sopwith@redhat.com>
10951         * */*.h: Use G_GNUC_CONST.
10952
10953 2000-08-27  Havoc Pennington  <hp@pobox.com>
10954
10955         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
10956         minor indentation fixes, inserted some FIXME about stuff I
10957         realized was broken while documenting it.
10958         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
10959         GTK convention  
10960
10961 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
10962
10963         * gtk/testgtk.c (create_styles): Fix double free of
10964         font desc.
10965
10966 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
10967
10968         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
10969         
10970         * gtk/testgtk.c (create_styles): Add a test for modifying
10971         the style through gtk_widget_modify_*.
10972
10973         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
10974         a function to get the current modifier style.
10975
10976         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
10977         of the passed in GtkRcStyle instead of ref'ing it.
10978
10979         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
10980
10981 2000-08-20  Tor Lillqvist  <tml@iki.fi>
10982
10983         * gdk/gdkimage.h
10984         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
10985         shared memory image+pixmap GdkImage type, or
10986         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
10987         I am dropping that.
10988
10989         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
10990         actually call gtk_init_abi_check(), passing also
10991         sizeof(GtkWindow). Ditto for gtk_init_check(). 
10992
10993         * gtk/gtk.def
10994         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
10995         New functions, used to check that the GTK+-using code has been
10996         compiled using the correct compiler and switches. In particular,
10997         with gcc one has to use the -fnative-struct switch as GTK+ is
10998         compiled with that.
10999
11000 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
11001
11002         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
11003         ->prev fields when merging lists. (Found simultaneously
11004         by Pawel Salek and Jakub Jelinek)
11005
11006 2000-08-12  Tor Lillqvist  <tml@iki.fi>
11007
11008         * gdk/gdk.def
11009         * gtk/gtk.def: Add missing entries.
11010
11011         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
11012         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
11013
11014         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
11015         function. Dummy implementation at this point.
11016
11017         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
11018         rules. Undefine GTK_COMPILATION when compiling the test programs.
11019         
11020         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
11021
11022 2000-08-11  Tor Lillqvist  <tml@iki.fi>
11023
11024         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
11025         to convert back and forth from UTF-8 and the "system" (or "current
11026         locale") charset when necessary. Indentation/spacing cleanup.
11027
11028 2000-08-10  Havoc Pennington  <hp@redhat.com>
11029
11030         * Makefile.am (snapshot): Change the format of the snapshot
11031         version to match glib
11032
11033         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
11034         from EXTRA_DIST since it doesn't seem to exist
11035
11036 2000-08-10  Tor Lillqvist  <tml@iki.fi>
11037
11038         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
11039         version of the directory name (not the UTF-8 one) when building
11040         the path name to stat().
11041
11042 2000-08-03  Elliot Lee  <sopwith@redhat.com>
11043
11044         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
11045         PANGO_ATTR_SHAPE set.
11046
11047 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
11048
11049         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
11050         Peter Osterlund to simplify the code while keeping the
11051         functionality the same.
11052
11053 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
11054
11055         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
11056         is_viewable() test further inside the function, since removing the 
11057         window from the redraw list without clearing ->update_area
11058         was also very broken.
11059
11060 2000-08-02  Tor Lillqvist  <tml@iki.fi>
11061
11062         * configure.in: Check for <unistd.h>.
11063
11064 2000-08-01  Martin Baulig  <baulig@suse.de>
11065
11066         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
11067         to display the message that this is a development version of GTK+.
11068
11069 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
11070
11071         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
11072         was depending on widget->allocation instead of the width of text_area,
11073         which was incorrect for subclasses like GtkSpinButton.
11074
11075         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
11076         with width == 1 tests that should be width == -1.
11077
11078 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
11079
11080         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
11081         (broken, Elliot, every single window blank on X) custom code with call
11082         to gdk_window_is_viewable() which a) prevents code duplicate and
11083         b) works. 
11084
11085 2000-07-31  Elliot Lee  <sopwith@redhat.com>
11086
11087         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
11088         to get the GDK_PARENT_ROOT() macro to work.
11089         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
11090         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
11091         of, windows that aren't shown.
11092         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
11093         pointer grab stuff.
11094
11095 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
11096
11097         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
11098           s/gtk_main_iteration/g_main_iteration/
11099
11100           Did this already in change:
11101                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
11102           don't know how it got reverted.
11103
11104 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
11105
11106         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
11107         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
11108
11109         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
11110         not gdk_pixbuf.
11111
11112 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
11113
11114         * configure.in,po/{sp,sr}.po: Added Serbian files
11115
11116 2000-07-30  Tor Lillqvist  <tml@iki.fi>
11117
11118         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
11119
11120         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
11121         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
11122         GIOChannel implementation.
11123
11124         * gdk/win32/gdkinput.c
11125         * gdk/win32/gdkpango-win32.c: Update license name here, too.
11126
11127         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
11128         definition to match prototype.
11129
11130         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
11131
11132 2000-07-27  Elliot Lee  <sopwith@redhat.com>
11133
11134         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
11135         function, to allow handling image formats that cannot be detected
11136         by looking at content alone.
11137
11138 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
11139
11140         * docs/tutorial/*.gif *.jpg *.eps
11141           Update these to the same look-n-feel.
11142           Why does including images in DocBook suck so badly?
11143
11144 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
11145
11146         * gtk/gtktable.c: applied patch from Phil Thompson
11147         <phil@river-bank.demon.co.uk> that enables space settings for
11148         the last row/columns as well.
11149
11150 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
11151
11152         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
11153         updates the license headers to the GNU Lesser General Public License,
11154         as well as updating the copyright year to 2000.
11155
11156 2000-07-26  Robert Brady  <rwb197@zepler.org>
11157
11158         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
11159           and po/Makefile, was installing and looking for them under gtk20
11160           and gtk2 respectively.
11161
11162 2000-07-25  Havoc Pennington  <hp@redhat.com>
11163
11164         * gtk/testtext.c: Comment out some stuff that depends on the rest
11165         of my patches.
11166
11167 2000-07-25  Havoc Pennington  <hp@redhat.com>
11168
11169         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
11170         buffer
11171
11172 2000-07-25  Havoc Pennington  <hp@redhat.com>
11173
11174         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
11175         widget changes.
11176
11177         * gtk/gtktextview.h: To be consistent with usage of "line"
11178         throughout the API to mean "newline-terminated thingy", change
11179         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
11180         to MOVEMENT_LINE.
11181
11182         (GtkTextView): Add flags for default editability, and whether to
11183         show the cursor. Add functions to get/set that. Add 
11184
11185         (gtk_text_view_get_iter_location): new function
11186
11187         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
11188         gtktextlayout.h
11189         (g_convert): Add g_convert temporarily, will go in glib in a bit
11190         
11191         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
11192         GtkTextTagTableForeach instead of brokenly using GHFunc.
11193         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
11194
11195         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
11196         moved to public header.
11197
11198         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
11199         "invisible", since "elide" was a bad name.
11200         (gtk_text_tag_get_priority): Added
11201
11202         (GtkTextStyleValues): put this in public header, along with
11203         functions to use it.
11204
11205         * gtk/gtktextmarkprivate.h: Include more headers, since we no
11206         longer include gtktextbtree.h.
11207
11208         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
11209         gtk_text_mark_deleted
11210
11211         * gtk/gtktextlayout.h: Don't include the "really private" headers,
11212         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
11213         to make this possible. Now we only need to install
11214         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
11215         (However the Makefile.am isn't changed yet because of the
11216         logistics of merging gtk-hp-patches piecemeal)
11217
11218         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
11219         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
11220         gtk_text_iter_get_line is now used in the public API for a
11221         different purpose.
11222
11223         * gtk/gtktextiter.h: Clean up function names to be more
11224         consistent. Always call char offset "offset" and byte index
11225         "index". A "line" is always a line number. 
11226
11227         (gtk_text_iter_is_last): new function, more efficient than 
11228         the existing way to check
11229         (gtk_text_iter_is_first): new function, also more efficient
11230
11231         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
11232
11233         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
11234         gtk_text_iter_forward_char, etc.
11235
11236         (gtk_text_iter_forward_to_tag_toggle): Renamed from
11237         forward_find_tag_toggle, since this isn't a linear search
11238
11239         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
11240
11241         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
11242         New functions, search for a buffer substring.
11243
11244         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
11245         interactive and default editable (since we need to store that info
11246         until we receive the selection data).
11247
11248         Remove all the _at_char and at_line etc. versions of functions;
11249         only have iterator versions.
11250
11251         Add _interactive() versions of functions, that consider the
11252         editability of text. (FIXME add interactive flag to the 
11253         insert/delete signals per Darin's suggestion)
11254
11255         (gtk_text_buffer_get_tag_table): new function, demand-creates the
11256         tag table if necessary
11257
11258         Remove declaration of gtk_text_buffer_get_iter_from_string
11259
11260         (_gtk_text_buffer_get_btree): private/internal function, added.
11261         
11262
11263         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
11264         (gtk_text_line_is_last): new function
11265
11266 2000-07-25  Havoc Pennington  <hp@redhat.com>
11267
11268         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
11269         using GtkProgressBar. See Changes-2.0.txt for details.
11270
11271         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
11272         "pulse_step" which are the equivalent of
11273         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
11274         Implement new API.
11275         
11276         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
11277         (use_text_format) to mark whether text set on the progress bar is
11278         a format string. Deprecate entire GtkProgress interface.
11279
11280         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
11281         (gtk_progress_build_string): make this a no-op if use_text_format
11282         is FALSE
11283
11284         * docs/Changes-2.0.txt: Describe progress bar changes.
11285
11286 2000-07-25  Tor Lillqvist  <tml@iki.fi>
11287
11288         * Makefile.am: Include the build directory.
11289
11290         * configure.in: Generate build/Makefile, build/win32/Makefile,
11291         gdk/, gdk/win32/, and gtk/makefile.mingw.
11292
11293         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
11294         Add GETTEXT_PACKAGE.
11295         
11296         * gdk/gdk.def
11297         * gtk/gtk.def: Updates.
11298
11299         * gdk/gdkfont.h
11300         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
11301         need them any longer.
11302
11303         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
11304
11305         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
11306         PANGOWIN32_LIBS and gdk_pixbuf.
11307
11308         * gdk/win32: Compiles, but no doubt doesn't work at all.
11309
11310         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
11311
11312         * gdk/win32/gdkinput.c: New file, temporarily.
11313         
11314         * gdk/win32/gdkinput-win32.h: New file
11315
11316         * gdk/win32/gdkinputprivate.h: Remove.
11317
11318         * gdk/win32/gdkpango-win32.c: New file.
11319
11320         * gtk/makefile.mingw.in: New file
11321
11322         * gtk/makefile.cygwin: Removed
11323         
11324         * gtk/Makefile.am: Update accordingly.
11325
11326         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
11327         made externally visible.
11328
11329         * gtk/gtkmain.c: Use it.
11330         
11331         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
11332         is enough.
11333
11334         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
11335
11336 2000-07-24 Elliot Lee <sopwith@redhat.com>
11337         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
11338         individual backends already.
11339         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
11340         again. Yes, there really is a good reason for this, if you are using the gdkregion
11341         internals, and if you're not, why do you care?
11342         * gdk/gdkwindow.c: Fix inverted condition
11343         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
11344         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
11345         * gtk/gtkrange.c: Redraw trough when moving.
11346         * gtk/gtktypeutils.c: Fix warning by adding const cast.
11347         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
11348
11349 2000-07-23  Tor Lillqvist  <tml@iki.fi>
11350
11351         * configure.in: Check for mkstemp and sigsetjmp. Output
11352         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
11353
11354         More work on GDK for Win32. Still in an intermediate state.
11355
11356         * gdk/makefile.cygwin
11357         * gdk/win32/makefile.cygwin: Removed.
11358         
11359         * gdk/makefile.mingw.in
11360         * gdk/win32/makefile.mingw.in: New files.
11361
11362         * gdk/Makefile.am
11363         * gdk/win32/Makefile.am: Generate and distribute them.
11364
11365         * gdk/win32/gdkwindow-win32.h
11366         * gdk/win32/gdkdrawable-win32.h
11367         * gdk/win32/gdkpixmap-win32.h: New files.
11368
11369         * gdk/win32/gdkcolor-win32.c
11370         * gdk/win32/gdkcursor-win32.c
11371         * gdk/win32/gdkdrawable-win32.c
11372         * gdk/win32/gdkgc-win32.c
11373         * gdk/win32/gdkimage-win32.c
11374         * gdk/win32/gdkprivate-win32.h
11375         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
11376         Rename fields and variables called xcursor, xid, etc (these names
11377         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
11378
11379 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
11380
11381         * gtk/gtkentry.[ch]: Fix some problems with vertical
11382         alignment.
11383
11384         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
11385         char/byte confusion.
11386
11387 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
11388
11389         * gtk/gtktextview.c (changed_handler): Fix bug where
11390         redraw wasn't being done properly when height of
11391         dirty region changed.
11392
11393         * demos/Makefile.am: Remove various references to
11394         -lgmodule
11395
11396 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
11397
11398         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
11399         PangoAttrShape to reserve space for pixmaps, add 
11400         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
11401         in the display functions.
11402         
11403         * gtk/testgtk.c (create_layout): Set some more exotic
11404         scrolled window options
11405
11406         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
11407         Add function to set the shadow type of a window, to allow
11408         putting a shadow around widgets such as GtkLayout or GnomeCanvas
11409         which don't draw their own frame.
11410
11411 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
11412
11413         * docs/tutorial/package-db-tutorial.sh: New file for
11414           packaging DocBook format tutorial
11415
11416 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
11417
11418         * docs/tutorial/gtk-tut.sgml: Minor updates
11419
11420         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
11421
11422 2000-07-19  Tor Lillqvist  <tml@iki.fi>
11423
11424         * gtk/gtksignal.c: Fix C++ comment.
11425
11426         * gtk/gtkimmulticontext.c
11427         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
11428         don't return value from void functions.
11429
11430         * gtk/gtk.def: Add gtk_rc_style_unref.
11431
11432 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
11433
11434         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
11435         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
11436         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
11437         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
11438         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
11439         gtk/gtktypeutils.h: Include files outside of the extern "C"
11440         block. Makes some C++ compiler happy. Reported by Denis Vakatov
11441         <vakatov@peony.nlm.nih.gov>.
11442
11443 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
11444
11445         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
11446           Completes first pass. Hurrah!
11447
11448 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
11449
11450         * docs/tutorial/gtk-tut.sgml: More clean ups.
11451
11452 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
11453
11454         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
11455         paint the background of the text area which was accidentally
11456         removed at some point.
11457
11458         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
11459           
11460          - Move most of the functionality from the theme vtable
11461            into GtkRcStyleClass and GtkStyleClass. The moved
11462            vtable functions were changed a bit in the move to
11463            work better in their new home.
11464
11465          - Get rid of the engine and engine_data fields from
11466            GtkRcStyle and GtkStyle; instead the theme
11467            engine derives theme-specific subclasses of GtkRcStyle
11468            and GtkStyle
11469
11470          - Add extra dlsym() found entry point to themes,
11471            theme_create_rc_style().
11472
11473         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
11474         in gtk_style_real_copy.
11475
11476         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
11477         to register a type associated with an engine. (The engine
11478         won't be unloaded as there is an instance of the type.)
11479
11480
11481 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
11482
11483         * docs/tutorial/gtk-tut.sgml: Clean ups.
11484
11485 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
11486
11487         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
11488           of cleaning up to do.
11489
11490 2000-07-15  Tor Lillqvist  <tml@iki.fi>
11491
11492         * gdk/testgdk.c: New file, quick hack to test backends for
11493         pixel-by-pixel correctness of the most simple graphic operations.
11494
11495 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
11496
11497         * Really release 1.3.1
11498         
11499         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
11500         include structure.
11501
11502 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
11503
11504         * Released 1.3.1
11505
11506 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
11507
11508         * gtk/gtktextlayout.c: use FALSE for size_only most
11509         of the time when calling gtk_text_layout_get_line_display()
11510         to avoid causing double reshapes when a redraw follows
11511         immediately after.
11512
11513 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
11514
11515         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
11516         appropriate region and gdk_window_process_updates() so trough
11517         updating doesn't lag behind the window being scrolled.
11518
11519         * gdk/gdkgc.c: Make parent_class pointer static.
11520          
11521 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
11522
11523         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
11524         include <string.h>.
11525          
11526         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
11527         cut-and-paste error in computing memory offset for 4 channels.
11528
11529 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
11530
11531         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
11532         gtk_rc_append_default_pixmap_path(), since it wasn't
11533         adding an interesting path and we don't have a meaningful
11534         default for this value.
11535
11536 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
11537
11538         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
11539         gtk-config to gtk-config-2.0 move gtk_.m4 to
11540         gtk-2.0.m4
11541
11542         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
11543         gdk/Makefile.am demos/Makefile.am: Change 
11544         library names to libgtk-1.3.la, etc, so that we
11545         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
11546
11547         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
11548         gdk/Makefile.am gdk/x11/Makfile.am
11549         Move include files into /usr/include/gtk-2.0, 
11550         /usr/lib/gtk-2.0/include/
11551          
11552         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
11553         gtk/gtkintl.h: Change package for gettext from 
11554         gtk+ to gtk20. Put hack in autogen.sh to modify
11555         po/Makefile.in.in after gettextize to make this
11556         possible.
11557
11558         * gtk+.spec: Some updates, not tested.
11559
11560         * gdk-pixbuf/Makefile.am: Move loaders into
11561         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
11562
11563         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
11564         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
11565         to THEMENAME/gtk-2.0/. Move engine directory  to
11566         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
11567         
11568 2000-07-12  Tor Lillqvist  <tml@iki.fi>
11569
11570         Win32 changes, still doesn't build though.
11571
11572         * gdk/makefile.cygwin
11573         * gdk/win32/makefile.cygwin
11574         * gtk/makefile.cygwin: Updates.
11575
11576         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
11577         default values for fg and bg pixel as X11 does (0 and 1), not
11578         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
11579         Use 0 for pen width by default (treated as 1 anyway later, but for
11580         apps that might check the value in the GdkGC).
11581         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
11582         interface to gdk_gc_predraw and _postdraw.
11583
11584         * gdk/win32/gdkwin32.h
11585         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
11586
11587         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
11588         extraneous semicolon.
11589
11590         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
11591
11592         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
11593         not the Win32 bitspixel value.
11594
11595         * gdk/win32/gdkcc-win32.c:
11596         * gdk/win32/gdkcolor-win32.c 
11597         * gdk/win32/gdkprivate-win32.h
11598         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
11599         GDK object structure.
11600
11601 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
11602
11603         * docs/tutorial/gtk_tut_12.es.sgml (name): 
11604         * docs/tutorial/gtk_tut_it.sgml (name): 
11605         * docs/tutorial/gtk_tut_fr.sgml (name): 
11606         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
11607         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
11608
11609 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
11610
11611         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
11612           small changes.
11613
11614 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
11615
11616         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
11617         a bug here, never been here and never fixed anything ;(
11618         (don't segfault if tree->root_tree is NULL, which happens prior
11619         to widget realization, but puke instead).
11620
11621 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
11622
11623         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
11624         add the necessary tokens.
11625
11626         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
11627         (gtk_rc_style_to_style): copy thicknesses.
11628         (gtk_rc_init_style): apply thicknesses.
11629         (gtk_rc_parse_style): parse xthickness and ythickness.
11630
11631         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
11632
11633         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
11634         (gdk_window_new): 
11635         (_gdk_windowing_window_init): 
11636         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
11637         (gdk_pixmap_create_from_data): 
11638         (gdk_bitmap_create_from_data): 
11639         (gdk_pixmap_new): 
11640         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
11641         (gdk_image_new): 
11642         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
11643         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
11644         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
11645         (gdk_colormap_get_system): 
11646         (gdk_colormap_new): 
11647         * gdk/gdkwindow.c (gdk_window_init): 
11648         * gtk/gtkstyle.c (gtk_style_new):
11649         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
11650         * gdk/gdkpixmap.c (gdk_pixmap_init): 
11651         * gtk/gtkrc.c (gtk_rc_style_new):
11652         use g_object_new() instead of g_type_create_instance() which
11653         is a private function for fundamental type implementations.
11654
11655 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
11656
11657         * configure.in: Add check for db2html
11658
11659 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
11660
11661         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
11662         hack to set glib_debug_objects based on gtk_debug_flags.
11663
11664 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
11665
11666         * INSTALL.in: Update the Prerequisites section.
11667
11668         * Makefile.am demos/Makefile.am docs/Makefile.am
11669         docs/tutorial/Makefile.am gdk/x11/Makefile.am
11670         gdk/linux-fb/Makefile.am: Dist fixes
11671
11672 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
11673
11674         * NEWS: 10,000 foot view of 1.3.1 changes.
11675
11676 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
11677
11678         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
11679         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
11680         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
11681         gdk/x11/gdkmain-x11.c: 
11682
11683         Patch from George Lebl to add a GdkGrabStatus enumeration to use
11684         as a return value of gdk_*_grab(). Previously, we just
11685         returned the X11 values directly.
11686
11687 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
11688
11689         * gdk/x11/Makefile.am: Patch from George Lebl to 
11690         install all the headers in the right place.
11691
11692 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
11693
11694         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
11695           initial conversion to DocBook.
11696
11697 2000-07-04  Tor Lillqvist  <tml@iki.fi>
11698
11699         * README.win32: Improve a bit.
11700
11701         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
11702         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
11703         Alt+0nnn on the numpad (used to enter characters by numeric code
11704         from current DOS or ANSI codepage) working correctly, as in other
11705         Windows apps.
11706
11707         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
11708         same argument validity tests as in X11 version.
11709         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
11710
11711         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
11712         definitions in case missing from headers.
11713
11714         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
11715         destroy the window-specific cursor.
11716         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
11717         calling GetModuleHandle(NULL).
11718         (gdk_window_set_cursor): Reworked to always copy the passed cursor
11719         with CopyCursor before setting it as the window-specific
11720         cursor. It is OK for the caller to destroy the GdkCursor (and thus
11721         also its Windows cursor) after calling this function. Destroy any
11722         previous window-specific cursor.
11723
11724 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
11725
11726         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
11727         font charset is iso8859-1, not iso-8859-1.
11728
11729 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
11730
11731         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
11732         Use g_get_charset() instead of g_get_codeset().
11733
11734         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
11735         Comment out some strdup'ing functions to keep timj
11736         happy until we finish fighting this out.
11737
11738 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
11739
11740         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
11741         <= width or height.
11742
11743         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
11744         from 1.2 for parent/child states.
11745
11746         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
11747         of typos.
11748
11749         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
11750         event structures, replace with a generic axes field. Replace 
11751         deviceid/sourec with GdkDevice *device.
11752
11753         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
11754         to extract particular axis use value from event. (Also
11755         can be used for normal X/Y.)
11756
11757         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
11758         allow for arbitrary number of axes, namespace everything
11759         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
11760         everywhere.
11761
11762         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
11763         Get rid of the gdk_input_vtable setup if favor of simply
11764         defining the functions in gdkinput-none/gxi/xfree.c in
11765         a similar fashion to the way that the port structure is 
11766         done.
11767
11768         * gtk/gtkdnd.c: Fix fields of synthesized button press event
11769         for new event structures. 
11770
11771         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
11772         new device interfaces.
11773
11774 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
11775
11776         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
11777         set the initial text.
11778
11779         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
11780         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
11781         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
11782         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
11783
11784         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
11785         pango_layout_set_font_description to simplify.
11786
11787 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
11788
11789         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
11790         pango_layout_set_font_description to simplify.
11791
11792 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
11793
11794         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
11795         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
11796         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
11797
11798         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
11799         PANGO_PIXELS() macro.
11800
11801 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
11802
11803         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
11804         that returns a PangoContext owned by the widget and updated to
11805         match future changes in the widget. Also, make 
11806         gtk_widget_create_pango_layout() use this context. If we ever
11807         add a ::changed signal to PangoContext, this will make things
11808         much more convenient. 
11809
11810         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
11811         in the appropriate places instead of destroying the layouts and
11812         creating new ones.
11813
11814         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
11815         in a few strategic places.
11816
11817 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
11818
11819         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
11820         gtk_widget_size_request() on reparented child, if one. Otherwise,
11821         queue_resize() on the child never results in it getting size-requested
11822         at all.
11823
11824         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
11825         in option menus, so that (with luck) people won't copy it into
11826         their apps in the future.
11827
11828         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
11829         to gtk_option_menu_calc_size. This isn't perfect, but should fix
11830         a lot of problems with changing the size of the menu's menu
11831         items after adding it to the option menu.
11832
11833         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
11834
11835         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
11836         the text direction for a widget changes.
11837
11838         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
11839         ::direction_changed to get rid of various hacks.
11840
11841 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
11842
11843         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
11844         name.
11845
11846 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
11847
11848         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
11849         flag to the structure. Do not call XFreePixmap on pixmaps created
11850         by gdk_pixmap_foreign_new().
11851
11852 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
11853
11854         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
11855         value using GdkRGB functionality given GdkColormap and GdkColor.
11856         (name not final, waiting for inspiration.)
11857         
11858         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
11859         set the foreground/background of a GC using the GC's colormap
11860         and GdkRGB. (name not final, waiting for inspiration.)
11861
11862         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
11863         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
11864
11865         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
11866         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
11867         purely a function of the corresponding colormap. Make
11868         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
11869
11870         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
11871         gdk_pixbuf_*create_from_xpm_* in terms of
11872         gdk_pixbuf_new_from_xpm_data(), move into platform independent
11873         code.
11874
11875         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
11876         advantage of the new draw_rgb_32_image_dithalign.
11877
11878         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
11879
11880         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
11881         on each created GC.
11882
11883         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
11884
11885         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
11886         which we initialize from the drawable when the GC is created,
11887         if the drawable has a colormap.
11888
11889         * gdk/x11/gdkgc-x11.c: include string.h for memset.
11890
11891         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
11892
11893         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
11894
11895 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
11896
11897         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
11898         actually returning expose events, make sure to set
11899         the count field properly.
11900
11901         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
11902         accidentally reintroced bug which always cleared
11903         the graphics_exposures value. 
11904
11905 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
11906
11907         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
11908
11909 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
11910
11911         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
11912
11913 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
11914
11915         * docs/faq/gtk-faq.sgml: Start of Section 6.
11916
11917 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
11918
11919         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
11920         
11921         (Fixes problem with drawing childless frames. Pointed out
11922         by and a first patch from Anders)
11923         
11924         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
11925         compute a child_allocation, even if we don't have a child.
11926
11927         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
11928         Always chain to the parent's impl, even if we don't have a child.
11929
11930 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
11931
11932         * gdk/gdkrgb.c: If possible, create only a single shm segment and
11933         use multiple parts of it instead of creating a bunch of separate
11934         segments, since the maximum number of segments per system is not
11935         large. (This might be worth backporting to GTK+-1.2.x if we make a
11936         new release )
11937
11938         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
11939         structure in preparation for per-colormap GdkRGB.
11940
11941         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
11942         to False when we get EINVAL from shmget so that the caller of
11943         gdk_image_new can retry with a smaller segment size.
11944
11945 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
11946
11947         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
11948
11949 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
11950
11951         * configure.in: make the current version number 1.3.1 (binary age 0,
11952         interface age 0).
11953         
11954         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
11955         gtkcompat.h is all we want.
11956
11957         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
11958         GLib primitive types. fixed g_type_register_fundamental() argument
11959         ordering.
11960
11961         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
11962         compiles.
11963
11964         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
11965         object code cleanup, comment trigraph fixes, etc...
11966
11967 2000-06-23  Havoc Pennington  <hp@redhat.com>
11968
11969         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
11970         instead of making up a bogus name for first_para_mark
11971
11972         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
11973         0 as a context ID
11974
11975 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
11976
11977         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
11978
11979 2000-06-21  Havoc Pennington  <hp@pobox.com>
11980
11981         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
11982         we didn't check window->bg_pixmap != GDK_NO_BG.
11983
11984         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
11985         gdk-pixbuf
11986
11987 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
11988
11989         * docs/faq/gtk-faq.sgm: Move file to here.
11990           TODO: Update Makfile.am 
11991
11992 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
11993
11994         * docs/gtk-faq.sgm: Add Section 2
11995
11996 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
11997
11998         * docs/gtk-faq.sgm: New file. Start of DocBook
11999           version of the FAQ.
12000
12001 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
12002
12003         * configure.in (GDK_PIXBUF_MAJOR): Define version
12004         numbers for GDK_PIXBUF_*, as they get substituted
12005         into a header file. Need to consider versioning
12006         for gdk-pixbuf more carefully later.
12007
12008 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
12009
12010         Work with srcdir != builddir.   
12011         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
12012         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
12013         * demos/testpixbuf.c: Likewise.
12014         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
12015         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
12016         <gdk/x11/gdkx.h>.
12017         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
12018         "gdk-pixbuf.h".
12019         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
12020
12021 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
12022
12023         * TODO.xml: Change 1.4 version numbers to 2.0.
12024
12025 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
12026
12027         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
12028         fixups to GTK+ standard.
12029
12030 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
12031
12032         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
12033         gdk-pixbuf.
12034
12035         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
12036         fixups for GObject.
12037
12038         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
12039         gdk-pixbuf with GDK dependencies moved into GDK.
12040         
12041         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
12042         move gdk-pixbuf-loader here until GObject has signals.
12043
12044         * demos/: New directory of demos. Move demos from
12045         gdk-pixbuf here.
12046
12047         * demos/pixbuf-init.c: Small bit of code to check for
12048         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
12049         set GDK_PIXBUF_MODULEDIR appropriately.
12050
12051         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
12052         define which no longer makes sense.
12053
12054 2000-06-21  Havoc Pennington  <hp@redhat.com>
12055
12056         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
12057         gtk_get_default_language
12058
12059         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
12060         new function to get the default language
12061
12062         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
12063         s/gtk_text_view_style_values/gtk_text_style_values/
12064
12065         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
12066         Add a "language" field to tags.
12067
12068         (gtk_text_tag_set_arg): Fix bug in setting
12069         "bg_full_height_set" tag.
12070
12071 2000-06-21  Havoc Pennington  <hp@redhat.com>
12072
12073         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
12074         in the interfaces
12075
12076         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
12077         stuff instead when possible.
12078
12079         * gtk/gtktexttypes.h: Delete some unused constants
12080
12081         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
12082         testtextbuffer.c: use glib instead of custom unicode routines
12083
12084 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
12085
12086         * docs/es/: Removed mistakenly added generated sgml
12087
12088         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
12089         Remove outdated info files.
12090
12091         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
12092         Moved tutorial files into subdir
12093
12094         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
12095         subdir.
12096
12097         * docs/man/gtk_button.pod: Remove. (contents will be
12098         integrated into gtk-reference button page.)
12099
12100         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
12101         docs/faq/Makefile.am: Adjust for new organization
12102
12103 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
12104
12105         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
12106         not $(MKINSTALLDIRS)
12107
12108 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
12109
12110         * gtk/testgtk.c (create_text): Finish the job Elliot started
12111         of removing font setting test for text widget. (Since text widget
12112         and GdkFont are not deprecated, and cause portability problems.)
12113
12114 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
12115
12116         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
12117         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
12118         Remove use of libunicode in favor of new GLib functions.
12119
12120         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
12121         nano-x, framebuffer. The X11 include is just a hack until we get
12122         the necessary functions in gdkcolor.h, so there is no reason to
12123         add other includes of platforms.
12124
12125         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
12126         window bigger than the screen change.
12127
12128         * gtk/testgtk.c: Revert some random changes from Elliot
12129         that had no particular point and were causing testgtkrc
12130         not to function correctly.
12131         
12132         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
12133         because GdkSegment and GdkRegionBox have the same fields,
12134         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
12135         results in clearer code.
12136
12137         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
12138         gdk_input_translate_coordinates): Fix missed GdkObjectification
12139
12140 2000-06-18  Elliot Lee  <sopwith@redhat.com>
12141
12142         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
12143         * gtk/gtk{plug,socket}.h: Missed commits from previous.
12144
12145 2000-06-20  Havoc Pennington  <hp@redhat.com>
12146
12147         * modules/linux-fb/Makefile.am: Make this compile
12148         without framebuffer enabled
12149
12150         * gdk/linux-fb/Makefile.am: Add conditional to not build
12151         framebuffer unless specified in configure
12152
12153         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
12154         the size of the target instead of source if -1 was passed for
12155         width/height
12156
12157         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
12158         width/height confusion.
12159
12160 2000-06-19  Havoc Pennington  <hp@redhat.com>
12161
12162         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
12163         GDK_DRAWABLE_XID. In the future, we probably want to make it
12164         faster with G_DISABLE_CHECKS turned on.
12165
12166 2000-06-14  Havoc Pennington  <hp@redhat.com>
12167
12168         * gdk/Makefile.am: add gdkpixmap.c
12169
12170         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
12171         s/gdk_image_init/_gdk_windowing_image_init
12172
12173         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
12174         ref/unref
12175
12176         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
12177
12178         * gdk/gdkcompat.h: remove GdkWindowType compat, since
12179         GdkWindowType is now non-deprecated; 
12180         change gdk_window_get_type() compat to be
12181         gdk_window_get_window_type().
12182
12183         * gdk/gdkdnd.h: make GdkDragContext a GObject.
12184
12185         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
12186         virtual GObject. Make all functions call into the vtable.
12187         Move gdk_image_put() guts in here. Remove GdkDrawableType
12188         and gdk_drawable_get_type(), these are now GdkWindow-specific.
12189         draw_image, get_depth, get_size, set_colormap, get_colormap,
12190         get_visual added to the vtable.
12191         
12192         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
12193         GObject. Virtualize everything. 
12194         (gdk_gc_new_with_values): remove check for destroyed window,
12195         because now GdkWindow::create_gc will check this.
12196         (gdk_gc_set_values): New function to set GC values, this 
12197         was already implemented but wasn't in the header
12198
12199         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
12200
12201         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
12202         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
12203         remove _gdk_window_class; add _gdk_window_impl_get_type() and
12204         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
12205         _gdk_windowing_window_init, rename gdk_image_init to
12206         _gdk_windowing_image_init.
12207         
12208         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
12209         (gdk_draw_layout): Remove check for destroyed window, 
12210         because all the drawable methods already check it.
12211         
12212         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
12213         Add gdkpixmap.c which contains implementation of GdkDrawable
12214         virtual table (by chaining to a platform-specific implementation
12215         object).
12216         
12217         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
12218         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
12219         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
12220         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
12221         GdkColormapPrivate. 
12222
12223         * gdk/gdktypes.h: #include <glib-object.h>
12224
12225         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
12226         Move most functionality to platform-specific implementation
12227         object. GdkWindow itself now handles the backing store, then
12228         chains to the platform-specific implementation.
12229         (gdk_window_get_window_type): return GdkWindowType of the window.
12230         (gdk_window_peek_children): New routine, returns the children of 
12231         a GdkWindow
12232         (gdk_window_get_children): Was in X11-specific code and did 
12233         XQueryTree. Changed to simply return a copy of window->children; 
12234         so it can go in cross-platform code.
12235         
12236         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
12237
12238         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
12239         GdkColormap; just changed to use the new private data instead
12240         of casting to GdkColormapPrivate.
12241
12242         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
12243         gdk_cursor_new().
12244
12245         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
12246         (private data member in the GObject). 
12247         (xdnd_manager_source_filter): Function had broken 
12248         error handling, fix it (use gdk_error_trap_push).
12249
12250         * gdk/x11/gdkdrawable-x11.c: This file now implements
12251         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
12252         base class is purely for the convenience of the X port,
12253         and not part of the interface to cross-platform GDK.
12254
12255         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
12256         
12257         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
12258         specific to X, and returned by the create_gc virtual method
12259         of GdkDrawableImplX11. 
12260         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
12261         rather than gchar, this was also changed in the GdkGC vtable.
12262         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
12263         mask is 0, return immediately, instead of checking every flag.
12264         This is faster, and keeps us from segfaulting if values is NULL
12265         and the mask contains some nonzero flags.
12266
12267         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
12268         GdkWindow.
12269
12270         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
12271         GdkWindowPrivate is gone.
12272
12273         * gdk/x11/gdkim-x11.c: rename things that got renamed.
12274
12275         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
12276         remove the image_put stuff that got transferred to GdkDrawable.
12277         
12278         * gdk/x11/gdkinput.c: renamings
12279
12280         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
12281
12282         * gdk/x11/gdkpixmap-x11.c: GObject conversion
12283
12284         * gdk/x11/gdkprivate-x11.h: indentation fixes
12285
12286         * gdk/x11/gdkproperty-x11.c: renamings
12287
12288         * gdk/x11/gdkselection-x11.c: renamings
12289
12290         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
12291         implements the platform-specific "impl" object.
12292         Moved gdk_window_get_children to gdk/gdkwindow.c
12293
12294         * gdk/x11/gdkx.h: Remove all the private structs and private datas
12295         that no longer exist. Add declaration of GdkGCX11 object here.
12296         Fix all the macros to still work. 
12297
12298         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
12299         GdkDragContext from the boxed types since they are now GObjects.
12300
12301         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
12302         moved xthickness/ythickness into the instance. GtkStyleClass
12303         functions are now in the standard vtable for GtkStyle, so you have
12304         to create a GObject subclass to write a theme engine.
12305         (gtk_style_copy): fixed a leaked PangoFontDescription
12306         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
12307         can be the standard GObject function.
12308         
12309         * Throughout GTK:
12310         s/style->klass->[xy]thickness/style->[xy]thickness
12311         s/pango_layout_unref/g_object_unref/
12312
12313         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
12314         
12315         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
12316         accessing GDK internals.
12317
12318         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
12319         accessing GDK internals.
12320
12321 2000-06-18  Elliot Lee  <sopwith@redhat.com>
12322
12323         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
12324
12325         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
12326         problem by calculating event position relative to the trough
12327         rather than the slider.
12328         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
12329
12330         * gdk/gdkgc.h: Add GDK_NOR.
12331
12332         * configure.in, Makefile.am: Add modules top level dir
12333         * configure.in: Only use pangox library if building x11 target.
12334         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
12335
12336 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
12337
12338         * gtk/gtkcolorsel.c: Change private class member to be named
12339         private_data throughout the file.
12340
12341         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
12342         private_data to avoid clashing with keyword.
12343
12344 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
12345
12346         * gdk/gdkdnd.h: Add comment to remove warning.
12347
12348 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
12349
12350         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
12351         Byelorussian language; changed the Makefile and file names 
12352         to reflect that.
12353
12354 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
12355
12356         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
12357         rather than gdk_window_hide; this makes things work
12358         correctly if the window is programmatically hidden while
12359         iconified.
12360
12361 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
12362
12363         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
12364         cut and paste typo where wrong pixmap was being
12365         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
12366
12367 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
12368
12369         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
12370         Add helper function to compute format / bytes 
12371         relationship. Use in a couple places to fix up
12372         errors which assume 8 * format.
12373
12374         * gtk/gtkselection.c (gtk_selection_request): Use 32
12375         rather than 8 * sizeof (GdkAtom), to work correctly
12376         on Alpha.
12377
12378 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
12379
12380         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
12381         libgtk.la
12382         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
12383         versions
12384
12385         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
12386         checking macros return NULL since the function has a return value.
12387
12388 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
12389
12390         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
12391         GTK+ from building at all.
12392
12393         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
12394
12395 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
12396
12397         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
12398         gtk/Makefile.am: make it possible to configure gtk for different
12399         targets on the same platform. The library name is now 
12400         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
12401         flag. Only the x11 target compiles right now.
12402         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
12403         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
12404         * gdk/nanox/gdk*generic*: delete generic region code.
12405         * gdk/linux-fb/gdk*generic*: delete generic region code.
12406         * README.nanox: update information.
12407         
12408 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
12409
12410         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
12411         prepend not append. (Pointed out by Brett Hall.)
12412
12413 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
12414
12415         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
12416
12417 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
12418
12419         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
12420         need this later, and this makes sure that the atexit for
12421         glib gets called after that for GDK, so atexits are
12422         properly ordered for object leak checking.
12423
12424         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
12425
12426         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
12427         pango_x_shutdown_display()
12428
12429         * gtk/simple.c (main): Close window on destroy.
12430
12431 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
12432
12433         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
12434         to treat initial creation different from setting with 
12435         regards to the graphics-exposures parameter, so add a parameter
12436         indicating whether this is initial or not.
12437
12438 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
12439
12440         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
12441         to sort of work by adding an extra return_exposes arg
12442         to gdk_event_translate() - it might be better to simply
12443         deprecate the function altogether and force people to rewrite
12444         without it. gdk_window_scroll() handles most of it, and where
12445         gdk_window_scroll() doesn't work, simply redrawing more does.
12446
12447         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
12448         assertion.
12449
12450         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
12451
12452         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
12453         bunch of pretty much useless /* Print debugging info */ comments 
12454         which had drifted away from the code they were commenting.
12455
12456 2000-06-02  Havoc Pennington  <hp@pobox.com>
12457
12458         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
12459         is in working order.
12460         
12461         * gtk/testtext.c: Change to reflect anonymous mark API
12462
12463         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
12464
12465         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
12466         field, which was unused.
12467
12468         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
12469         saves some typing.
12470
12471         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
12472
12473         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
12474         flag on the insertion point and selection bound
12475
12476         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
12477         make mark-manipulation functions take a GtkTextMark* instead of a
12478         mark name.
12479         
12480         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
12481         GtkTextMarkBody; will be used to detect attempts to delete
12482         the permanent marks (insert and selection bound)
12483
12484         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
12485
12486 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
12487
12488         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
12489         flag to on.
12490
12491         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
12492         Honor DOUBLE_BUFFRED_FLAG
12493
12494         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
12495         function to set the DOUBLE_BUFFERED flag.
12496
12497         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
12498         or not exposes done on the widget should be double-buffered.
12499
12500         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
12501         to be what would be expected. (Fixes problem with a
12502         g_return_if_fail() validating a TextDirection enumeration)
12503
12504 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
12505
12506         * gtk/gtkwidget.c: Remove all references to 
12507         offscreen flag which was no longer used.
12508
12509         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
12510
12511         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
12512         for non-null label_widget->parent.
12513
12514         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
12515         which no longer was used.
12516
12517         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
12518
12519         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
12520         for null arguments.
12521
12522         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
12523         check for destroyed windows.
12524
12525 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
12526
12527         * gtk/gtkimmulticontext.c: Add a finalize method and unref
12528         the slave context there.
12529
12530         * gtk/gtkinvisible.[ch]: Make reference counting behavior
12531         identical to GtkWindow.
12532
12533 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
12534
12535         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
12536         pangox to here, so we can write them independent of rendering
12537         system, using GDK primitives.
12538
12539         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
12540         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
12541         since we have a rendering-system independent implementation in
12542         terms of draw_glyphs().
12543         
12544         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
12545         function to render a single line.
12546
12547         * gdk/x11/gdkpango.c: Move the guts of this file mostly
12548         into ../gdkpango.c, which simplifies things, since we
12549         don't have to deal with raw X gc's.
12550
12551 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
12552
12553         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
12554         get the logical attributes for a given GtkTextLine.
12555
12556 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
12557
12558         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
12559         g_locale_get_codeset() to g_get_codeset() change.
12560
12561 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
12562
12563         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
12564         descriptions.
12565
12566         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
12567         the entry.
12568
12569         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
12570         redoing (vastly simplifying) for Pango. Still needs quite
12571         a bit of work. (Size selection is currently poor. List of 
12572         predefined sizes is not a good idea, since all of these
12573         sizes won't necessarily be distinct.)
12574
12575 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
12576
12577         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
12578         CODESET results for LANG=C.
12579
12580 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
12581
12582         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
12583         which takes a stringized pango font description;
12584         ignore the older 'font' and 'fontset' declarations.
12585
12586         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
12587         field with a GdkFont derived via gdk_font_from_description(),
12588         for compatibility. (Should we just remove it entirely?
12589         Probably too much compatibility breakage, but people
12590         should be migrating to the new Pango stuff as quickly
12591         as possible.)
12592
12593 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
12594
12595         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
12596
12597 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
12598
12599         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
12600         redoing; there are some bugs in size allocation right
12601         now, the semi-existant distinction between header / day
12602         fonts was removed, but, with Pango, could actually
12603         be made functional in a nice way.
12604         
12605         * gtk/testcalender: Move calender from examples into this
12606         directory as a test program. (We really need to restrcture
12607         testgtk into a whole directory full of tests for every
12608         widget or functionality group, separated into multiple .c
12609         files.)
12610
12611 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
12612
12613         * gtk/testgtk.c (file_exists): Fix stupid typo that
12614         was keeping RC file from being loaded.
12615
12616         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
12617         RC file font code.
12618
12619 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
12620
12621         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
12622         Add function to load a GdkFont from a PangoFontDescription.
12623
12624 2000-05-29  Tor Lillqvist  <tml@iki.fi>
12625
12626         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
12627         variable should be of type GdkEventPrivate.
12628
12629 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
12630
12631         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
12632         to have any widget for the label, use a GtkLabel widget
12633         to display the text. (Based partially on a patch from
12634         Anders Carlson.)
12635
12636         (Quite a bit of code reorganization - strip 90% of the
12637         guts out of gtkaspectframe and add a single virtual
12638         func to GtkFrameClass - compute_child_allocation.)
12639
12640 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
12641
12642         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
12643         (Removed clist->row_center_offset field because caching
12644         it wasn't saving time or code, added private function
12645         _gtk_clist_create_cell_layout()).
12646
12647 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
12648
12649         * gtk/gtkaccellabel.c: Pangoized.
12650
12651         * gtk/[hv]ruler.c: Pangoized
12652
12653 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
12654
12655         * gtk/gtkfilesel.c (gtk_file_selection_init):
12656         Use gtk_clist_set_column_auto_resize() to remove need
12657         need for manual column width computations.
12658
12659 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
12660
12661         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
12662         ensuring Pango correctness, and considerably simplifying the
12663         code.
12664         
12665         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
12666
12667         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
12668         getting of numbers of lines.
12669
12670         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
12671         to the actual requested width of the lable, not to the wrap
12672         width we set.
12673
12674         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
12675
12676         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
12677           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
12678
12679         * gtk/gtktextview.c: Fix structure inheritance.
12680
12681         * gtk/gtkprogressbar.c: Pangoize.
12682
12683 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
12684
12685         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
12686         in a function.
12687
12688         * gtk/gtktextlayout.c (find_display_line_above): Fixed
12689         bug with computing line tops.
12690
12691         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
12692
12693 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
12694
12695         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
12696         and y_offset coordinates to do what we need now. (The offset between
12697         buffer and layout coordinates has been reintroduced, but is a 
12698         bit different than before.)
12699
12700         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
12701         handle the adjustments ourselves, and scroll as necessary using
12702         the new gdk_window_scroll().
12703         
12704         The advantage of this is that when we are incrementally revalidating,
12705         we are essentially rearranging things around the visible portion
12706         of the screen. With the old setup, the visible portion of the
12707         screen was moved around in the layout, so scrolling and redrawing
12708         to track that caused jumping of the display. Since we now
12709         control the scrolling ourselves, we can suppress this and
12710         only redraw when things actually change.
12711
12712 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
12713
12714         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
12715         the region not just redisplay it after-all, since we store the
12716         cursors in the LineDisplay. (Ugly interactions here between
12717         GtkLayout and GtkTextBTree here.)
12718         
12719         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
12720
12721 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
12722
12723         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
12724         Added function to scroll contents of a window while keeping the
12725         window constant. Works by XCopyArea or guffaw-scrolling depending
12726         on the details of how the window is set up. (guffaw-scrolling
12727         still needs to be filled in.)
12728
12729 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
12730
12731         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
12732         move the debugging that was tied to a global variable
12733         to that.
12734
12735         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
12736
12737         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
12738         validated flag, in line data instead of setting height/width to
12739         -1. This allows us to perform operations with partially invalid
12740         buffer (using the old size for invalid lines) and thus to do
12741         incremental vaidation. Keep height/width aggregates up to date
12742         when deleting text and rebalancing the tree.
12743
12744         * gtk/gtktextbtree.[ch]: Add functions validate a line
12745         (gtk_text_btree_validate_line), and to validate up
12746         to a number of pixels (gtk_text_btree_validate).
12747
12748         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
12749         that indicates that something is changed and a revalidation
12750         pass is needed. Change ::need_repaint to ::changed, and
12751         make it take old and new yranges instead of a rectangle.
12752
12753         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
12754         the line_data_destroy() function from 
12755         gtk_text_btree_add_view() to a virtual function in 
12756         GtkTextLayout
12757
12758         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
12759         since we are handling partial repaints in a different fashion
12760         now.
12761
12762         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
12763         of the selection instead of queueing a repaint on the
12764         entire widget.
12765
12766         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
12767         get_selection_bounds() down to btree, make the function
12768         in buffer a wrapper around the btree function.
12769
12770         * gtk/gtktextlayout.[ch]: Add functions to check if the
12771         layout is valid and to recompute either a range of pixels
12772         aroudn a line or a certain total number of pixels.
12773
12774         * gtk/gtktextlayout.[ch]: Cache a single line display;
12775         now that we only redraw the needed portions, the hit rate
12776         for this cache is quite high.
12777         
12778         * gtk/gtktextview.[ch]: Keep track of the first paragraph
12779         on the screen so that when re-laying-out the buffer, we can
12780         keep the same place. This requires connecting to ::value_changed
12781         on the adjustments
12782
12783         * gtk/gtktextview.[ch]: Add idle functions to revalidate
12784         the buffer after we receive an ::invalidated signal.
12785         
12786 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
12787
12788         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
12789         to max of allocation and layout size, not just to the
12790         layout size.
12791
12792         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
12793         Invalidate window so it gets redrawn properly.
12794
12795         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
12796         to mean the entire window.
12797
12798         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
12799         into public header.
12800
12801 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
12802
12803         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
12804         to get the name of a mark.
12805
12806         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
12807         to find the paragraph from a y position.
12808
12809 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
12810
12811         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
12812         nodes have width/height >= 0, not > 0.
12813
12814 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
12815
12816         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
12817         Add a size_only flag, so when we only need the size, we don't create
12818         useless appearance attributes.
12819
12820         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
12821         duplicate setting of font description.
12822
12823         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
12824
12825 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
12826
12827         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
12828         EXTRA_DIST. It does not work well when the file that
12829         everything depends on is not in the tarball.
12830
12831 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
12832
12833         * gtk/testgtk.c: Some hacks and fixes so that it basically
12834         works when not sitting in the GTK+ build tree.
12835
12836 2000-05-03  Havoc Pennington  <hp@redhat.com>
12837
12838         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
12839         Properly determine the ordering of the tag root and the current
12840         line within the tree. Previous algorithm only worked if the tag
12841         root's immediate parent was the common root of both the current
12842         line and the tag root.
12843
12844 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
12845
12846         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
12847         alignment.
12848
12849         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
12850         the widget text directional dynamically.
12851
12852         * gtk/gtktextview.[ch]: Added functions to get and set default
12853         wrap mode.
12854
12855 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
12856
12857         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
12858         in cursor location computation.
12859
12860 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
12861
12862         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
12863         vadjusment values properly when layout gets smaller.
12864
12865         * gtk/gtktextview.c (need_repaint_handler): Areas being
12866         passed in are far completely inaccurate, and sometimes
12867         too small, so, for now, just queue a redraw on the
12868         whole visible region.
12869
12870 2000-04-25  Havoc Pennington  <hp@redhat.com>
12871
12872         * gtk/gtktextbtree.c (summary_destroy): new function to 
12873         destroy tag summary nodes
12874         (gtk_text_line_next_could_contain_tag): this function was 
12875         totally broken if the line passed in wasn't below the tag
12876         root. Fix it.
12877         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
12878         "wildcard" case, we have to do a linear scan. Blah.
12879         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
12880         we have to do the linear scan
12881         (tag_removed_cb): When a tag is removed from the tag table, 
12882         remove the GtkTextTagInfo node from the btree.
12883         (gtk_text_btree_spew): Implement the spew function, for 
12884         our debugging pleasure.
12885
12886 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
12887
12888         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
12889         a problem with referring to the wrong buffer.
12890
12891         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
12892
12893         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
12894         font description to gtk_style_new() - otherwise things
12895         don't work without a .gtkrc file.
12896
12897         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
12898         tags table if we create it ourself, too.
12899
12900         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
12901         it was conflicting with XKB modifiers.
12902
12903         * gtk/gtktextview.[ch]: Add simple support for 
12904         GtkIMContext.
12905
12906 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
12907
12908         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
12909         with deletion from last commit.
12910
12911 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
12912
12913         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
12914         in the context from the current locale.
12915         
12916         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
12917         context, not hardcoded value.
12918
12919         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
12920         not logical.
12921
12922 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
12923
12924         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
12925         attributes - that doesn't handle partial-glyph selection
12926         properly. Instead use new pango_layout_line_get_x_ranges()
12927         functionality to draw the selection.
12928
12929         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
12930         now properly handles out-of-range coordinates.
12931
12932         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
12933
12934         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
12935         public.
12936
12937         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
12938         for paragraphs opposite to the base direction of the widget.
12939
12940         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
12941
12942         * gtk/gtktextlayout.c: Don't split segments on marks, since that
12943         causes Arabic words to reshape as you cursor through.
12944
12945         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
12946         cursor position when moving vertically with the arrow keys and
12947         scrolling with page-up/page-down. (Arrow keys save only the X,
12948         scrolling saves both X and Y.)
12949
12950         This means you can line-up / line-down or page-up / page-down
12951         without losing your place, and also that moving vertically
12952         with the cursor keys keeps the same X position, not the same
12953         character count:
12954
12955         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
12956         arrow keys move by display lines, not paragraphs.
12957
12958 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
12959
12960         * gtk/gtklayout.c: Make sure that the bin window is at least
12961         as big as the allocation. (Should we also make sure that the
12962         bin window is big enough to completely cover widget->window?)
12963
12964         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
12965         function to get the onscreen rectangle.
12966
12967         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
12968         for offsets in window coordinates.
12969
12970 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
12971
12972         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
12973         confusion.
12974
12975         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
12976         from the widget direction.
12977
12978         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
12979         Add a "direction" attribute.
12980
12981         * gtk/gtktextview.c: global s/tkxt/text_view/.
12982
12983         * gtk/testtext.c: Added long block of text in Arabic, to test out
12984         the direction attributes. (Some problems with the shaping system
12985         for arabic become obvious - like the fact the cursor splits words
12986         into unjoined pieces.)
12987
12988 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
12989
12990         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
12991
12992         * gtk/gtktextlayout.c: Fix up alignment.
12993
12994         * gtk/testtext.c: Add some tests for centering, wrapping.
12995
12996 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
12997
12998         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
12999         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
13000         If we wrote GTK+-specific layout-render function this could just replace
13001         the draw_layout() operation in the vtable.
13002
13003         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
13004         pango_layout_get_cursor_pos() and use that function.
13005
13006         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
13007         is a non-static symbol.
13008
13009         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
13010         with gtk_text_btree_find_line_by_y()
13011
13012         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
13013         renderer that handles GtkTextAppearance attributes.
13014
13015         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
13016
13017           - Move the values in the style that don't affect geometry into a
13018             GtkTextAppearance structure.
13019           - Change underline to take a PangoUnderline and "font" a string
13020             representation of a font description
13021           - Add a "font_desc" attribute which takes a FontDescription structure.
13022
13023         * gtk/gtktextlayout.[ch]:
13024
13025           - Get rid of the display-line list per each line. Instead, we
13026             generate, on demand, a GtkTextLineDisplay structure which]
13027             contains a PangoLayout * and other necesary information
13028             (offsets, cursor locations) for displaying a paragraph.
13029           - Get rid of the code to wrap lines, create display chunks,
13030             etc. Instead, we just go through a paragraph and convert
13031             it into the necessary inputs to a PangoLayout.
13032           - Implement a new attribute type, GtkTextAttrAppearance. This
13033             holds a GtkTextAppearance, and is used to pass colors, 
13034             stipple, etc, through from the layout to the display without
13035             having to use lots and lots of individual attributes.
13036           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
13037             in terms of PangoLayout functions.
13038         
13039         * gtk/gtktextview.c: 
13040          
13041           - Handle passing the necessary PangoContext to the layout
13042           - Some fixups in painting to deal with the automatic backing store
13043             and offsetting of GTK+-1.4
13044           - Add a style_set handler so that the default style reacts
13045             properly to theme changes.
13046         
13047         * gtk/gtktext?*.[ch]: Random code-style fixes.
13048
13049         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
13050
13051 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
13052
13053         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
13054         in original form preparatory to Pango-ization and gdkimcontext-ization.
13055
13056 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
13057
13058         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
13059         so that we can derive from gtkimcontext in language bindings properly.
13060
13061 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
13062
13063         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
13064         Add a compose table including (almost) all the compose combinations
13065         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
13066         data in the XIM implementation.
13067
13068         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
13069         Moved functions to convert keyvalues from and to unicode here from
13070         the win32 port and made them public.
13071
13072 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
13073
13074         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
13075
13076 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
13077
13078         * gtk/gtkimcontext.[ch]: Base class for new input context system
13079
13080         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
13081         the real input context implementation to be loaded from modules
13082         and switched on the fly.
13083
13084         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
13085         context that just does direct keysymbol => unicode translation.
13086
13087         * gtk/gtkentry.[ch]: Start switching editing over to using
13088         GtkInputContext. (No handling of preedit yet.)
13089
13090 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
13091
13092         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
13093         many substitutions. (klass should not be subsituted.)
13094
13095 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
13096
13097         * configure.in: Add checks for Pango
13098
13099         * configure.in docs/Makefile.am: Add test for sgml2html
13100         and allow 'make dist' without building html, but print out
13101         warnings in that case. (For making snapshots)
13102
13103         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
13104         Add Pango libraries and C flags
13105
13106         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
13107         Add function (gdk_draw_layout) to draw a pango layout.
13108
13109         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
13110         for getting Pango contexts for GDK.
13111
13112         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
13113
13114         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
13115         editing.
13116
13117         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
13118         keysym => unicode translations. More languages can be added
13119         here, but real input-method support is needed.
13120
13121         * docs/Changes-1.4.txt: Added note about entry behavior.
13122         
13123         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
13124         to set the reading direction for a widget and the global direction.
13125         Add test which allows toggling the global direction. Two private
13126         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
13127
13128         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
13129           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
13130
13131         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
13132
13133         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
13134         underlining now handled by Pango.
13135
13136         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
13137         to RCStyle and Style. (Having both this and the old font name and GdkFont 
13138         is temporary.)
13139
13140         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
13141         convenience functions for creating contexts and layouts for widgets.
13142
13143         * gtk/testgtk.c: Enhance label tests with multilingual labels.
13144
13145 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
13146
13147         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
13148         titles to be active, even if they aren't visible.
13149         (gtk_clist_column_titles_passive):  Ditto.
13150
13151 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
13152
13153         * gtkmenu.c:
13154         * gtkmenu.h:
13155         * gtktypeutils.h: Spelling/grammar fixes in comments.
13156
13157 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
13158
13159         * gdk/nanox/*.h: add missing header files.
13160
13161 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
13162
13163         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
13164         send_event to TRUE.
13165         (gtk_drawing_area_size): queue a resize.
13166
13167 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
13168
13169         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
13170         the handlers, also invalidate them. bug nailed down by Karl Nelson
13171         <kenelson@ece.ucdavis.edu>.
13172
13173 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
13174
13175         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
13176         "(nil)" foundries, patch from Grigorios Magklis.
13177
13178         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
13179         on non-available fonts, based on a patch by Grigorios Magklis
13180         <maglis@cs.rochester.edu>.
13181
13182 2000-05-18  Elliot Lee  <sopwith@redhat.com>
13183
13184         * gdk/x11/gdkregion-generic.c: If a region does not have any
13185         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
13186         instead of GDK_OVERLAP_RECTANGLE_IN.
13187
13188 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
13189
13190         * gtk/gtklayout.c (gtk_layout_map): Remove references to
13191         OFFSCREEN, as it is no longer necessary.
13192
13193 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
13194
13195         * gtk/gtkcolorsel.c: Patch from David Santiago
13196         <mrcooger@cyberverse.com> to change things so that the 
13197         indicator of the active palette entry is done independently,
13198         not via the focus, since it should always be visible.
13199
13200 2000-05-17  Tor Lillqvist  <tml@iki.fi>
13201
13202         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
13203         refcount leaks as in the X11 backend.
13204
13205         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
13206         cosmetics.
13207
13208         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
13209         backend. Add _gdk_windowing_window_destroy().
13210
13211         * gtk/gtkcolorsel.c: Include correct backend-specific header.
13212         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
13213         either, but these probably do exist on nanox?)
13214         
13215         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
13216         which isn't necessarily defined by <math.h>.
13217
13218         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
13219         ancestry past GtkObject.
13220
13221         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
13222         from DLL on Win32.
13223
13224         * gtk/gtk.def: Update corresponding to recent changes.
13225
13226         * gtk/makefile.{cygwin,msc}: Updates.
13227
13228 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
13229
13230         * docs/Changes-1.4.txt: A bit of editing.
13231
13232         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
13233         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
13234         to clear the update area for the window, and clear it
13235         when hiding a window.
13236
13237         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
13238         if window destroyed.
13239
13240         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
13241
13242         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
13243         gdk_window_destroy() to the generic code, since there was a lot of 
13244         window-system-independent logic it in. Add a function:
13245         
13246          _gdk_window_destroy() 
13247
13248         to the internal API to destroy a window without unreferencing it.
13249         Add a function:
13250
13251          _gdk_windowing_window_destroy()
13252
13253         That does the windowing-system-dependent part of destroying 
13254         the window.
13255
13256 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
13257
13258         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
13259
13260 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
13261
13262         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
13263         Make gtk_widget_shape_combine_mask() keep a reference count on
13264         the pixmap since it keeps it around.
13265
13266 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
13267
13268         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
13269         leak.
13270
13271         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
13272         leak with event filters.
13273
13274 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
13275
13276         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
13277         signal handlers with the right data arguments. (Fixes
13278         some warnings when a widget was repeatedly set as a drag
13279         destination.)
13280
13281         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
13282         window so we can avoid avoid setting the DND properties on the
13283         toplevel window repeatedly.
13284
13285 2000-05-13  Tor Lillqvist  <tml@iki.fi>
13286
13287         * gdk/win32/gdkwin32.h: Define more message types missing from
13288         mingw headers.
13289
13290         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
13291         call gdk_window_destroy_notify(). It was never called. This
13292         probably meant that the GdkWindow was never freed. Thanks Owen for
13293         noticing (!).
13294
13295         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
13296         window as destroyed before calling DestroyWindow(). DestroyWindow()
13297         causes a call to the window procedure (gdk_WindowProc), which
13298         calls gdk_event_translate(), which calls
13299         gdk_window_destroy_notify(), which gets confused unless the window
13300         is set as destroyed.
13301
13302         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
13303         this function to indicate it's win32 only. Put inside #ifdef
13304         G_ENABLE_DEBUG.
13305
13306         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
13307         debugging function. (gdk_event_translate:) Add a default branch
13308         that uses the above function to print debug messages with all
13309         Windows messages symbolically.
13310
13311         * gdk/win32/gdkprivate-win32.h: Declare it, and
13312         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
13313
13314 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
13315
13316         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
13317         public header file.
13318
13319 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
13320
13321         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
13322
13323         * gtk/gtktext.c: made the adjustments no-construct args, simply
13324         provide default adjustments.
13325         (gtk_text_destroy): release adjustments.
13326
13327         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
13328         adjustment argument non-construct.
13329
13330         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
13331         instead of in finalize.
13332         (gtk_progress_get_text_from_value): 
13333         (gtk_progress_get_current_text): 
13334         (gtk_progress_set_value): 
13335         (gtk_progress_get_percentage_from_value): 
13336         (gtk_progress_get_current_percentage): 
13337         (gtk_progress_set_percentage): 
13338         (gtk_progress_configure): ensure an adjustment is present.
13339
13340 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
13341
13342         * gtk/gtkcolorsel.[hc]:
13343         * gtk/gtkcolorseldialog.[hc]:
13344         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
13345         their parent implementation, use bit fields for boolean values, don't
13346         create unused widgets, usage of glib types, braces go on their own
13347         lines, function argument alignment, #include directives etc. etc. etc..
13348
13349         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
13350
13351 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
13352
13353         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
13354
13355         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
13356         of NULL.
13357
13358         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
13359         to freed data.
13360         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
13361
13362         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
13363         to NULL when the toplevel is getting destroyed.
13364         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
13365         (gtk_menu_destroy): 
13366         (gtk_menu_init): store the information of whether we have to
13367         readd the initial child ref_count during destruction in a new
13368         GtkMenu field needs_destruction_ref_count.
13369
13370         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
13371         here, those reading: learn from my mistake! ;)
13372         in order for set_?adjustment to support a default adjustemnt if
13373         invoked with an adjustment pointer of NULL, the code read (pseudo):
13374         if (v->adjustment) unref (v->adjustment);
13375         if (!adjustment) adjustment = adjustment_new ();
13376         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
13377         now imagine the first unref to actually free the old adjustment and
13378         adjustment_new() creating a new adjustment from the very same memory
13379         portion. here, the latter comparision will unintendedly fail, and
13380         all hell breaks loose.
13381         (gtk_viewport_set_hadjustment):
13382         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
13383         after unreferencing it.
13384
13385         * gtk/gtkcontainer.[hc]: removed toplevel registration
13386         functions: gtk_container_register_toplevel(),
13387         gtk_container_unregister_toplevel() and
13388         gtk_container_get_toplevels() which had wrong semantics
13389         anyways: it didn't reference and copy the list.
13390
13391         * gtk/gtkwindow.c: we take over the container toplevel registration
13392         bussiness now. windows are registered across multiple destructions,
13393         untill they are finalized. the initial implicit reference count
13394         users are holding on windows is removed with the first destruction
13395         though.
13396         (gtk_window_init): ref & sink and set has_user_ref_count, got
13397         rid of gtk_container_register_toplevel() call. add window to
13398         toplevel_list.
13399         (gtk_window_destroy): unref the window if has_user_ref_count
13400         is still set, got rid of call to
13401         gtk_container_unregister_toplevel().
13402         (gtk_window_finalize): remove window from toplevel list.
13403         (gtk_window_list_toplevels): new function to return a newly
13404         created list with referenced toplevels.
13405         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
13406
13407         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
13408         adjustment a non-construct arg.
13409         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
13410         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
13411         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
13412
13413         * gtk/gtkrange.c: added some realized checks.
13414         (gtk_range_destroy): get rid of the h/v adjustments in the
13415         destroy handler instead of finalize. remove timer.
13416         (gtk_range_get_adjustment): demand create adjustment.
13417
13418         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
13419         we simply create them on demand now and get rid of them in
13420         the destroy handler.
13421         (gtk_viewport_destroy): get rid of the h/v adjustments in the
13422         destroy handler instead of finalize.
13423         (gtk_viewport_get_hadjustment): 
13424         (gtk_viewport_get_vadjustment): 
13425         (gtk_viewport_size_allocate): demand create h/v adjustment
13426         if required.
13427
13428         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
13429         gtk_widget_real_destroy () functionality.
13430         (gtk_widget_real_destroy): reinitialize with a new style, instead
13431         of setting widget->style to NULL.
13432
13433 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
13434
13435         * gtk/gtkcalendar.c:
13436         * gtk/gtkbutton.c: ported _get_type() implementation over to
13437         GType, either to preserve memchunks allocation facilities,
13438         or because Gtk+ 1.0 GtkTypeInfo was still being used.
13439
13440         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
13441         over. prepare for ::destroy to be emitted multiple times.
13442         removed reference tracer magic. chain into GObjectClass.shutdown()
13443         to emit ::destroy signal.
13444
13445         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
13446         fundamental.
13447
13448         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
13449         cludge.
13450
13451         * gtk/gtksocket.c:
13452         * gtk/gtkplug.c:
13453         * gtk/gtklayout.c:
13454         * gtk/gtklabel.c:
13455         * gtk/gtkargcollector.c:
13456         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
13457         not being a fundamental anymore, and to work with the new
13458         type system (nuked fundamental type varargs clutter).
13459
13460         * gtk/*.c: install finalize handlers in the GObjectClass
13461         part of the class structure.
13462         changed direct GTK_OBJECT()->klass accesses to
13463         GTK_*_GET_CLASS().
13464         changed direct object_class->type accesses to GTK_CLASS_TYPE().
13465
13466         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
13467         GType. made most of the GTK_*() type macros and Gtk* typedefs
13468         simple wrappers around macros and types provided by GType.
13469         most notably, a significant portion of the old API vanished:
13470         GTK_TYPE_MAKE(),
13471         GTK_TYPE_SEQNO(),
13472         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
13473         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
13474         GTK_TYPE_ARGS,
13475         GTK_TYPE_CALLBACK,
13476         GTK_TYPE_C_CALLBACK,
13477         GTK_TYPE_FOREIGN,
13478         GtkTypeQuery,
13479         gtk_type_query(),
13480         gtk_type_set_varargs_type(),
13481         gtk_type_get_varargs_type(),
13482         gtk_type_check_object_cast(),
13483         gtk_type_check_class_cast(),
13484         gtk_type_describe_tree(),
13485         gtk_type_describe_heritage(),
13486         gtk_type_free(),
13487         gtk_type_children_types(),
13488         gtk_type_set_chunk_alloc(),
13489         gtk_type_register_enum(),
13490         gtk_type_register_flags(),
13491         gtk_type_parent_class().
13492         replacements, where available are described in ../docs/Changes-1.4.txt.
13493         implemented compatibility functions for the remaining API.
13494
13495         * configure.in: depend on glib 1.3.1, use gobject module.
13496
13497 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
13498
13499         * TODO.xml: Various updates to current status.
13500
13501 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
13502
13503         * gtk.m4: Print out version when test succeeds.
13504
13505 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
13506
13507         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
13508         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
13509         
13510         (Original triangle color selector from Simon Budig
13511         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
13512         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
13513         Santiago <mrcooger@cyberverse.com>)
13514
13515         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
13516         out into a separate widget.
13517
13518         * gtk/testgtk.c: Add some checkbuttons for toggling palette
13519         and opacity controls.
13520
13521 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
13522
13523         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
13524         snuck in prematurely.
13525
13526 2000-05-07  Tor Lillqvist  <tml@iki.fi>
13527
13528         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
13529         had deleted a ! operator by mistake, which caused
13530         GDK_SELECTION_CLEAR events never to be generated, which caused
13531         only the first copy to the clipboard from an gtkeditable to
13532         actually cause a copy to the Windows clipboard.
13533
13534 2000-05-06  Tor Lillqvist  <tml@iki.fi>
13535
13536         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
13537         compilation, too. Current mingw gcc distributions include the
13538         necessary headers. Also the necessary IIDs are now in mingw
13539         headers/libraries, and own definitions unnecessary.
13540
13541         More hacking on OLE2 DND, still doesn't work though, and thus
13542         ifdeffed out.
13543
13544         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
13545         here, too.
13546
13547 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
13548
13549         * gdk/nanox/*: nano-X port work in progress.
13550         * gdk/simple.c: simple test for Gdk.
13551         * README.nanox: notes about the port: read this first!
13552         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
13553         with nano-X.
13554
13555 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
13556
13557         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
13558         gdk_window_clear() into common code, implement in terms of
13559         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
13560         not redirected to the backing rectangle.
13561
13562 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
13563
13564         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
13565         EXTRA_DIST. It does not work well when the file that
13566         everything depends on is not in the tarball.
13567
13568 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
13569
13570         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
13571         with recursion where process_updates() is called from
13572         an expose handler. (GtkTextView is highly broken in
13573         doing this, but it should work, so it is a nice test
13574         case.)
13575
13576 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
13577
13578         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
13579         handle the case where updates are queued during processing of
13580         updates.
13581
13582 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
13583
13584         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
13585         window is on gdk_display - use that instead of segfaulting.
13586
13587 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
13588
13589         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
13590         broken and require an empty arg, give it to them.
13591
13592 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
13593
13594         * gtk/gtklabel.h: indentation fixes.
13595
13596 2000-05-02  Tor Lillqvist  <tml@iki.fi>
13597
13598         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
13599         draw too narrow or too low arcs, they seem to fail, at least with
13600         some display drivers.
13601
13602         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
13603
13604         Large changes to the Win32 backend, partially made necessary by
13605         the changes to the backend-independent internal
13606         structures. Attempts to implement similar backing store stuff as
13607         on X11. The current (CVS) version of the Win32 backend is *not* as
13608         stable as it was before the no-flicker branch was merged. A
13609         zipfile with that version is available from
13610         http://www.gimp.org/win32/. That should be use by "production"
13611         code until this CVS version is usable. (But note, the Win32
13612         backend has never been claimed to be "production quality".)
13613
13614         * README.win32: Add the above comment about versions.
13615
13616         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
13617
13618         * gdk/gdk.def: Update.
13619
13620         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
13621         presumably be replaced by some more better mechanism as 1.4 gets
13622         closer to release shape.
13623
13624         * gdk/makefile.{cygwin,msc}: Update.
13625
13626         * gdk/win32/*.c: Correct inclusions of the backend-specific and
13627         internal headers. Change code according to changes in these. Use
13628         gdk_drawable_*, not gdk_window_* where necessary.
13629
13630         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
13631         our old DND.
13632
13633         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
13634         to interpret single characters as UTF-8. Thanks to Hans Breuer.
13635         Use correct function name in warning messages.
13636
13637         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
13638         GSourceFuncs gdk_event_prepare and gdk_event_check.
13639         (gdk_event_get_graphics_expose): Do implement, use
13640         PeekMessage. Thanks to Hans Breuer.
13641         (event_mask_string): Debugging function to print an GdkEventMask.
13642         (gdk_pointer_grab): Use it.
13643
13644         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
13645         (old) book I used claimed was Hangul actually is CJK Unified
13646         Ideographs Extension A. Also, Hangul Syllables were missing.
13647         Improve logging.
13648
13649         * gdk/win32/gdkgc-win32.c: Largish changes.
13650
13651         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
13652         g_win32_getlocale() from GLib, and not setlocale() to get current
13653         locale name.
13654
13655         * gdk/win32/gdkprivate-win32.h
13656         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
13657         gdkwin32.h, similarily as in the X11 backend.
13658
13659         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
13660         assignment was used instead of equals in if test. Thanks to Hans
13661         Breuer.
13662
13663         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
13664         the X11 version.
13665
13666         * gdk/win32/makefile.{cygwin,msc}
13667         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
13668         path to the Win32 headers that works also with the mingw compiler.
13669
13670         * gtk/gtkstyle.c: Include <string.h>.
13671
13672 2000-04-26  Havoc Pennington  <hp@redhat.com>
13673
13674         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
13675         replacing the broken gtk_label_get ()
13676
13677 2000-04-15  Havoc Pennington  <hp@pobox.com>
13678
13679         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
13680         this keeps scanner scripts from getting confused.
13681
13682         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
13683         data, rather than void
13684
13685 2000-04-15  Tor Lillqvist  <tml@iki.fi>
13686
13687         * gtk/gtkclist.c (gtk_clist_motion)
13688         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
13689         with is_hint FALSE, get x and y from the event. They used to be
13690         used uninitialised. The Win32 backend never sends motion events
13691         marked as hints. This for instance fixes the annoying file and
13692         font selector behaviour in the Win32 version.
13693
13694 2000-04-14  Tor Lillqvist  <tml@iki.fi>
13695
13696         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
13697         gtk_private_n_signals variables, they are used by some software,
13698         sigh.
13699
13700         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
13701         installation directory from the Registry, where the installer
13702         should have put it.
13703
13704 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
13705
13706         * gdk/x11/Makefile.am: Fix problem with installation directory for
13707         gdkx.h
13708
13709         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
13710         <mrcooger@cyberverse.com> so that when selecting menus with the
13711         mouse, the first item will not be selected, but when selecting
13712         with an accelerator, or navigating left-right on a menubar with
13713         the menus popped up, the first item will be selected.
13714
13715 2000-04-05  Dan Damian  <dand@dnttm.ro>
13716
13717         * configure.in: Added "ro" to ALL_LINGUAS.
13718
13719 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
13720
13721         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
13722         indentation.
13723
13724         * Makefile.am (EXTRA_DIST): Fix typo.
13725
13726         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
13727         to catch gdkconfig.h
13728
13729         * gtk/gtkitemfactory.c: Added FIXME.
13730
13731 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
13732
13733         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
13734         s/return_if_fail/return_val_if_fail/g and add a return value.
13735
13736 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
13737
13738         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
13739         merge slipup.
13740
13741         * gdk/gdkinput.h: Fix missing line from merge.
13742
13743 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
13744
13745         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
13746         instead of gdkprivate.h.
13747
13748 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
13749
13750         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
13751         parent class to correctly be GtkDialogClass.
13752
13753 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
13754
13755         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
13756         toplevel windows and their immediate children by their parents,
13757         since the size of toplevel windows is out of our immediate
13758         control and we don't get any real benefit from trying to track
13759         this size for clipping.
13760
13761         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
13762         for input_only windows.
13763
13764         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
13765         to fix some hacks and make sure that we don't try to set the
13766         background of input only windows.
13767
13768 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
13769
13770         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
13771         the _really_ internal stuff, and leave gdkprivate.h for the fake private
13772         stuff that we've traditionally exposed.
13773
13774         * gdk/**.c: Use gdkinternals.h where appropriate.
13775
13776         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
13777         not include gdkprivate-x11.h, move all stuff of conceivable public
13778         interest into gdkx.h; keep all really private stuff in
13779         uninstalled header gdkprivate-x11.h.
13780
13781         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
13782         image->image_put on windows through a new function _gdk_window_draw_image()
13783         to allow us to do backing store for images. (Sort of ugly)
13784
13785         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
13786         contexts locally so that we can offset them properly when drawing 
13787         onto backing pixmaps.
13788
13789         * gdk/gdkinput.h: Reindented
13790
13791         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
13792         pixmap or color for the window, so we can properly initialize
13793         our double-buffer pixmaps, and also so that we temporarily set
13794         a background of None while scrolling.
13795
13796         * gdk/gdkregion.h: Revise region boolean operators to have an
13797         interface that is actually convenient - switch from creating new
13798         regions on every op, to "methods" that modify existing regions
13799         (A = A OP B). 3 argument forms which allow dest == src, would also
13800         be possible, but the current interfaces seem to map nicely
13801         onto what needs to be done. (There is quite a lot of region
13802         code in GDK now.)
13803
13804         * gdk/gdkregion.h: Add constructor from rectangle and a copy
13805         operator.
13806
13807         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
13808         gdkpoly-generic.h: Copy region code from Xlib, switch it over
13809         to 32 bit coordinates, modify it to be mostly GTK+ style
13810         and to have interfaces that match gdkregion.h.
13811
13812         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
13813         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
13814         create a backing pixmap and redirect all drawing to
13815         that backing pixmap until a matching gdk_window_end_paint().
13816
13817         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
13818         Create a special drawable class for GtkWindow's that 
13819         redirects the drawing to the backing pixmap as necessary
13820         and then calls the real operations in _gdk_windowing_window_class.
13821
13822         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
13823         Store invalid region for each window. Generate expose events for invalid
13824         region in an idle. This replaces both the expose compression
13825         and the redrawing queuing in GTK+. It is both more efficient and
13826         simpler than either one individually and far more so then the
13827         combination.
13828
13829         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
13830         Emulate 32 bit coordinates for windows with 16 bit coordinates
13831         by offsetting drawing, guffaw scrolling techniques and
13832         mapping/unmapping child windows as necessary.
13833
13834         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
13835         where, when invalid regions are processed, the region is stored,
13836         and if expose events come in that are detectably duplicate
13837         the processed exposes (by comparison of event serial numbers),
13838         the stored region is subtracted out of those exposes.
13839
13840         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
13841         regions newly exposed when scrolling or resizing windows.
13842         This, combined with forcing processesing of queued invalidated
13843         regions, gives nice flicker-free scrolling.
13844
13845         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
13846         invalidated regions after every scroll.
13847
13848         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
13849         emulation in GDK. Its, for all practical purposes just a
13850         GtkViewport/GtkFixed hybrid now.
13851
13852         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
13853         (16-bit) structures as necessary instead of just casting.
13854
13855         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
13856         in terms of the structures from gdkregion-generic.c, using appropriate
13857         offsets from GDK to X11 coordinates. Cache clip mask and
13858         origin and ts origin locally and only flush to the server
13859         when drawing, to avoid constantly setting and resetting these
13860         values when offsetting GC's for scrolling and backing pixmaps.
13861
13862         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
13863
13864         * gtk/gtkcontainer.c: Call process_all_updates at end
13865         of resizing to reduce flicker. (Avoids having redraw
13866         lag arbitrarily behind resize under some circumstances)
13867
13868         * gtk/gtkentry.c: Remove old backing store code, and simply take
13869         advantage of the new backing store capabilities of GDK.
13870
13871         * gtk/gtkmain.c: Simple implementation of widget backing
13872         store - simply push a paint while handling each expose.
13873         (Should really be configurable widget for widget.)
13874         
13875         * gtk/gtkwidget.c: Remove all the old complicated redraw
13876         code, and simply invalidate the GDK windows from
13877         gdk_window_queue_clear(), etc. (Sigh, so much carefully
13878         debugged complexity ... gone to the winds.)
13879
13880         Remove all the code for suppressing expose events while
13881         resizes are pending; this isn't needed since the invalid
13882         areas won't be processed until after the resizes are
13883         processed, since they are in a lower priority idle.
13884
13885 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
13886
13887         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
13888         and height of dest rectangle for non-intersecting rectangles.
13889
13890 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
13891
13892         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
13893         for GdkRectangle.
13894
13895 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
13896
13897         * gdk/gdk{events,image,private,types,window}.h
13898          gdk/x11/gdkinputprivate.h: Change all coordinates
13899          from int16 to int. Also, Change width and height from
13900          unsigned to signed to avoid all the stupid C 
13901          signedness bugs.
13902
13903 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
13904
13905         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
13906         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
13907         Add some more detailed checking.
13908
13909         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
13910         New function to retrieve the depth of a drawable.
13911
13912         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
13913         field, reorder fields to save memory. 
13914
13915 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
13916
13917         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
13918         of the background image instead of scaling the background down to
13919         a line.
13920
13921         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
13922         which temporarily set slider to wrong size.
13923
13924         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
13925         queue_clear().
13926
13927 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
13928
13929 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
13930
13931         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
13932
13933 2000-03-17  Tor Lillqvist  <tml@iki.fi>
13934
13935         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
13936         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
13937
13938         * gdk/win32/gdkfont-win32.c
13939         * gdk/win32/gdkproperty-win32.c
13940         * gdk/win32/gdkselection-win32.c
13941         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
13942         now declared such.
13943
13944 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
13945
13946         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
13947
13948 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
13949
13950         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
13951         is called without trapping X errors.
13952
13953 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
13954
13955         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
13956         way into the fontset lists.
13957
13958 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
13959
13960         * gtk/gtkthemes.h: add extern "C" scope.
13961
13962 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
13963
13964         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
13965         to make appends to the list constant. (gtk-guy-990901-0.patch)
13966
13967 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
13968
13969         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
13970         for the typename hash table.
13971
13972 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
13973
13974         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
13975         to make sure we never divide by zero. 
13976         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
13977
13978 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
13979
13980         * gtk/gtkfontsel.c: Apply patch from
13981         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
13982         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
13983
13984         Also, some cleanups in atom handling.
13985
13986 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
13987
13988         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
13989         not GtkWidget.
13990
13991 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
13992
13993         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
13994         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
13995         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
13996         more guint wrap-around bugs before going to bed.
13997
13998 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
13999
14000         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
14001         guint wrap arounds in allocation.width.
14002
14003         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
14004         process untill we fit the allocation given.
14005
14006 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
14007
14008         * gtk/gtkwidget.c:
14009         (gtk_widget_unrealize): guard widget access with ref/unref
14010         around signal emission.
14011         (gtk_widget_hide): same here, but also check its destroyed
14012         state before queueing a resize.
14013
14014 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
14015
14016         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
14017         of gtk_default_insensitive_bg as insensitive base color.
14018
14019         * gtk/gtktext.c (gtk_text_style_set): set the background color according
14020         to the widget's state.
14021         (gtk_text_realize): same here.
14022         (gtk_text_state_changed): same here.
14023         (draw_bg_rect): compare background color against base[] from
14024         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
14025
14026 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
14027
14028         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
14029         grabs are active, unless a delete event is send to the toplevel
14030         of the currently grab holding widget.
14031
14032 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
14033
14034         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
14035         debugging g_print's.
14036
14037 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
14038
14039         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
14040         ever make the scrolled-window requisition ever depend on the 
14041         visibility state of the scrollbars for the AUTOMATIC policy. 
14042         This breaks the GTK+ requisition model, and causes loops.
14043
14044 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
14045
14046         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
14047         the default font to avoid problems with XFree86-4.0 where the
14048         default charset is iso10646-1, not iso8859-1.
14049
14050 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
14051
14052         * acinclude.m4
14053         * config.guess
14054         * config.sub
14055         * ltconfig
14056         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
14057
14058         * gtk/Makefile.am: minor cosmetic consistency tweak
14059
14060 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
14061
14062         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
14063         the activate_time to 0, so that we handle a quick
14064         press/release press/release properly and don't suppress
14065         the second release. (Red Hat bug #7545)
14066
14067 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
14068
14069         * gtk/gtkctree.c (row_delete):
14070         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
14071         bugs with destruction notifier, *always* update internal
14072         structures *before* calling user code.
14073
14074 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
14075
14076         A few more fixes for bug #5487, #2051, #2677.
14077         * gtk/gtkclist.c : 
14078         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
14079         not GDK_BUTTON_PRESS.
14080         (resync_selection): resync only if selection_mode is
14081         GTK_SELECTION_EXTENDED
14082         * gtk/gtkctree.c (resync_selection): same here
14083
14084 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
14085
14086         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
14087         gdk_drag_get_selection() and gtk_menu_detach().
14088
14089         [ From Jeroen Ruigrok/Asmodai ]
14090
14091 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
14092
14093         * gtk/gtknotebook.c (gtk_notebook_size_request): 
14094         page->tab_label can be NULL.
14095
14096 2000-01-25  Havoc Pennington  <hp@pobox.com>
14097         
14098         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
14099         arg is boolean
14100
14101         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
14102
14103         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
14104
14105         * gdk/gdkproperty.c (gdk_property_get): return boolean
14106
14107         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
14108
14109         * gdk/gdkim.c (gdk_im_ready): return boolean
14110
14111         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
14112
14113         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
14114         glib clash, should fix glib)
14115
14116         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
14117         (gdk_get_show_events): return gboolean, and canonicalize 
14118         to TRUE/FALSE
14119
14120         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
14121         colormap is private
14122         (gdk_colors_alloc): gboolean whether to be contiguous
14123         (gdk_color_equal): return gboolean since we are a predicate
14124         and not a qsort() (this looks semi-wrong due to glib breakage,
14125         IMO glib should be fixed)
14126         
14127         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
14128         (gdk_get_use_xshm): return gboolean
14129         (gdk_pointer_is_grabbed): return gboolean
14130
14131         * gdk/gdk.h: Change prototypes to match all the above changes,
14132         and re-run egtk-format-protos as required.
14133
14134 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
14135
14136         * gtk/gtkctree.c (resync_selection): 
14137         * gtk/gtkclist.c (resync_selection):
14138
14139         Return immediately if clist->drag_pos < 0. This is a workaround
14140         for the corrupt state that the clist gets into when a
14141         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
14142
14143         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
14144         
14145         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
14146         variable from recent commit.
14147
14148 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
14149
14150         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
14151
14152 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
14153
14154         * gtk/Makefile.am: prefix all autogenerated source that get build in
14155         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
14156         in builddir. since we subsequently cd into srcdir for autogeneration,
14157         the paths have to be stripped from the target file names, thusly we
14158         use $(@F) as target names now.
14159         put a comment about configure.in's --disable-rebuilds option,
14160         which can be used for non-writable source directories, for development
14161         setups though, srcdir has to be *writable*.
14162
14163 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
14164
14165         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
14166           Finish the job of allowing event to be NULL.
14167           (Fixes bug #4283, reported by Chris Blizzard)
14168
14169         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
14170           things so that the cursor appears on screen, properly
14171           take into account INNER_BORDER.
14172           (Fixes bug #4754, reported by Antonio Campos)
14173
14174 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
14175
14176         * gtk/gtknotebook.c (gtk_notebook_map): Don't
14177           show the tab_label unless it itself is visible.
14178
14179           gtk/gtknotebook.c (gtk_notebook_size_request):
14180           Do a better job of making sure that the visibility
14181           of the tab label corresponds to whether it should
14182           be mapped or not.
14183
14184 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
14185
14186         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
14187           Use the requisition, not the allocation, since the
14188           allocation has not necessarily been computed yet.
14189           (Pointed out by Eugene Osintsev)
14190
14191 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
14192
14193         * gtk/gtkstyle.c (gtk_style_new): Dont' set
14194           style/base[GTK_STATE_INSENSITIVE] both to
14195           gtk_default_insensitive_bg!
14196           (Bug #2187, reported by Jonathan Blandford)
14197
14198         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
14199           Add Alt_L, Alt_R to list of invalid accelerators.
14200           (Bug #3736, reported by Vlad Harchev)
14201
14202 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
14203
14204         * gtk/gtkfilesel.c (open_ref_dir): Fix several
14205         bugs which occured after an attempt to open 
14206         invalid home directory left cmpl_state->reference_dir == NULL.
14207
14208          - completion on files in home directory didn't work
14209          - completion on an empty string caused  segfault
14210
14211          (Bug #3678, reported by Steve Ratcliffe)
14212
14213         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
14214         cut and paste error that was causing scales to
14215         be incorrectly positioned.
14216         (Bug #2956,
14217          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
14218
14219 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
14220
14221         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
14222         when checking for dcgettext, if we've found we needed
14223         it for dgettext.
14224 +
14225 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
14226
14227         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
14228         queue_clear on NO_WINDOW widgets during a reparent,
14229         since at that point the window and widget heirarchies
14230         are out of sync. This stops crashing in some cases
14231         (the scrolled window reparent test, for instance), and
14232         _probably_ won't cause drawing errors.
14233
14234         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
14235         test do what it was supposed to do and be robust against
14236         window closings, etc. (Bug #2443)
14237
14238 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
14239
14240         * gtk/gtkentry.c: Fix return values on mouse events.
14241         (Bug #2686, Sky <seb_sky@yahoo.com>)
14242
14243         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
14244         (pointed out by George Lebl)
14245
14246         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
14247         (From Ettore Perazzoli  <ettore@helixcode.com>)
14248  
14249 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
14250
14251         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
14252         clicks between rows or outside calender area correctly.
14253         (Patch from Damon Chaplin)
14254
14255         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
14256         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
14257           Call destroy function when overwriting existing data. 
14258           (Pointed out by Damon Chaplin)
14259
14260 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
14261
14262         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
14263           which was causing problems on various systems with Xmu.
14264           This hasn't been needed for a very long time.
14265           (Fixes #1185 3167)
14266
14267 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
14268
14269         * gdk/gdki18n.h: Include <ctype.h> when defining
14270           gdk_isw* in terms of is* as a fallback.
14271           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
14272
14273 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
14274
14275         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
14276           realize the widget when it is size allocated!
14277           (old, old bug)
14278
14279         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
14280           Removed unused call to gdk_window_get_size() that
14281           showed up when the above was fixed.
14282
14283 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
14284
14285         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
14286           fix up widget->window when the widget is a
14287           NO_WINDOW container widget.
14288
14289 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
14290
14291         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
14292           to account for the fact that feof() does _not_ 
14293           return TRUE on errors, and thus avoid infinite loops
14294           when trying to use gdk_pixmap_create_from_xpm()
14295           on unreadable values.
14296
14297 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
14298
14299         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
14300
14301 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
14302
14303         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
14304           gdk_gc_set_dashes to take gint8 instead of gchar to
14305           make it clearer that it is _not_ a NULL terminated string.
14306
14307         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
14308           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
14309           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
14310           arguments.
14311
14312 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
14313
14314         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
14315         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
14316         background size relative to our allocation, guard against small
14317         allocations, we may have not yet been size allocated.
14318
14319 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
14320
14321         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
14322         not just version == 3. We implement all 3 + most of 4 - 
14323         (we don't support matching text/plain;charset=iso-8859-1
14324         to a dest that expects text/plain). We'll still advertise
14325         3 to be safe, but any client implementing version >= 3
14326         must interoperate with 3.
14327         
14328 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
14329
14330         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
14331         background and gc members, add a warning in gtk_tooltips_set_color()
14332         indicating that this function is deprecated.
14333
14334 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
14335
14336         * docs/gtkfaq.sgml: FAQ Update:
14337           - Minor cleanups (Emmanuel, me)
14338           - New questions:
14339                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
14340                 How can I retrieve the text from a GtkMenuItem? (timj)
14341                 How do I validate/limit/filter the input to a GtkEntry? (me)
14342                 Memory does not seem to be released when I free the list
14343                         nodes I've allocated (timj)
14344
14345 2000-03-07  Tor Lillqvist  <tml@iki.fi>
14346
14347         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
14348         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
14349         for which it is no use to call GetLastError onWin9x.
14350         (gdk_other_api_failed) New function, for general error
14351         reporting without calling GetLastError.
14352         (gdk_win32_api_failed) OTOH, this function always calls
14353         GetLastError. (gdk_win32_last_error_string) Remove this function,
14354         GLib has the equivalent now.
14355
14356         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
14357         call them with function name, file name and line number in the
14358         arguments.
14359
14360         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
14361         functions.
14362         
14363         * gtk/gtk.def: Add some missing entry points.
14364
14365         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
14366         gtk_paned_set_gutter_size, which don't exist any longer, as void.
14367         
14368         Fixes by Hans Breuer:
14369
14370         * gdk/makefile.msc: Update for debugging.
14371
14372         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
14373         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
14374         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
14375         in the dash_list.
14376
14377         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
14378         the x11 backend.
14379
14380         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
14381
14382         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
14383
14384 2000-03-04  Tor Lillqvist  <tml@iki.fi>
14385
14386         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
14387         just pixel value of background colour.
14388
14389         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
14390         containing code snippet previously duplicated in a couple of
14391         places.
14392         
14393         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
14394         gdk_colormap_color.
14395
14396         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
14397         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
14398         events for autorepeated Shift, Control and Alt keys. Use
14399         gdk_colormap_color.
14400
14401         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
14402         pointer is inside the window the cursor of which we are setting,
14403         call SetCursor immediately.
14404
14405         * gdk/win32/makefile.cygwin
14406         * gtk/makefile.cygwin: If we don't have the build number stamp
14407         file, use zero.
14408
14409         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
14410         gtk_paned_set_gutter_size as empty.
14411
14412         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
14413         
14414 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
14415
14416         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
14417           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
14418           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
14419           docs/gtk_tut.sgml docs/gtk.texi TODO:
14420
14421           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
14422
14423 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
14424
14425         * gtk/gtkcalendar.c: Implement num_marked_dates,
14426           and don't emit mutiple day_selected signals on
14427           month_prev.
14428
14429 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
14430
14431         * docs/make-todo (lineno): let title and logo be configurable so
14432         that GNOME can use this script too.
14433
14434         * TODO.xml: added logourl and a title
14435
14436 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
14437
14438         * TODO.xml: Added some UI items, and an explanatory
14439         comment at the top of the file.
14440
14441 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
14442
14443         * TODO.xml: some updates, added abunch of new entries.
14444         a note for those fiddeling with this file, when done
14445         with it, invoke:
14446         $ ./docs/make-todo TODO.xml >/dev/null
14447         and correct output errors before comitting changes.
14448
14449 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
14450
14451         * TODO.xml: Added XML-structured TODO file.
14452         * docs/make-todo: python script to turn TODO.xml into
14453           pretty XML output. 
14454
14455 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
14456
14457         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
14458         the function to let it draw the seven dots, instead of the old,
14459         much maligned, method.
14460         (draw_dot): New function to draw a dot.
14461
14462         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
14463         to draw the handle inside the border width as opposed to outside.
14464         Use paint function instead of gdk_draw_point.
14465
14466         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
14467         to draw the handle inside the border width as opposed to outside.
14468         Use paint function instead of gdk_draw_point.
14469
14470         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
14471         Change indenting to be more GTK like.
14472
14473 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
14474
14475         * docs/gtk_tut.sgml: New section on GtkCalendar
14476         * examples/calendar: Update example code
14477
14478 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
14479
14480         * docs/gtkfaq.sgml: FAQ Update
14481
14482 2000-02-19  Anders Carlsson  <andersca@gnu.org>
14483
14484         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
14485         to prevent the scroll event to be propagated upwards.
14486
14487 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
14488
14489         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
14490         OwnerGrabButtonMask from button entries for
14491         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
14492
14493         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
14494         to the event mask (which will result in button/press release
14495         being added to the event mask on Unix) so scrolling works
14496         for layouts in scroll windows.
14497
14498         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
14499
14500         Patch from Anders Carlsson  <andersca@gnu.org> to add
14501         a scroll event.
14502
14503         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
14504         scrolling to the "Test Scrolling" part of testgtk.
14505  
14506         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
14507  
14508         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
14509         it against GDK_SCROLL.
14510  
14511         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
14512         way of mouse wheel scrolling.
14513  
14514         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
14515  
14516         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
14517  
14518         * gtk/gtkmain.c: Removed previous mouse wheel hack.
14519  
14520         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
14521         gdk_event_mask_table.
14522  
14523         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
14524         GdkEventScroll handler.
14525  
14526         * gdk/gdkevents.h: Added GdkEventScroll structure.
14527  
14528 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
14529
14530         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
14531         and Anders Carlsson to change the Paned widgets so that they
14532         can be dragged from anywhere along the length. Also change
14533         the way that this is drawn to make this apparent.
14534
14535         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
14536         from George Lebl to check that option_menu->menu is present
14537         before getting history.
14538
14539 2000-02-14  Tor Lillqvist  <tml@iki.fi>
14540
14541         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
14542         before the assertion for non-NULL segment list.
14543
14544         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
14545         Seems that pattern brushes *must* be 8x8 pixels! At least on my
14546         machine, but it might be display driver dependent. Sigh, so make
14547         sure the stipple is that size. Does Windows suck or what?
14548
14549         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
14550         places.
14551
14552 2000-02-13  Havoc Pennington  <hp@pobox.com>
14553
14554         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
14555         refcount to 1
14556         (gdk_cursor_new): init refcount to 1
14557
14558         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
14559
14560 2000-02-13  Tor Lillqvist  <tml@iki.fi>
14561
14562         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
14563         so that we don't have to do unnecessary settings to the HDC.
14564
14565         * gdk/win32/gdkdrawable-win32.c
14566         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
14567         gdk_gc_predraw.
14568
14569         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
14570         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
14571         GDI paths, call WidenPath to get the outline of the stroken path,
14572         and then fill the outline (with the brush that was built from the
14573         stipple).
14574
14575         * gdk/win32/gdkgc-win32.c: Factor out common code from
14576         _gdk_win32_gc_new and gdk_win32_gc_set_values into
14577         gdk_win32_gc_values_to_win32values. Use correct colour for
14578         SetBkColor() (Until now the code actually used a random colour in
14579         the call to SetBkColor()... but that didn't show up as not many
14580         GDI APIs use the background colour. Pattern (opaque stippled)
14581         brushes do.)
14582
14583         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
14584         gdk_win32_api_failed): New functions for error logging.
14585
14586         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
14587         WIN32_API_FAILED to call them, passing function or file name and
14588         line number.
14589
14590         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
14591
14592         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
14593         GdkColor for foreground and background in GdkGCWin32Data.
14594
14595         * gdk/makefile.cygwin: Link in the resource object separately.
14596
14597         * gdk/win32/rc/gdk.rc
14598         * gtk/gtk.rc (New file)
14599         * gdk/win32/makefile.cygwin
14600         * gtk/makefile.cygwin: Update build number in DLLs automatically,
14601         as in GLib.
14602
14603 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
14604
14605         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
14606         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
14607         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
14608         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
14609         parameters given and cursor->ref_count. coding style fixups.
14610
14611         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
14612         not GtkWidget.
14613         
14614         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
14615         fix up widget macros and add _GET_CLASS() variant.
14616         
14617         * gtk/*.c: some GtkType fixups.
14618
14619 2000-02-09  Tor Lillqvist  <tml@iki.fi>
14620
14621         * gdk/win32/gdkproperty-win32.c
14622         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
14623         were reversed.
14624
14625 2000-02-04  Tor Lillqvist  <tml@iki.fi>
14626
14627         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
14628         g_filename_to_utf8 to convert the font names Windows gives us from
14629         whatever is the default codepage to UTF-8.
14630         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
14631         in the other direction.
14632
14633         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
14634         error in debugging output.
14635
14636 2000-02-02  Tor Lillqvist  <tml@iki.fi>
14637
14638         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
14639         and height parameters to gdk_window_clear_area(). Not minus one.
14640
14641 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
14642
14643         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
14644         checks if the widget passed to gtk_drag_get_data() was not the
14645         dest widget.
14646
14647 2000-02-01  Tor Lillqvist  <tml@iki.fi>
14648
14649         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
14650         g_filename_from_utf8 functions (which were added a moment ago to
14651         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
14652         size buffers.
14653
14654         gtk_file_selection_get_filename returns the filename in the C
14655         runtime encoding. It calls g_filename_from_utf8, but copies the
14656         returned string to a static buffer, which is returned. I think
14657         this is better than returning the result from g_filename_from_utf8
14658         directly, which would mean all apps that use it would have to free
14659         the return value. Or should this function care about this issue at
14660         all? Maybe a new function with clearly defined semantics.
14661
14662         * gtk/gtkfilesel.h: Add comment about
14663         gtk_file_selection_get_filename returning the filename in the C
14664         runtime's encoding.
14665
14666         * README.win32
14667         * gdk/gdk.def
14668         * gdk/makefile.{cygwin,msc}
14669         * gtk/gtk.def: Updates.
14670
14671         * gdk/gdkcursor-win32.c: Initialise refcount.
14672
14673 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
14674
14675         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
14676
14677 2000-01-30  Havoc Pennington  <hp@pobox.com>
14678
14679         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
14680         destroy
14681
14682         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
14683
14684         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
14685         implemented in platform-specific code
14686
14687         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
14688
14689         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
14690         underscore in front
14691
14692         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
14693         put an underscore in front
14694
14695         * gdk/gdkcursor.c: new file, implements
14696         gdk_cursor_ref/gdk_cursor_unref
14697
14698         * gdk/gdkcursor.h: Refcount GdkCursor
14699
14700         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
14701
14702 2000-01-29  Tor Lillqvist  <tml@iki.fi>
14703
14704         * gdk/gdkwindow.h
14705         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
14706
14707 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
14708
14709         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
14710         structures to properly inherit from GtkWidget not GtkBin.
14711
14712 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
14713
14714         * gtk+.spec.in: Added lib/gtk+/include/* to %files
14715         (bug #5178 - Peter Wainright)
14716         
14717         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
14718         so that it will be installed.
14719         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
14720
14721 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
14722
14723         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
14724         for the GtkStyleClass vtable const.
14725
14726         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
14727         take a const string argument like GtkTranslateFunc. This will
14728         require changes in use code.
14729
14730 2000-01-19  Tor Lillqvist  <tml@iki.fi>
14731
14732         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
14733         semantics (to mimic the X11 backend, which just calls XClearArea)
14734         is to check for zero width (and height), and in that case use the
14735         window's width minus x (height minus y). This fixes for instance
14736         some redraw problems with gtkclist, which were easily noticeable
14737         in the gtk file selection widget.
14738
14739         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
14740         windows.
14741
14742 2000-01-13  Tor Lillqvist  <tml@iki.fi>
14743
14744         * configure.in
14745         * gdk/Makefile.am
14746         * gdk/x11/Makefile.am
14747         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
14748         (bug #5177).
14749         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
14750         out later.
14751
14752 2000-01-09  Tor Lillqvist  <tml@iki.fi>
14753
14754         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
14755         WM_MOVE for iconified or invisible windows. This fixes various
14756         problems when minimising windows. Thanks to Bernd Herd.
14757
14758 2000-01-05  Tor Lillqvist  <tml@iki.fi>
14759
14760         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
14761         backend's draw_lines method, not draw_points.
14762
14763 2000-01-02  Tor Lillqvist  <tml@iki.fi>
14764
14765         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
14766         before Owen's reorganisation: Don't have queued_events and
14767         queued_tail statics in this file, but use gdk_queued_events and
14768         gdk_queued_tail. This makes exposure event compression work again.
14769
14770         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
14771         seem to be needed?
14772
14773 1999-12-30  Tor Lillqvist  <tml@iki.fi>
14774
14775         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
14776         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
14777         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
14778         doesn't do anything.
14779
14780         * gdk/gdk.def: Add gdk_xid_table_insert.
14781
14782         * gdk/win32/gdkprivate-win32.h
14783         * gdk/win32/gdkevents-win32.c
14784         * gdk/win32/gdkinput-win32.c
14785         
14786         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
14787         extension_events field in the GdkWindowWin32Data struct. Use only
14788         the extension_events field in GdkWindowPrivate. Previously one was
14789         set, and the other one tested, which broke tablet
14790         functionality. Thanks to Keishi Suenaga for pointing this out.
14791
14792 1999-12-18  Tor Lillqvist  <tml@iki.fi>
14793
14794         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
14795         When handling a single character (text length == 1), don't handle
14796         it as if it was UTF-8.
14797
14798 1999-12-11  Tor Lillqvist  <tml@iki.fi>
14799
14800         * Makefile.am: Distribute README.win32.
14801         
14802         * gdk/Makefile.am
14803         * gdk/win32/Makefile.am: Distribute Win32 files.
14804
14805         * gdk/makefile.msc: New file.
14806
14807         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
14808         after label).
14809
14810         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
14811         gdk_error_code as GDKVAR, as they are referred outside GDK.
14812
14813         * gdk/win32/makefile.msc: Update.
14814
14815         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
14816         tweaks. Check only if at least one of those Unicode subrange bits
14817         we care for is set. If no code page bits are set, guess (wildly)
14818         based on the charset.
14819
14820         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
14821
14822         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
14823         non-NULL.
14824
14825         * gtk/gtkdnd.c
14826         * gtk/gtklayout.c
14827         * gtk/gtkplug.c
14828         * gtk/gtkselection.c
14829         * gtk/gtksocket.c
14830         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
14831         appropriate. There must be a cleaner way to handle this?
14832
14833         * gtk/gtkrc.c: Must include windows.h on Win32.
14834
14835         * gtk/testgtk.c: No need to include gdkx.h.
14836
14837         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
14838
14839 1999-12-07  Tor Lillqvist  <tml@iki.fi>
14840
14841         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
14842         the rbearing is set to the same as the width, but this should be
14843         fixed.
14844
14845 1999-12-06  Tor Lillqvist  <tml@iki.fi>
14846
14847         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
14848         function. If Windows doesn't tell us what Unicode subranges a font
14849         covers, guesstimate based on the codepages it covers. This will
14850         hopefully help those Windows versions or fonts that don't give us
14851         any useful Unicode subrange information with GetTextCharsetInfo.
14852         Call this function in gdk_font_load_internal.
14853
14854         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
14855         minor changes.
14856
14857 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
14858
14859         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
14860         New function, long needed.
14861
14862 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
14863
14864         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
14865         only_if_exists argument of gdk_atom_intern to
14866         bool.
14867
14868 1999-11-25  Tor Lillqvist  <tml@iki.fi>
14869
14870         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
14871         Fix two copy&paste errors.
14872
14873         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
14874         win32 has changed.
14875
14876         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
14877         GdkWin32SingleFont struct.
14878
14879         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
14880         subranges of loaded fonts. Clear font signature first, in case
14881         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
14882         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
14883
14884         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
14885         Unoffset clip region.
14886
14887 1999-11-23  Tor Lillqvist  <tml@iki.fi>
14888
14889         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
14890         event->any.window before calling filter functions.
14891
14892 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
14893
14894         * gtk/gtkgamma.h: Adapt cast macros to standard.
14895
14896 [ Merges from 1.2 ]
14897
14898 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
14899
14900         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
14901         If translation does not include a '/', use entire
14902         translation instead of crashing.
14903
14904 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
14905
14906         * docs/gtk_tut.sgml:
14907         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
14908
14909 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
14910
14911         * gtk/gtkselection.c (gtk_target_list_remove): Use
14912         g_list_remove_link, not g_list_remove.
14913
14914         [ From Geert Bevin <gbevin@thunderstorms.org> ]
14915         
14916 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
14917
14918         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
14919         statement upon unselection (how the heck did that slip in?).
14920
14921 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
14922
14923         * gtk/gtktext.c (gtk_text_freeze): 
14924         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
14925         in frozen state (and aparently crashes). patch provided by Anders
14926         Melchiorsen <and@kampsax.dtu.dk>.
14927
14928 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
14929
14930         * fix insensitive default/focus widget activation,
14931         reported by Matt Goodall <mgg@isotek.co.uk>.
14932
14933         * gtk/gtkwindow.c (gtk_window_key_press_event): 
14934         (gtk_window_activate_default):
14935         (gtk_window_activate_focus):
14936         return handled=FALSE for actiavtion of insensitive default
14937         widgets. return handled=TRUE for activation of insensitive
14938         focus widgets. don't activate in either case.
14939
14940 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
14941
14942         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
14943         and $glib_cflags to match library order and in the
14944         theory that an old version of GLib is more likely to
14945         be in the include directory for X then vice-versa.
14946         (Bug #2776)
14947
14948 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
14949
14950         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
14951         to determine the locale for fontsets, not LC_MESSAGES;
14952         the user may want English messages with a handling
14953         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
14954         will still be broken) (Bug #2891)
14955
14956 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
14957
14958         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
14959
14960 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
14961
14962         * gtk/gtkrc.ko: Changed the Korean default fontset.
14963
14964 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
14965
14966         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
14967         where when scrolling to the left or top double exposes
14968         were done, causing major slowdowns.
14969
14970 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
14971
14972         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
14973         names to lowercase and alphanumeric, before looking
14974         them up.
14975
14976         * gtk/Makefile.am: Install codeset variant gtkrc files
14977         with normalized names.
14978
14979 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
14980
14981         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
14982         popup menus when the menu is already visible, but its parent
14983         is still hidden, (happens after tornoff window got hidden).
14984
14985 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
14986
14987         * gtk/Makefile.am (install-data-local): Fix
14988         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
14989         deleted, causing error messages on install.
14990
14991 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
14992
14993         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
14994         the handle as well, since we now sometimes ignore
14995         exposes on the handle while resizing.
14996
14997 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
14998
14999         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
15000         extra g_free introduced in one of the last one or two 
15001         commits.
15002
15003 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
15004
15005         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
15006         consistent, put each style that a gtkrc.* file creates
15007         in a unique namespace, remove old files before installing.
15008
15009 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
15010
15011         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
15012         gtk_rc_init is called multiple times. (Yes, people who
15013         do that have bugs in their code.)
15014
15015 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
15016
15017         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
15018         Remove it since it's generated by the Makefile anyway
15019
15020 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
15021
15022         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
15023         device->info.axes for core pointer.
15024
15025 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
15026
15027         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
15028         idle_id, to deal with obsolete, broken C libraries.
15029
15030 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
15031
15032         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
15033         allocation->x/y twice!
15034
15035         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
15036         consistent with gtk_vscale_pos_trough().
15037
15038 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
15039
15040         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
15041         be queueing a resize on a toplevel container between
15042         the time we show it and when we map it. So, we need
15043         to test GTK_WIDGET_VISIBLE() for toplevels, and only
15044         use GTK_WIDGET_DRAWABLE() for child windows.
15045
15046 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
15047
15048         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
15049         (fixes bug #2144)
15050
15051 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
15052
15053         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
15054         container DRAWABLE (instead of VISIBLE), so we don't queue
15055         resizes on non-toplevel containers.
15056
15057 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
15058
15059         * gtk/gtkselection.[ch]: Make the data argument
15060         const guchar *.
15061
15062 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
15063
15064         * gtk/gtkwindow.c: Try to behave sensibly if 
15065         the focus widget is the window itself. (Should
15066         we allow this at all?)
15067
15068 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
15069
15070         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
15071         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
15072         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
15073         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
15074         in prototypes and implementations consistent (Tomas Ogren).
15075
15076         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
15077         before the widget is unparented (reported by damon).
15078
15079         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
15080         since we provide unsigned data anyways.
15081
15082 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
15083
15084         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
15085         the call to gtk_tooltips_layout_text() until later.
15086
15087         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
15088         Call gtk_widget_ensure_style() before using the style.
15089
15090 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
15091
15092         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
15093         for old widgets that don't propagate draws to all
15094         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
15095
15096 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
15097
15098         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
15099         for a redraw but just the widget that requested the resize.
15100
15101 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
15102
15103         * gtk/gtkcontainer.c: added new widget level method
15104         gtk_container_set_reallocate_redraws() and a GtkContainer flag
15105         reallocate_redraws : 1 to reflect the setting, exported this through
15106         the argument system as a boolean ::reallocate_redraws.
15107
15108         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
15109         on the widget because the allocation changes, do so as well for
15110         widget->parent if the parent has reallocate_redraws set to TRUE.
15111         with that containers requesting reallocation redraws get automatically
15112         redrawn if their children changed allocation (this unfortunately
15113         affects also other children that didn't change allocation, but we
15114         cannot work around that before 1.3).
15115
15116 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
15117
15118         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
15119         _and_ height are >0 (not _or_).
15120
15121         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
15122         instead of gtk_container_queue_resize(), which is a core gtk internal
15123         function (must have been on crack when i queued that).
15124
15125         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
15126         we can check more reliably if we want to discard expose events.
15127         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
15128         flag.
15129         
15130         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
15131         we simply trust these events. for deciding whether to discard exposes,
15132         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
15133         
15134 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
15135
15136         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
15137         queues of areas that are completely off screen.
15138
15139         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
15140         logic for handleboxes.
15141
15142         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
15143         check on width/height.
15144
15145 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
15146
15147         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
15148         we are fine with using $@ the way we do (if we actually encounter
15149         brokeness with $@ in VPATH builds because of additional path prefixes,
15150         we need to use $(@F) actually).
15151
15152 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
15153
15154         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
15155         short lived bugs, that would allow language bindings to do surgeries
15156         to our guts.
15157
15158 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
15159
15160         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
15161         where comparison was being done against an uninitialized
15162         value causing intermittant results depending on
15163         compiler flags. Also make it clearer that we aren't
15164         ever initializing the child as 0x0 (though this will
15165         be caught in gtk_widget_size_allocate())
15166
15167 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
15168
15169         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
15170         gtk_window_unset_transient_for() call after we do checks
15171         involving the old transient parent.
15172         [ From Lance Capser <lmc@cyberhighway.net> ]
15173
15174 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
15175
15176         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
15177         an empty file.
15178
15179 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
15180
15181         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
15182         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
15183
15184 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
15185
15186         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
15187         `$@' is valid only in the build dir, not after we've done 
15188         `cd $srcdir'.  Also use `test -f' instead of less portable
15189         `test -e'.
15190
15191 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
15192
15193         * gtk/gtktext.c (correct_cache_insert): Rewrite
15194          for simplicity, and hopefully correctness.
15195          (Fixes bug #1322, which was a segfault when
15196           on some insertions with the properties around
15197           the insertion set up just wrong.)
15198
15199         * gtk/gtktext.c (gtk_text_adjustment): When we receive
15200          a "changed" signal, clamp the new value to the adjustment
15201          bounds to avoid segfaulting if someone tries to change
15202          the adjustment to a bogus value. (Bug #1795)
15203
15204 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
15205
15206         * gtk/gtkmain.c: Ignore unexpected destroy notifies
15207         for children, for toplevel windows handle them
15208         like delete_event.
15209
15210         * gtk/gtkplug.c: Add an unrealize handler so that
15211         we unref plug->socket_window when we are done
15212         with it.
15213
15214 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
15215
15216         * gtk/gtktext.c (clear_area): Fix stupid signedness
15217          problem that was causing background to sometimes
15218          be misaligned.
15219
15220 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
15221
15222         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
15223         
15224         * gtk/gtkmenu.c (gtk_menu_position): Make
15225          sure we never position menus with negative x, y,
15226          since gtk_widget_set_uposition() can't handle that.
15227
15228         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
15229          Modify the positioning code a bit so that we always
15230          put the top-left corner onscreen. (This is for
15231          UI reasons, gtk_menu_position() now takes care of
15232          gtk_widet_set_uposition() brokeness.)
15233
15234 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
15235
15236         * gtk/Makefile.am: fixed up things for -jx, x > 1.
15237
15238 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
15239
15240         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
15241           RC style that is passed in. The lack of the ref
15242           before was a bug. If people worked around this
15243           bug, this will introduce a slight memory leak
15244           in their code. The code should typically look like:
15245
15246             rc_style = gtk_rc_style_new ();
15247             [...]
15248             gtk_widget_modify_style (widget, rc_style);
15249             gtk_rc_style_unref (rc_style);
15250
15251         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
15252           the style if it was already set.
15253
15254         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
15255           style if it was set before.
15256
15257 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
15258
15259         * gtk/testgtk.c (main): Add a check to see if we
15260           are being run from the correct directory and
15261           to quit nicely if we are not.
15262
15263         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
15264           static.
15265
15266 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
15267
15268         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
15269
15270         * gtk/gtkwindow.c:
15271         queue resizes unconditionally (gtk_widget_queue_resize will figure
15272         what to do if the window is not realized).
15273         (gtk_window_move_resize): only recenter the window
15274         for GTK_WIN_POS_CENTER_ALWAYS.
15275         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
15276         the same way as GTK_WIN_POS_CENTER.
15277
15278 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
15279
15280         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
15281         with (!(info->last_flags & GDK_HINT_POS)) instead of
15282         (!info->last_flags & GDK_HINT_POS).
15283
15284         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
15285         new_height unconditionally, because we use these values even if
15286         !default_size_changed && !hints_changed.
15287         comented the (default_size_changed || hints_changed) case with
15288         respect to resize rejects from the window manager.
15289
15290         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
15291         in the zvt condition hack, since this includes the window hints, set
15292         the hints after the handling_resize case.
15293
15294         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
15295         window is initially shown with to the geometry.
15296
15297 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
15298
15299         * gtk/gtkwindow.c (gtk_window_move_resize):
15300         s/size_changed/default_size_changed/g so i know what's
15301         really going on (frying brain on smaller flame now).
15302
15303 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
15304
15305         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
15306         we have size_changed upon handling_resize. this is a gross
15307         workaround for the broken zvt widget and should be removed in
15308         1.3 again (search for FIXME).
15309         Owen provided an accurate comment for this:
15310
15311         /* We could be here for two reasons
15312          *  1) We coincidentally got a resize while handling
15313          *     another resize.
15314          *  2) Our computation of size_changed was completely
15315          *     screwed up, probably because one of our children
15316          *     is broken. It's probably a zvt widget.
15317          *
15318          * For 1), we could just go ahead and ask for the
15319          * new size right now, but doing that for 2)
15320          * might well be fighting the user (and can even
15321          * trigger a loop). Since we really don't want to
15322          * do that, we requeue a resize in hopes that
15323          * by the time it gets handled, the child has seen
15324          * the light and is willing to go along with the
15325          * new size. (this happens for the zvt widget, since
15326          * the size_allocate() above will have stored the
15327          * requisition corresponding to the new size in the
15328          * zvt widget)
15329          *
15330          * This doesn't buy us anything for 1), but it shouldn't
15331          * hurt us too badly, since it is what would have
15332          * happened if we had gotten the configure event before
15333          * the new size had been set.
15334          */
15335
15336 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
15337
15338         * gtk/gtkrc.c: deal properly with the fact that RC
15339           style lists may include rc styles more than once.
15340
15341         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
15342           unused static function.
15343
15344         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
15345           stack of directories of RC files currently being
15346           parsed and implicitely add them to pixmap path.
15347           
15348           This fixes a bug where the directory would get
15349           appended then overwritten by pixmap_path declarations.
15350
15351           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
15352
15353         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
15354           theme's exit function. (Patch from Peter Wainwright,
15355           bug #1454)
15356
15357         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
15358           Add a destroy() handler to take care of removing
15359           group for menu item. (Fixes bug #1197)
15360
15361         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
15362           in warning message.
15363
15364 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
15365
15366         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
15367         roundtrip to figure window's width and height, since we know that
15368         anyways from widget->allocation.
15369
15370 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
15371
15372         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
15373           the hints after we request the new size.
15374
15375 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
15376
15377         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
15378           GTK_WIDGET_REALIZED() assertion - we can compute the
15379           hints before we are realized.
15380
15381         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
15382           hint changing so that we have a value of hints_changed
15383           when we decide whether to constrain the window size.
15384
15385         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
15386
15387         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
15388         change back to G_MAXINT.
15389
15390 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
15391
15392         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
15393         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
15394         contain uncluttered values.
15395         (gtk_window_compute_hints): simply assert that window is realized
15396         and that geometry_info is valid, since we rely on this anyways.
15397         (gtk_window_constrain_size): major cleanups to the code.
15398         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
15399         for the base size, instead of the minimums. use 32767 as max width
15400         and height (like in gtkwindow.c) instead of G_MAXINT.
15401
15402 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
15403
15404         * cleaned up the GtkContainer.need_resize flag handling mess, we
15405         only need to force resize requests when we were prematurely
15406         realized, or our widget tree was modified when we were temporarily
15407         hidden. handling these cases directly upon showing the window (i.e.
15408         while the GdkWindow is still unmapped) avoids the need to wait for
15409         a configure event response and therefore makes the GUI more snappier
15410         and avoids blank windows during the roundtrip.
15411
15412         * gtk/gtkwidget.c:
15413         (gtk_widget_hide): 
15414         (gtk_widget_show): don't queue resizes on toplevels, they know how
15415         to deal with matters.
15416
15417         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
15418         flag directly for not visible resize containers and spare us unecessary
15419         signal emissions.
15420
15421         * gtk/gtkwindow.c:
15422         (gtk_window_realize): if we need to enforce premature size allocation,
15423         queue a container resize so we are correctly resized later on.
15424         (gtk_window_init):
15425         (gtk_window_size_request):
15426         don't freak around with the ->need_resize flag,
15427         gtk_container_queue_resize() will care about that.
15428         (gtk_window_show):
15429         handle initial resizing issues here, we can handle matters better in
15430         this place, especially since we know that our GdkWindow is still
15431         unmapped.
15432         (gtk_window_move_resize):
15433         don't care about ->need_resize at all.
15434         handle size changes properly that occoured while we waited for a
15435         configure event.
15436
15437 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
15438
15439         * gtk/gtkwidget.c (gtk_widget_set_uposition):
15440         * gtk/gtkwindow.[hc] (gtk_window_reposition):
15441         Move the hint setting code from gtk_widget_set_uposition
15442         to here; set the hints so that we respect any previously
15443         set geometry hints.
15444
15445         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
15446         change the window hints here or move the window here,
15447         let that happen in gtk_window_move_resize().
15448
15449 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
15450
15451         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
15452         to already queued resizes (and therefore redraws) on a widget, check
15453         its anchestry as well.
15454
15455         * gtk/gtkcontainer.c:
15456         (gtk_container_queue_resize): clear resize widgets for resize
15457         containers before aborting prematurely. this is especially important
15458         for toplevels which may need imemdiate processing or their resize
15459         handler to be queued.
15460         (gtk_container_dequeue_resize_handler): added new internal function for
15461         gtkwindow.c.
15462
15463         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
15464         configure event, take possible changes in window position into account
15465         as well.
15466         if we request a new window size, queue up a resize handler that will
15467         last until the configure event response arrives.
15468         combined the ->need_resize case (initial show) with the general size
15469         (hints) changed case and added even more comments.
15470         if !auto_shrink, only revert to the old allocation if the new size
15471         is smaller than the current allocation.
15472
15473 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
15474
15475         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
15476                            gtk_window_set_geometry_hints
15477                            gtk_window_set_default_size):
15478         When hints are set, queue a resize so that the hints will
15479         be eventually reset on the toplevel.
15480
15481         * gtk/gtkwindow.c (gtk_window_show): Use
15482         gtk_window_compute_default_size(). Clear the need_resize flag
15483         on the initail map so that we don't unnecessarily trigger the
15484         resize code.
15485
15486         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
15487         into separate functions. Compare the hints we are setting
15488         with what we set last time so that we can accurately
15489         tell when we need to reset the hints.
15490
15491         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
15492         function to figure out the size from requisition
15493         and default_size.
15494
15495         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
15496         from fvwm to constrain a size to the geometry hints.
15497
15498         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
15499         to compare two sets of geometry hints.
15500
15501         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
15502         from gtk_window_set_hints(), just compute the hints,
15503         don't set them.
15504
15505         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
15506         code from gtk_window_move_resize() to separate function,
15507         rationalize a bit.
15508
15509 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
15510
15511         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
15512         structure into a new private structure.
15513
15514         * gtkrc.c: Split GtkRcStyle into public/private.
15515         In the private part, add a list of pointers to the
15516         RcStyle lists this RcStyle participates in.
15517
15518         * gtkrc.c: When a RcStyle is free, remove all
15519         lists referencing it from the 
15520         realized_style_ht hash, and free those lists.
15521         
15522         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
15523         gtk_rc_init(), since that adds the default styles
15524         to the list of parsed RC files again.
15525
15526         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
15527         
15528 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
15529
15530         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
15531         checks that ensure that a widget's allocation is at least 1 in width
15532         and height. (GNOME note: this doesn't affect old panel code anymore,
15533         because GtkSocket will request width and height of at least 1 since
15534         Fri Jul 23).
15535
15536         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
15537         allocated yet (happens if the user realizes the window prematurely),
15538         size request and allocate it.
15539         (gtk_window_size_allocate): guard against guint underflows.
15540
15541 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
15542
15543         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
15544         in gtk_built_sources, so gtk.defs gets built prior to all other
15545         sources.
15546
15547 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
15548
15549         * gtk/Makefile.am:
15550         invoke indent on gtkmarshal.*. 
15551         rewrote source generation rules, use COPYING as oldest source tag for
15552         a piggyback rule to generate all sources from (don't touch it ;).
15553         major cleanups, strip spaces on build rules for GNU Make.
15554
15555         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
15556         source and target files from commandline arguments. don't invoke indent.
15557
15558 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
15559
15560         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
15561         notebook after switch to avoid drawing problems.
15562         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
15563         
15564         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
15565         show them instead. 
15566         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
15567
15568 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
15569
15570         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
15571         notebook after switch to avoid drawing problems.
15572         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
15573         
15574         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
15575         show them instead. 
15576         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
15577
15578 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
15579
15580         * gtk/gtkwindow.c:
15581         we use window->need_resize from configure_event now, to indicate that
15582         the gtkwindow should keep its allocation (e.g. because the user resized
15583         the window through window manager handles). resize_count is now reliably
15584         used to figure whether we got the allocation we requested from the
15585         window manager.
15586         configure events get queued as resizes now, the real stuff (size
15587         computation and allocation) now only goes on in gtk_window_move_resize().
15588         GtkWindow's requisition now contains its *real* requisition (like all
15589         other widgets), *not* taking usize into account.
15590         geometry_info->last_{width|height} is now updated from set_hints() only
15591         so it always contains the last hints we set for the window manager.
15592         made some event handlers return TRUE instead of FALSE.
15593         the overall code should be much more straight forward now, and the
15594         significant code portions are accompanied by comments now.
15595         (gtk_window_set_hints):
15596         removed requisition argument and made it
15597         fetch the requisition through gtk_widget_get_child_requisition.
15598         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
15599         does that now.
15600         (gtk_window_show):
15601         ensure that the widget is realized before calling 
15602         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
15603         ensure that we got properly size requested and allocated before
15604         realization.
15605         (gtk_window_configure_event):
15606         ignore plain window moves, or reallocate the widget tree through the
15607         resize queue otherwise.
15608         (gtk_window_move_resize):
15609         mostly rewrote this function to figure window manager hints more
15610         reliably, coalesce window moves and resizes to reduce configure events
15611         and do actuall size allocations.
15612
15613 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
15614
15615         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
15616         that have a resize pending, because a redraw is already queued for them.
15617
15618         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
15619         hack to clear resize_widgets.
15620
15621         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
15622         for resize containers prior to size allocation. (this is also a bit
15623         ugly, but avoids side effects for stopped emissions and is thus more
15624         reliable).
15625         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
15626
15627         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
15628         function from gtk_tooltips_expose, as we connect to ::expose_event
15629         *and* ::draw now.
15630
15631 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
15632
15633         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
15634         checks.
15635         (gtk_target_list_unref): Likewise.
15636
15637         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
15638
15639 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
15640
15641         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
15642         guard against division by zero. (Fixes bug #1339)
15643
15644 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
15645
15646         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
15647         Prevent the trivial leak of information of allowing
15648         word motion when the entry is not visible.
15649
15650 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
15651
15652         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
15653         modality to error dialog as well as confirmation dialogs.
15654         (Bug #1803, reported by Rosanna Wing Sze Yuen)
15655
15656 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
15657
15658         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
15659         tree->view_lines.
15660         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
15661
15662         * gtk/Makefile.am (install-data-local): Solaris apparently
15663         has various troubles with ln -f; use rm first instead.
15664         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
15665
15666 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
15667
15668         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
15669         use `cp' followed by `rm' (the `rm' was already there).
15670
15671 July 30, 1999 Elliot Lee <sopwith@redhat.com>
15672         
15673         * configure.in: Fix autoconf warnings about cross compilation by
15674         trying to provide sane defaults for AC_TRY_RUN.
15675         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
15676         put them into $(srcdir) when generated. Also add a dependency of
15677         gtksignal.h on gtkmarshal.h for -j builds. 
15678         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
15679
15680 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
15681
15682         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
15683         GDK_THREADS_{LEAVE,ENTER} pair.
15684         (From Paul Fisher <pnfisher@redhat.com>)
15685
15686 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
15687
15688         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
15689         width and height are always >0 (owen).
15690
15691 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
15692
15693         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
15694         change that assured that a widget's allocated with and height are
15695         always >1, since this breaks *buggy* panel code. unfortunately this
15696         back-breaks the gimp's color selector.
15697
15698         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
15699         allocation is always >0 in width and height, before sending the
15700         configure event; this is a *gross* hack to get the gimp back to work.
15701         
15702         * marked both cases with TODO-1.3
15703
15704 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
15705
15706         * gtk/gtktext.c: Don't display wrap indicators when
15707         text is not editable and word wrap is on.
15708
15709 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
15710
15711         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
15712         option menus here as they are not derived from menu shell, assure that
15713         the option menu has a menu we can add items to.
15714
15715 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
15716
15717         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
15718         width/height to (gint) before calculations and check against < 0 to
15719         avoid guint wraparounds.
15720
15721 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
15722
15723         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
15724         width and height is never zero. sanity check both dimensions against
15725         32767 and issue a warning if the allocation is greater than that.
15726
15727 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
15728
15729         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
15730         to g_main_pending() as well.
15731
15732 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
15733
15734         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
15735         call to g_main_iteration() - since that will regrab
15736         GTK+ lock to process events.
15737
15738 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
15739
15740         * gtk/gtkwindow.c
15741         - Regularize with the rest of GTK+ by making widget->requisition
15742           not reflect the set_usize()
15743         - Always recompute geometry hints, then check if they
15744           changed before sending them to the X server. The
15745           previous checks for changes would fail in a number
15746           of circumstances. 
15747
15748 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
15749
15750         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
15751
15752 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
15753
15754         * gtk/gtkdnd.c:
15755         - Code cleanups
15756         - Instantaneously update on modifier key presses
15757         - Allow cancellation of the drag with Escape.
15758
15759 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
15760
15761         * gtk/testgtk.c (create_handle_box): Set the policy
15762         to auto_shrink - otherwise the appearance is rather
15763         strange when flipping between horizontal and vertical.
15764
15765 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
15766
15767         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
15768         (gtk_window_set_default_size): don't change a value if it's < 0.
15769         queue a resize.
15770
15771 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
15772
15773         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
15774
15775 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
15776
15777         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
15778         add an extra "/" when concating "/" + filename.
15779         (From Matt Grossman <mattg@oz.net>)
15780
15781 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
15782
15783         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
15784         for fg_gc if we set it for drawing pixmap.
15785
15786 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
15787
15788         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
15789         
15790         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
15791         already set, call old engine's destroy function and
15792         unref the old engine.
15793
15794 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
15795
15796         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
15797
15798 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
15799
15800         * gtk/gtkaccelgroup.h: mark certain functions as internal.
15801
15802 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
15803
15804         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
15805         expand behaviour changed.
15806
15807         * gtk/gtklabel.c (gtk_label_set_pattern):
15808         (gtk_label_set_justify):
15809         (gtk_label_set_line_wrap):
15810         don't bother invoking queue_clear, the reallocation does
15811         that for us, always free_words so the upcoming resize will
15812         relayout the label's contents.
15813
15814 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
15815
15816         * applied argument implementation patches from Elena Devdariani
15817         <elena@cogent.ca>.
15818
15819         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
15820         ::space_style, ::relief
15821         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
15822         * gtk/gtkpreview.c: ::expand
15823         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
15824         * gtk/gtknotebook.c: ::homogeneous
15825         * gtk/gtklabel.c: ::wrap
15826         * gtk/gtklist.c: ::selection_mode
15827         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
15828         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
15829         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
15830         * gtk/gtkclist.c: ::sort_type
15831         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
15832         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
15833
15834 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
15835
15836         * gtk/gtkstyle.c: Removed ill-thought-out part of last
15837         comment.
15838
15839 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
15840
15841         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
15842         counting right when we have to attach a new style
15843         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
15844
15845         * gtk/gtkstyle.c: Documented the refcounting
15846         peculularities of gtk_style_attach.
15847
15848 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
15849
15850         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
15851         window types.
15852
15853         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
15854         of GTK_TOPLEVEL for creating the window.
15855
15856 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
15857
15858         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
15859         the last argument (reported by Per Winkvist).
15860         
15861 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
15862
15863         Fixes for invisible XOR lines (Frank Loemker
15864         <floemker@TechFak.Uni-Bielefeld.DE>)
15865         
15866         * gtk/gtkclist.c (gtk_clist_realize): Always use
15867         a non-zero pixel for GDK_XOR.
15868
15869         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
15870         Use GDK_INVERT instead of GDK_XOR.
15871
15872 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
15873
15874         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
15875         signals if h/voffsets differ from adjustment values.
15876         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
15877
15878 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
15879
15880         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
15881         ::selection-done emissions up to the topmost menu shell.
15882
15883 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
15884
15885         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
15886         the user data on the window before destroying it.
15887
15888         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
15889         unrealize handler to take care of destroying 
15890         notebook->panel properly. 
15891         (Bug #1198 - Morten Welinder <terra@diku.dk>)
15892
15893         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
15894         of g_new and g_realloc to stop memory leak. (Actually,
15895         we could just use g_realloc(), but I'm not 100% sure
15896         that is portable).
15897         (Bug #1196 - Morten Welinder <terra@diku.dk>)
15898
15899 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
15900
15901         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
15902
15903         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
15904         for fontsets.
15905
15906         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
15907         with bin/button confusion.
15908
15909 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
15910
15911         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
15912         and show how preselection of radio items is done.
15913
15914 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
15915
15916         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
15917         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
15918         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
15919         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
15920         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
15921         * gtk/gtktable.c (gtk_table_attach): 
15922         * gtk/gtklist.c (gtk_list_insert_items): 
15923         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
15924         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
15925         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
15926         * gtk/gtkbin.c (gtk_bin_add): 
15927         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
15928         * gtk/gtkfixed.c (gtk_fixed_put): 
15929         * gtk/gtklayout.c (gtk_layout_put):
15930         general fixups to container_add logic. always realize child if
15931         child->parent is realized, only map the child and queue a resize
15932         if child and child->parent are both visible.
15933
15934 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
15935
15936         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
15937         instead of gtk_container_foreach to walk and unrealize children, so
15938         composite children get also unrealized.
15939         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
15940         (gtk_widget_map): assert that the widget is visible (basic constrain).
15941         (gtk_widget_real_map): assert that the widget is realized (basic
15942         constrain).
15943
15944 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
15945
15946         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
15947
15948 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
15949
15950         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
15951         file for iso-8859-2 locales.
15952
15953         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
15954
15955 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
15956
15957         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
15958          (Pointed out by andy@rz.uni-karlsruhe.de and others).
15959          Remove some suspicious and useless lines. 
15960
15961 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
15962
15963         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
15964         width,height = 0, 0 to mean - here to edge of window,
15965         instead of -1, -1, since the former is all we support.
15966
15967 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
15968
15969         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
15970         when removing from quit_functions list.
15971
15972 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
15973
15974         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
15975
15976 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
15977
15978         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
15979          When redrawing characters on non-visible entry, use appropriate
15980          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
15981
15982 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
15983
15984         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
15985         from drag coordinates.
15986         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
15987         use drag_dest_cell.
15988
15989         * gtk/gtktree (drag_dest_cell)
15990         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
15991         (Bug #1129)
15992
15993 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
15994
15995         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
15996         translate_* fields.
15997         (gtk_item_factory_finalize): invoke translate_notify independant from
15998         translate_data.
15999         (gtk_item_factory_set_translate_func): likewise.
16000         (gtk_item_factory_destroy): only remove ifactory pointer from those
16001         widgets that belong to us (stupid me).
16002
16003 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
16004
16005         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
16006         rc_style list when lookup succeeeds.
16007
16008 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
16009
16010         * gtk/gtkctree.c (resync_selection): 
16011         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
16012         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
16013         bug.
16014
16015 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
16016
16017         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
16018         Add some missing GDK_THREADS_ENTER()/LEAVE around
16019         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
16020
16021 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
16022
16023         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
16024         rather than emit_by_name.
16025
16026         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
16027         on the widget across multiple signal emissions.
16028         (gtk_editable_delete_text): same here.
16029         (gtk_editable_class_init): set widget_class->activate_signal after
16030         editable_signals[ACTIVATE] has been created.
16031
16032 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
16033
16034         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
16035         position here prematurely -- we might not have the
16036         right ->min_position and ->max_position yet.
16037
16038 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
16039
16040         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
16041         Add error traps so if the other end of the connection
16042         dies, we survive.
16043
16044         * gtk/gtkselection.c (gtk_selection_notify): Clean
16045         up properly when selection property retrieval fails.
16046         
16047         * gtk/gtkselection.c (gtk_selection_request): Correctly
16048         reject SelectionRequest notifies where the handler
16049         returns no data.
16050
16051 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
16052
16053         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
16054         when we've previously highlighted.
16055
16056         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
16057         emit two "drag_leave" signals for Motif drops.
16058
16059         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
16060         back the correct status messages when dropping from
16061         Motif onto a proxy window that is rejecting the
16062         drop.
16063
16064 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
16065
16066         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
16067         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
16068         to compare two argument values. added gtk_arg_to_valueloc() to set a
16069         variable from an arg through its location (pointer).
16070
16071         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
16072         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
16073         as gfloat*, uchars are collected as guchar*, ints are collected as
16074         gint*, etc...
16075
16076 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
16077
16078         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
16079         Include <string.h> instead of <strings.h>.
16080
16081         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
16082         (actually, a lot more duplicate includes occur if
16083          you trace through the sequence of #include's)
16084         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
16085         
16086 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
16087
16088         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
16089         gtk-a-higuti-990322-[0-3]
16090
16091         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
16092         that was causing -DX_LOCALE not to work.
16093
16094         * gtk/gtkrc.c (gtk_rc_init):
16095         X_LOCALE will never have LC_MESSAGES defined
16096
16097 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
16098
16099         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
16100         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
16101
16102         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
16103         left/right as well (gtk-michael-980726-0.patch.gz).
16104
16105         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
16106         for pointer values, use gchar instead of char. fixed uline allocation
16107         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
16108         chunks instead of G_ALLOC_ONLY.
16109         (gtk_label_size_request): always alter requisition as passed and leave
16110         widget->requisition alone.
16111         (gtk_label_set_text): allow NULL strings.
16112         (gtk_label_new): likewise.
16113
16114 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
16115
16116         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
16117
16118 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
16119
16120         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
16121         *and* mapped (i.e. drawable).
16122         (gtk_bin_expose): only send exposes to drawable children.
16123
16124         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
16125         (gtk_box_expose): only send exposes to drawable children.
16126
16127         * gtk/gtkhscale.c (gtk_hscale_draw): 
16128         * gtk/gtkvscale.c (gtk_vscale_draw):
16129         hm, this is an ugly one. we first compute the size of our trough area
16130         here (window relative) and then check intersection with the draw_area
16131         which is parent relative because we're a NO_WINDOW widget, so we need
16132         to offset the trough area by allocation.x and allocation.y before the
16133         check. (this must not be done for the background area though, since
16134         that's already computed parent relative).
16135
16136 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
16137
16138         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
16139         unrealize title buttons.
16140
16141 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
16142
16143         * gtk/gtkclist.c (gtk_clist_column_title_passive)
16144         (gtk_clist_column_title_active): 
16145         only connect/disconnect to GtkWidgetClass::event to block mouse events.
16146
16147         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
16148         zero initialize event, removed superfluous gdk_window_get_pointer call
16149
16150         * gtk/gtklist.c (gtk_list_vertical_timeout)
16151         (gtk_list_horizontal_timeout): removed superfluous
16152         gdk_window_get_pointer call
16153
16154 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
16155
16156         * plugging problems reported by "Bruce Mitchener, Jr."
16157         <bruce@puremagic.com> due to a purify session.
16158
16159         * gtk/gtkstyle.c:
16160         (gtk_style_ref): 
16161         (gtk_style_unref): assert ref_count to be > 0.
16162
16163         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
16164         the requisition.
16165         (gtk_clist_set_shift): likewise.
16166
16167         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
16168         adjustments.
16169
16170         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
16171         event before sending it and set send_event to TRUE (which needs to
16172         be done for *all* synthesized events).
16173         (gtk_list_vertical_timeout): likewise.
16174
16175         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
16176         leaks.
16177
16178         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
16179         to TRUE when synthesizing events.
16180
16181 [ *** end of merges from 1.2 *** ]      
16182         
16183 1999-11-21  Tor Lillqvist  <tml@iki.fi>
16184
16185         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
16186         (or copied from gdkconfig.h.win32 on Win32, sigh).
16187
16188         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
16189
16190         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
16191
16192         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
16193
16194         * gdk/gdkconfig.h.win32: New file.
16195
16196         * gdk/win32/makefile.cygwin: Build just a static archive here.
16197
16198         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
16199         for the DLL from the static archive built above.
16200
16201         * gdk/gdk.def: Moved here from the win32 subdirectory.
16202
16203         * gdk/win32/*: Adapt for the changed private struct organisation.
16204
16205         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
16206
16207 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
16208
16209         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
16210         for wheel mice (buttons 4 and 5).
16211
16212 1999-11-18  Tor Lillqvist  <tml@iki.fi>
16213
16214         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
16215         drawables use just the pixel field in the foreground and
16216         background GdkColor of the GdkGC.
16217
16218         gdk_gc_set_{fore,back}ground() are called in the GIMP with
16219         GdkColors containing uninitialized (red,green,blue) fields, and
16220         just the pixel field filled in, and furthermore in the
16221         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
16222         It thus turns out that we really don't need to have the full
16223         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
16224         it later to have just the pixel values.
16225
16226 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
16227
16228         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
16229
16230 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
16231
16232         * docs/gtkfaq.sgml: threads example from Erik Mouw.
16233         New question on GtkLabel background colors.
16234
16235         * docs/gtk_tut.sgml:
16236           - Correct the example code callback
16237             function definitions.
16238           - Update the gtkdial example code, from Frans van Schaik.
16239           - Update setselection.c to current API.
16240
16241         * examples/Makefile examples/*/*.c: Update to code
16242         listed in tutorial.
16243
16244 1999-11-10  Tor Lillqvist  <tml@iki.fi>
16245
16246         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
16247         subrange table (from the "Developing International Software for
16248         WIndows 95 and Windows NT" book) was missing the Hangul syllable
16249         block... Get the loaded font's charset correctly.
16250
16251         (Note that this, and the other *-win32.c files, still really are
16252         the old ones, the win32 subdirectory is not ready for compilation
16253         yet after the reorg.)
16254
16255 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
16256
16257         * gtk/gtkclist.c: Fix off-by-one bug in parameter
16258         check.
16259
16260 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
16261
16262         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
16263         on results of XQueryDeviceState().
16264
16265 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
16266
16267         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
16268         we need to accesss only ->children. We need an accessor
16269         for the children.
16270
16271         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
16272         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
16273         to get rid of gdkx.h include.
16274         
16275         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
16276         and random references to 'None'.
16277
16278         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
16279         Get rid of unused #include <gdk/gdkx.h>
16280
16281         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
16282         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
16283         gdkconfig.h.
16284
16285 1999-11-08  Tor Lillqvist  <tml@iki.fi>
16286
16287         * gdk/win32/gdkdraw.c
16288         * gdk/win32/gdkfont.c
16289         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
16290         following yesterday's changes. (Unrelated to Owen's reorg.)
16291
16292 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
16293
16294         * gdk/x11/gdkinput-gxi.c: Add missing include,
16295           fix GdkWindowPrivate => GdkDrawablePrivate.
16296
16297         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
16298
16299         * gdk/x11/Makefile.am (xinput_sources): Add missing
16300         backslash to fix building with --with-xinput=none
16301
16302 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
16303
16304         Move all X specific code into the x11/ directory.
16305         Aside from shuffling things around, did the following:
16306
16307        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
16308          gdk_arg_context_* - a simple argument parsing system
16309          in the style of popt.
16310
16311        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
16312          gdk/x11/gdkprivate-x11.h:
16313          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
16314          add ->klass and ->klass_data fields. The klass_data
16315          field points to an auxilliary structure that is
16316          windowing system dependent.
16317
16318        * gdk/gdkfont.c: Make most of the measurement functions
16319          simply wrappers around gdk_text_extents().
16320
16321        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
16322          _gdk_font_strlen() function that hides the weird
16323          behavior in gtk+-1.[02] where a string is interpreted
16324          differently for 8-bit and 16-bit fonts.
16325
16326        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
16327          to store common code for synthesizing double/triple
16328          press events.
16329         
16330        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
16331          Make all the function that modify an existing GC
16332          simply wrappers around gdk_gc_set_values().
16333          
16334        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
16335          for throwing out later.
16336
16337        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
16338          GdkImagePrivate and GdkColormapPrivate to have a
16339          windowing system dependent part (GdkFontPrivateX etc.)
16340          that "derives" from the system-independent part.
16341
16342        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
16343          Got rid of the included-source-files for XInput in
16344          favor of automake conditionals. (Which didn't exist
16345          when XInput support was originally added.)
16346
16347        * gdk/gdkrgb.c: Remove the visual id from the debugging
16348          statements since that is X11 specific; print out
16349          type/depth info instead.
16350          
16351
16352 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
16353
16354         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
16355         loading duplicates of hashed fonts.
16356
16357         * gdk/gdk.c (gdk_keysym_convert_case): rename
16358         gdk_XConvertCase to gdk_keysym_convert_case, allow
16359         results to be NULL in the GTK+ style.
16360
16361         * gdk/gdkcompat.h: Started compatibility header
16362         for renames.
16363
16364 1999-11-07  Tor Lillqvist  <tml@iki.fi>
16365
16366         * gdk/win32/gdkprivate.h: New font private structures, related to
16367         fontsets.
16368
16369         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
16370         gdk_font_list_free(). On X11, will just be wrappers to
16371         XListFonts() and XFreeFontNames(). On Win32, the code previously
16372         in gtkfontsel.c is now here.
16373
16374         New function gdk_font_xlfd_create(). On X11 will get the FONT
16375         property of the font (for GDK_FONT_FONTs), or call
16376         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
16377         builds a XLFD style name from the font information in the LOGFONT
16378         struct(s).
16379
16380         New function gdk_font_xlfd_free(), which correspondingly frees the
16381         string returned by gdk_font_xlfd_create().
16382
16383         Implement fontsets on Win32. Add a function that iterates over a
16384         wide char string and calls a callback function for each substring
16385         of wide chars from the same Unicode subrange (and thus probably
16386         available in the same real font).
16387
16388         Improve the XLFD emulation a bit.
16389
16390         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
16391
16392         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
16393         Beta3, WM_IME_CHAR messages don't seem to contain the composed
16394         multi-byte char as with the Active IMM on Win9x. Oh well, handle
16395         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
16396         ImmGetCompositionStringW() to get the composed Unicode chars.
16397
16398         * gdk/win32/gdkgc.c
16399         * gdk/win32/gdkdraw.c: Changes needed because of the font private
16400         struct changes.
16401
16402         * gdk/win32/gdk.def: Add the new functions.
16403
16404 1999-11-04  Tor Lillqvist  <tml@iki.fi>
16405
16406         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
16407         get the Platform SDK to get <dimm.h>.
16408
16409         * gdk/win32/gdkevents.c: More event handling fixes and
16410         simplification. Never generate motion events with is_hint true. We
16411         used to do that on bogus grounds earlier. Windows sends
16412         WM_MOUSEMOVE messages on button events even if the mouse hasn't
16413         moved, ignore these.
16414
16415         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
16416
16417         * gdk/win32/gdkglobals.c
16418         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
16419         the TrackMouseEvent function, and use it.
16420
16421         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
16422         char before calling WideCharToMultiByte in order to get a string
16423         for the window title.
16424
16425         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
16426
16427         * gdk/win32/gdk.def: Remove obsolete functions.
16428
16429         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
16430         /nodefaultlib and /defaultlib switches.
16431
16432         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
16433
16434 1999-10-31  Tor Lillqvist  <tml@iki.fi>
16435
16436         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
16437         EuroSign).
16438
16439         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
16440         same type as GdkWChar, especially on Win32.
16441
16442         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
16443
16444         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
16445         before passing to Windows GDI for drawing etc. Convert to the
16446         system default codepage before passing to Windows as window
16447         titles.
16448
16449         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
16450         support changing input locale on the fly.
16451
16452         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
16453         on-the-fly changes. Convert incoming characters from the current
16454         codepage to Unicode (and then to a UTF-8 multi-byte string) based
16455         on the current input language. Use keysym<->Unicode mapping tables
16456         and functions borrowed from xterm sources.
16457
16458         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
16459         editions of Win9x, use the ActiveX-based Active IMM (Input Method
16460         Manager) if available. IMEs and the Active IMM are available under
16461         the disguise of Chinese, Korean and Japanese support for IE and
16462         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
16463         support is present in all editions (as long as you install it).
16464
16465         Call DispatchMessage from gdk_events_queue() (and thus
16466         gdk_WindowProc()), instead of duplicating the code in
16467         gdk_WindowProc().
16468
16469         Reworked the grab handling and propagation code, factored out
16470         duplicated code snippets into separate functions. Other cleanups,
16471         too.
16472
16473         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
16474         the <dimm.h> header describing the Active IMM.
16475
16476         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
16477         just do the same as for "single" fonts.
16478
16479         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
16480         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
16481         the new keysyms from gdkkeysyms.h.
16482
16483         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
16484         fontset, so that gtkentry uses wide characters.
16485
16486         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
16487         GTk+'s system directory "gtk+", not "gtk".
16488
16489 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
16490
16491         * docs/gtkfaq.sgml: FAQ update
16492
16493 1999-10-21  Tor Lillqvist  <tml@iki.fi>
16494
16495         * gdk/win32/gdkprivate.h: Add more font private data.
16496
16497         * gdk/win32/gdkfont.c
16498         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
16499         fonts and strings. Now works much better. You still have to
16500         have a correct font selected, though. No fontset emulation yet.
16501
16502 1999-10-19  Tor Lillqvist  <tml@iki.fi>
16503
16504         * gtk/maketypes.awk: Use G_OS_WIN32.
16505
16506         * gtk/gtk.def: Add some missing entry points. Also some non-public
16507         ones, but PyGTK porter claims to need them.
16508
16509         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
16510         built-in type generation.
16511
16512 1999-10-14  Tor Lillqvist  <tml@iki.fi>
16513
16514         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
16515         GDK_FONT_FONT fonts (which is all we have for now, we don't
16516         emulate fontsets). The X11 version uses plain XDrawString in that
16517         case, too. The string passed to gdk_draw_text_wc seems to be in
16518         fact (at least, when used by gtkentry and gtktext) either in a
16519         single-byte charset, or a DBCS. Not Unicode.
16520
16521         This fixes the problem in gtkfontsel, where even if you had
16522         selected a font with a non-Latin1 charset (windows-greek, for
16523         instance), the preview still used Latin-1 glyphs.
16524
16525         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
16526         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
16527         (gdk_font_load): Recognize the demibold etc weights, even if we
16528         don't have the corresponding constants in the headers.
16529         (gdk_font_hash_insert): Use same hash mechanism as in the X11
16530         version. Should save font resources a bit, when we don't have
16531         multiple HFONTs for the same font.
16532
16533         * gdk/win32/gdkprivate.h: Add the names field as in the X11
16534         version.
16535
16536 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
16537
16538         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
16539         X values
16540
16541 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
16542
16543         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
16544         layout support (as mentioned on
16545         http://www.jcinteractive.com/gnome-ui/software/widgets/)
16546
16547 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
16548
16549         * gtk/fnmatch.c
16550         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
16551
16552 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
16553
16554         * configure.in (ALL_LINGUAS): Added Galician (gl)
16555
16556 1999-10-05  Tor Lillqvist  <tml@iki.fi>
16557
16558         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
16559
16560         * gdk/win32/gdkcompat.c: New file, actually provide an
16561         implementation for the deprecated functions. (Just temporarily.)
16562
16563         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
16564
16565         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
16566
16567         * gdk/win32/gdk.def gtk/gtk.def: Updates.
16568
16569 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
16570
16571         * configure.in: Added "uk" to ALL_LINGUAS.
16572         
16573 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
16574
16575         * configure.in: correct checking for BeOS check
16576
16577         * gdk/gdktypes.h
16578         * gtk/fnmatch.c
16579         * gtk/gtkfilesel.c
16580         * gtk/gtkitemfactory.c
16581         * gtk/gtkmain.[ch]
16582         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
16583
16584 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
16585
16586         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
16587         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
16588         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
16589         by Bulgarian). 
16590
16591 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
16592
16593         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
16594         Fix a reference to window_private->destroyed.   
16595
16596         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
16597         (ugly) setting of an internal GdkWindow member to use
16598         a _slightly_ cleaner macro.
16599
16600         * gdk/gdkprivate.h: Split GdkWindowPrivate into
16601         GdkDrawablePrivate and GdkWindowPrivate.
16602         Add extra macros for accessing GDK_DRAWABLE_ components.
16603
16604         * *.[ch]: Massive adjustments for the above, use the
16605         new macros in a lot of places.
16606
16607 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
16608
16609         * gdk/gdktypes.h: Make GdkDrawable the base type,
16610         not GdkWindow.
16611
16612 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
16613
16614         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
16615
16616 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
16617
16618         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
16619
16620 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
16621
16622         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
16623         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
16624
16625         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
16626
16627         * docs/gtk-config.1: Now autogenerated.
16628         * docs/Changes-1.4.txt: started
16629         
16630 1999-10-03  Tor Lillqvist  <tml@iki.fi>
16631
16632         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
16633         to #ifdef also here.
16634
16635         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
16636         Owen did to the X11 backend.
16637
16638         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
16639         ScrollWindowEx when blitting inside a window, it can't be correct
16640         in the general case.
16641
16642         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
16643         WM_GETMINMAXINFO is easier.
16644
16645         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
16646         depth equal to the bitspixel value, not the visual's depth.
16647
16648         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
16649         to 24 even if the bitspixel value is 32.
16650
16651         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
16652         need to check for depth==32 when bpp==32, depth will always be 24.
16653
16654 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
16655
16656         * docs/Changes-1.4.txt: Started
16657         
16658         * gtk/Makefile.am (gdk_headers): Include all the new headers.
16659
16660         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
16661         
16662         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
16663         into C file.
16664         
16665         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
16666         header to gdkinputprivate.h.
16667
16668         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
16669         unused since before 1.2.
16670
16671 1999-09-30  Tor Lillqvist  <tml@iki.fi>
16672
16673         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
16674         expand possible hex escapes in the font family (put there by
16675         logfont_to_xlfd if the font name isn't a legal XLFD font family,
16676         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
16677         On Win32, add hex escapes here, too.
16678
16679 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
16680
16681         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
16682         to #ifdef GDK_WINDOWING_X11.
16683
16684 [ Merges from gtk-1-2 ]
16685
16686 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
16687
16688         * configure.in: fixed "GNU Make" check to pass with new make version
16689         3.77.95.
16690
16691 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
16692
16693         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
16694         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
16695         AM_PATH_GTK() macros don't get confused by the -pre1.
16696
16697 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
16698
16699         * configure.in (REBUILD): Change check for perl5
16700           to check explicitely for v >= 5.002. (5.001
16701           does not work with our scripts.)
16702
16703 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
16704
16705         * configure.in: evaluate $PERL for the perl version check. added
16706         --disable-rebuilds to give the user an option to completely disable
16707         any source autogeneration rules.
16708
16709 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
16710
16711         * configure.in: evaluate $ac_make when checking for GNU Make.
16712
16713 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
16714
16715         * docs/Makefile.am: added generation.txt.
16716
16717         * Makefile.am: require automake 1.4, build README from README.in and
16718         INSTALL from INSTALL.in in dist-hook.
16719         
16720         * README.in:
16721         * INSTALL.in: new files to autogenerate README and INSTALL from.
16722
16723         * configure.in: figure whether we have GNU Make
16724
16725         * docs/generation.txt: minor additions/corrections.
16726
16727 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
16728
16729         * docs/gtkfaq.sgml: FAQ Update
16730
16731 July 30, 1999 Elliot Lee <sopwith@redhat.com>
16732         
16733         * configure.in: Fix autoconf warnings about cross compilation by
16734         trying to provide sane defaults for AC_TRY_RUN.
16735
16736 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
16737
16738         * ltconfig
16739         * ltmain.sh: upgrade to libtool 1.3.3
16740
16741 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
16742
16743         * INSTALL: Indicate that the --with-glib= configure
16744         time flag is unsupported.
16745
16746 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
16747
16748         * docs/generation.txt: Added a file that gives
16749         documenation about the autogeneration process for
16750         various autogenerated files.
16751         
16752 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
16753
16754         * configure.in (LIBS): Look for libgmodule in the
16755         right location.
16756
16757 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
16758
16759         * docs/gtk_tut.sgml: Removed references to
16760         code examples in my directory on gtk.org as
16761         they should all be in the tutorial now.
16762
16763         * docs/gtk_tut.sgml: Added sources for dial-test
16764         and scribble-xinput programs that were previously
16765         missing.
16766
16767 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
16768
16769         * TODO: Added entry about menu keyboard navigation, removed
16770         some finished items.
16771
16772 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
16773
16774         * acinclude.m4: Standardize on func_dgettext
16775         not func_gettext, so that the checks for dgettext
16776         actually are paid attention to.
16777
16778 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
16779
16780         * configure.in (LIBS): Add $INTLLIBS into $LIBS
16781         directly, rather than repeating the checks for
16782         gettext.
16783
16784         * INSTALL: Added information about gettext and
16785         NLS support.
16786
16787         * acinclude.m4 (LIBM): Check for dgettext, not
16788         just gettext. This should hopefully fix things wrt
16789         systems with old versions of GNU gettext installed.
16790
16791 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
16792
16793         * configure.in (LIBS): Look for libgmodule in the
16794         right location.
16795
16796 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
16797
16798         * autogen.sh: add --enable-maintainer-mode
16799
16800         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
16801
16802 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
16803
16804         * docs/gtk-config.1.in:
16805           docs/Makefile.am:
16806           configure.in: gtk-config is now generated.
16807
16808         * docs/gtk-config.1: Removed, now generated.
16809
16810 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
16811
16812         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
16813         handle CreateNotify itself, still put out a debuging message for
16814         --gdk-debug=events. made the ReparentNotify debugging message more
16815         verbose.
16816         wrap xcoords translation for ConfigureEvents into an error trap,
16817         a destroy event may already be pending, and in that case, the
16818         actuall coordinate values are not at all critical.
16819
16820 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
16821
16822         * gdk/gdkcc.c: Stop leaking the color_hash all over
16823         the place. Simplify and improve the logic.
16824
16825 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
16826
16827         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
16828         for prototypes and function implementations consistent (reported
16829         by Tomas Ogren).
16830
16831 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
16832
16833         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
16834         send_event set in debugging output.
16835         (gdk_compress_exposures): default initialize the event so we don't
16836         operate on bogus values (namely send_event).
16837
16838 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
16839
16840         * gdk/gdkwindow.c: When we receive an unexpected
16841         destroy notify on one of our windows, don't just
16842         warn about it, also mark our windows as destroyed.
16843
16844 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
16845
16846         * gdk/gdkfont.c (gdk_font_hash_insert): Add
16847           name => font and name => fontset hashes. The 
16848           name => fontset hash is a _big_ win since we
16849           weren't previously caching fontsets at all and loading
16850           fontsets is expensive. The name => font hash
16851           is less of a win, but it does save us from doing
16852           repeated XQueryFont calls on the same font.
16853
16854         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
16855           list so we can remove font/fontset from hash.
16856
16857 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
16858
16859         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
16860           and slightly confusing test. [ XInternAtom (,,TRUE)
16861           will never return None ].
16862
16863 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
16864
16865         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
16866           gdk/gdkwindow.c (gdk_window_set_hints):
16867
16868         Don't omit setting the properties if flags == 0 -
16869         there may be an existing set of properties there
16870         already. (Very old bug. Would it be better to
16871         delete the property instead?)
16872
16873         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
16874           spelling error in comment.
16875
16876 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
16877
16878         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
16879           to avoid stomping over gdk_error_warnings.
16880
16881         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
16882           as (bits_per_pixel + 7) / 8. This gives the same
16883           result as before for multiples of 8, but actually
16884           a "reasonable" value for 1bit or 4bit displays.
16885
16886 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
16887
16888         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
16889         GNU Make.
16890
16891 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
16892
16893         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
16894         discarding configure events.
16895
16896 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
16897
16898         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
16899         refcount is greater than zero.
16900
16901         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
16902
16903         * gdk/gdkfont.c (gdk_font_unref): Likewise.
16904
16905         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
16906
16907         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
16908
16909 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
16910
16911         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
16912         that format 32 => sizeof(item) == 4. It really is
16913         sizeof(long).
16914
16915 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
16916
16917         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
16918         core dump at all on X IO errors, only core dump
16919         if --enable-debug for X errors.
16920
16921 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
16922
16923         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
16924         unknown window:" message. disabled ConfigureNotify discarding code,
16925         because it led to events being processed out of order.
16926
16927 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
16928
16929         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
16930
16931         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
16932         we export this function, supress error warnings and don't reset the
16933         error code in the first half of this function.
16934
16935         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
16936         code (instead of just -1) so gdk_error_trap_pop() reveals something
16937         actually informative about the error that happened.
16938
16939         * gdk/*.c:
16940         don't rely on gdk_error_code being -1 if an error occoured, but just
16941         gdk_error_code != 0.
16942
16943 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
16944
16945         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
16946         pointer *before* invoking the filter function, so we at least don't
16947         crash if a filter is removed that is currently executed. window filters
16948         *really* need to be made truely reentrant at some point.
16949
16950 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
16951
16952         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
16953         PropertyNotify debug messages.
16954
16955 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
16956         
16957         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
16958         
16959         * gdk/gdkim.c: Fix cut-and-paste errors for 
16960         x/y and PreeditAttributes/StatusAttributes.
16961
16962 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
16963
16964         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
16965         G_MAXINT to 2^16 to alleviate overflow problems in
16966         various window managers.
16967
16968 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
16969
16970         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
16971         for fontsets.
16972
16973 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
16974
16975         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
16976         Initialize size_hints.x and size_hints.y because kwm
16977         brokenly pays attention to them.
16978         (Bug #1181 -  Lars Heete <hel@admin.de>)
16979
16980 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
16981
16982         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
16983         return value of gdk_list_visuals(). 
16984         (Bug #1193 - Morten Welinder <terra@diku.dk>)
16985
16986 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
16987
16988         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
16989         XSetIMValues to (void *) when comparing to NULL, to workaround
16990         the problem of some compilers barfing since older X headers don't
16991         have the prototype for it.
16992
16993 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
16994
16995         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
16996         for pseudocolor where colormap->colors was double
16997         allocated.
16998
16999         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
17000         color value in the hash table with the pixel filled
17001         in so when we do later hash table lookups, the color
17002         value is correct.
17003         
17004 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
17005
17006         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
17007         making the call
17008
17009 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
17010
17011         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
17012         pointed out by Morten Welinder <terra@diku.dk>.
17013
17014 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
17015
17016         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
17017           default filter from the list
17018
17019 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
17020
17021         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
17022           default filter from the list
17023
17024 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
17025
17026         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
17027
17028         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
17029         g_strdup_printf instead of calcing the length separately
17030
17031 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
17032
17033         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
17034         that we don't do in many other places. (Fixing duplicate 
17035         #include of config.h)
17036
17037         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
17038         Otherwise, #ifndef XINPUT_NONE check in the latter
17039         doesn't work. (Bug #546)
17040
17041 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
17042
17043         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
17044         "None" case insensitive.
17045
17046 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
17047
17048         * gdk/gdkselection.c: 
17049         Add error traps so if the other end of the connection
17050         dies, we survive.
17051
17052 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
17053
17054         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
17055         dest_xid field into two fields - one for the window
17056         to send in messages, one to indicate the last looked
17057         up window for caching purposes. This is needed, so
17058         that Leave messages get the correct window.
17059
17060 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
17061
17062         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
17063         Fix warning created by people mucking around
17064         with the gsource API.
17065
17066         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
17067         Change mapping between GIOCondition and GdkInputCondition
17068         to match the way the Linux kernel does it. This should
17069         fix problems where closed pipes were no longer signalling
17070         GDK_INPUT_READ on systems with a native poll().
17071
17072 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
17073
17074         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
17075         explicitly for the string "None" - it is in the XPM
17076         spec and some servers treat unknown colors in odd ways
17077         (like asking the user!)
17078
17079 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
17080
17081         * gdk/gdkevents.c: made "->" into a "." of previous change so
17082         it compiles
17083
17084 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
17085
17086         * gdk/gdkevents.c (gdk_compress_exposures): Set the
17087         window field of the event structure before calling
17088         user filters.
17089
17090 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
17091
17092         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
17093         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
17094
17095 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
17096
17097         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
17098         intermediate text property - prevents major memory
17099         leak when gdk_use_mb.
17100         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
17101
17102 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
17103
17104         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
17105         gtk-a-higuti-990322-[0-3]
17106
17107         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
17108         sizeof(wchar_t) != sizeof (GdkWChar)
17109
17110         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
17111         that was causing -DX_LOCALE not to work.
17112
17113         * gtk/gtkrc.c (gtk_rc_init):
17114         X_LOCALE will never have LC_MESSAGES defined
17115
17116         * gdk/gdk.c (gdk_init_check):
17117         Remove --xim-preedit and --xim-status from argv properly.
17118
17119         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
17120         that the client window is present on the X server
17121         before we pass it to the input method.
17122
17123 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
17124
17125         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
17126         if --display is specified on the command line, than
17127         the drag window will not be created on that display.
17128         
17129 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
17130
17131         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
17132         lookups with only_if_exists == TRUE were inserting
17133         bogus values into the atom cache.
17134
17135 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
17136
17137         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
17138         then reset it to NULL.
17139
17140         * gdk/gdkcolor.c:
17141         (gdk_colors_free): 
17142         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
17143         key for g_hash_table_remove() in both functions, this prevents us
17144         from accessing possibly uninitialized portions of a GdkColor structure
17145         where we are only interested in its pixel value.
17146
17147 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
17148
17149         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
17150         font hash table, if we have a GdkFontPrivate entry for this font
17151         already, simply increment its reference count, provided by Olaf Dietsche
17152         <olaf.dietsche+list.gtk@netcologne.de>.
17153
17154 1999-09-21  Tor Lillqvist  <tml@iki.fi>
17155
17156         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
17157         just to be sure.
17158
17159         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
17160         unused variables, leftovers from the X11 version.
17161
17162         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
17163
17164         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
17165         downcase fields on X11.
17166
17167 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
17168         
17169         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
17170         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
17171
17172 1999-09-17  Tor Lillqvist  <tml@iki.fi>
17173
17174         * gdk/win32/gdk.def: Add gdk_threads_mutex.
17175
17176         * gtk/makefile.msc: Correct path to libintl.
17177
17178         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
17179         use of gint vs. int, and gint vs. gboolean in headers and
17180         definitions. Use GtkType for the *_get_type functions. Note that
17181         these changes preserve binary compatibility.
17182
17183         * gdk/gdk.c
17184         * gdk/win32/gdk.c
17185         * gdk/gdk.h: Fix inconsistencies: gint vs int.
17186
17187         * gtk/gtkmain.c
17188         * gtk/gtkclist.c
17189         * gtk/gtkmenufactory.c
17190         * gtk/gtknotebook.c
17191         * gtk/gtkwidget.c: Fix inconsistencies, also gint
17192         vs. gboolean.
17193
17194         * gtk/gtkcolorsel.[ch]
17195         * gtk/gtkcombo.[ch]
17196         * gtk/gtkdrawingarea.[ch]
17197         * gtk/gtkgamma.[ch]
17198         * gtk/gtkhandlebox.[ch]
17199         * gtk/gtkhpaned.[ch]
17200         * gtk/gtkhruler.[ch]
17201         * gtk/gtkplug.[ch]
17202         * gtk/gtkpreview.[ch]
17203         * gtk/gtkruler.[ch]
17204         * gtk/gtksocket.[ch]
17205         * gtk/gtkstatusbar.[ch]
17206         * gtk/gtktoolbar.[ch]
17207         * gtk/gtkvbbox.[ch]
17208         * gtk/gtkvpaned.[ch]
17209         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
17210         functions.
17211
17212         * gtk/gtkgamma.h: Fix bug, missing () in call of
17213         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
17214
17215 1999-09-14  Tor Lillqvist  <tml@iki.fi>
17216
17217         * gdk/gdkcolor.c (gdk_colormap_new)
17218         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
17219         colormap->colors was allocated twice.
17220
17221         * gdk/win32/gdk.c: Remove some unused stuff.
17222
17223         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
17224         colormap.
17225
17226         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
17227         * gtk/gtklabel.h (gtk_label_get_type)
17228         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
17229         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
17230         in a couple of places, not guint.
17231
17232 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
17233
17234         * configure.in,po/et.po: added Estonian language file
17235
17236 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
17237
17238         * configure.in,po/da.po: added Danish file
17239
17240 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
17241
17242         * docs/gtkfaq.sgml: Minor FAQ Update
17243
17244 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
17245
17246         * docs/gtkfaq.sgml: FAQ update
17247
17248 1999-08-27  Tor Lillqvist  <tml@iki.fi>
17249
17250         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
17251         way to get window contents continually refreshed while resizing. I
17252         didn't like the effects myself, so it's not on by default.
17253
17254         * gdk/win32/gdkprivate.h: New flag variable
17255         gdk_event_func_from_window_proc, FALSE by default.
17256
17257         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
17258         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
17259         are passed --gdk-event-func-from-window-proc.
17260
17261         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
17262         and we have am event_func, call it instead of enqueing the event.
17263
17264 1999-08-23  Tor Lillqvist  <tml@iki.fi>
17265
17266         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
17267         Kelley: Set expose_count in GdkEventExposes correctly.
17268
17269         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
17270         MULTIPLE_WINDOW_CLASSES).
17271
17272         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
17273         for bug in NT, apparently NT *does* draw the end pixel, too, in
17274         LineTo with a one-pixel pen, so we don't have to do it ourselves.
17275
17276 1999-08-21  Tor Lillqvist  <tml@iki.fi>
17277
17278         Improvements by Hans Breuer: 
17279
17280         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
17281
17282         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
17283         CS_?REDRAW flags as they cause lots of (late) redraws when "show
17284         window contents while dragging" is turned on. Allocate at least
17285         one unique class for every GdkWindowType. If support for single
17286         window-specific icons is ever needed (eg. Dialog specific), every
17287         such window should get its own class.
17288
17289 1999-08-19  Tor Lillqvist  <tml@iki.fi>
17290
17291         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
17292         error that caused crashes.
17293
17294 1999-08-17  Tor Lillqvist  <tml@iki.fi>
17295
17296         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
17297         window, use ScrollWindowEx, and call UpdateWindow. This prevents
17298         bugs when for instance part of the window was outside the
17299         display. Thanks to Philippe Colantoni for finding and fixing this.
17300
17301 1999-08-16  Tor Lillqvist  <tml@iki.fi>
17302
17303         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
17304         endpoint calculations which were totally wrong. (A little RTFMing
17305         helps a lot ;-)
17306
17307         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
17308         from a separate directory, not from gettext, because of licensing
17309         issues (we want to use the LGPL version).
17310
17311         * README.win32: Mention the intl from glibc vs from gettext issue.
17312
17313 1999-08-13  Tor Lillqvist  <tml@iki.fi>
17314
17315         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
17316         in the key event handling: Now AltGr chars work again. Also,
17317         now Alt-digits are passed up as well as Control-digits.
17318         Pass keypad plus and minus as normal plus and minus.
17319
17320 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
17321
17322         * docs/gtkfaq.sgml: FAQ Update
17323
17324 1999-07-25  Tor Lillqvist  <tml@iki.fi>
17325
17326         * README.win32
17327         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
17328         the Wintab SDK.
17329
17330         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
17331         OK, but getting closer. Guard against bogus tilt data from Wacom
17332         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
17333         enable easier building without Wintab.
17334
17335         * gdk/win32/gdkinput.h
17336         * gdk/win32/gdkevents.c 
17337         * gdk/win32/gdkwindow.c: Minor changes related related to above.
17338         
17339         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
17340         code. As we have just one visual on Win32, no sense to have it in a
17341         table, and no need for the hash table.
17342
17343         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
17344         better on white background.
17345
17346 1999-07-21  Tor Lillqvist  <tml@iki.fi>
17347
17348         * README.win32: Update gcc build instructions. Mention gettext is
17349         GPL.
17350
17351         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
17352         supported cursor size with GetSystemMetrics.
17353
17354         * gdk/win32/gdkfont.c
17355         * gtk/gtkfontsel.c: Guard against some font weight and charset
17356         symbols being undefined (in mingw32 headers).
17357
17358         * gdk/win32/makefile.cygwin
17359         * gtk/makefile.cygwin
17360         * gtk/gtkthemes.c: No longer need to have differently named
17361         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
17362
17363 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
17364
17365         * docs/gtkfaq.sgml: Long awaited FAQ update.
17366
17367 1999-07-15  Tor Lillqvist  <tml@iki.fi>
17368
17369         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
17370         it. Obscure bit manipulation needed.
17371
17372         * gdk/win32/gdkevents.c: Logging.
17373         
17374         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
17375         style (file name include compiler name) for theme engines.
17376
17377 1999-07-13  Tor Lillqvist  <tml@iki.fi>
17378
17379         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
17380
17381         * gdk/win32/gdkevents.c: Fix long-standing bug in key
17382         events. The key.string wasn't zero-terminated, still we strdup'ed
17383         it in gdk_event_copy(). Synthesize crossing events for button
17384         events before possible propagation.
17385
17386         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
17387
17388         * gdk/win32/makefile.cygwin
17389         * gtk/makefile.cygwin: Use new DLL naming style for the
17390         GCC-compiled ones.
17391
17392         * gdk/win32/makefile.msc
17393         * gtk/makefile.msc: Cosmetics mostly.
17394
17395         * gtk/gtk.def: Add missing entry points.
17396
17397         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
17398
17399 1999-07-09  Tor Lillqvist  <tml@iki.fi>
17400
17401         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
17402         or height is zero. Don't print a warning if Pie or Arc fails, they
17403         always fail (?) for very narrow ellipses.
17404
17405         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
17406         the part or the destination window corresponding to source area
17407         outside of the source drawable's boundary.
17408
17409         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
17410         anything if less than two points.
17411
17412         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
17413         return NULL. Gtk cut-and-paste inside a single program works
17414         better this way. (It always gets the clipboard contents from
17415         Windows, not from its own copy, which is cleared anyway. I can't
17416         say I fully understand what happens... Emulating the X selection
17417         and property stuff is a bit of a mess.)
17418
17419         * gdk/win32/gdkevents.c
17420         * gdk/win32/gdkproperty.c: A bit more verbose logging.
17421
17422         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
17423         that never got deleted). Revamp gdk_region_shrink.
17424
17425         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
17426         after use.
17427
17428         * gtk/gtk.def: Add some missing entry points.
17429
17430         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
17431         component.
17432
17433 1999-07-04  Tor Lillqvist  <tml@iki.fi>
17434
17435         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
17436         Control-digits specially.
17437
17438 1999-07-03  Tor Lillqvist  <tml@iki.fi>
17439
17440         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
17441
17442 1999-06-28  Tor Lillqvist  <tml@iki.fi>
17443
17444         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
17445         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
17446         finding this.)
17447
17448 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
17449
17450         * gtk+.spec.in: Corrected some typos in files section.
17451         
17452 1999-06-15  Tor Lillqvist  <tml@iki.fi>
17453
17454         * README.win32: Mention using GNU gettext.
17455         * config.h.win32: Enable NLS stuff.
17456         * gtk/makefile.msc: Use GNU gettext.
17457         * gdk/win32/gdkdnd.c: Minor header reorg.
17458         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
17459         cosmetics.
17460         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
17461         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
17462
17463 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
17464
17465         * acinclude.m4
17466         * config.guess
17467         * config.status
17468         * ltconfig
17469         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
17470
17471 1999-05-30  Tor Lillqvist  <tml@iki.fi>
17472
17473         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
17474         SafeAdjustWindowRectEx. Don't override all calls to
17475         AdjustWindowRectEx by it, but use it only in two places: When
17476         creating a new top-level window and when moving a top-level
17477         window.
17478
17479         Use screen coordinate rectangle, not client rectangle, in
17480         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
17481         when we try to place a window so that the decoration (mainly,
17482         title bar) isn't visible.
17483
17484         These changes fix the bug that showed up for instance as the
17485         GIMP's saved top-level windows moving right and down (by an amount
17486         equal to the window decoration) for each session. This bug showed
17487         up also in testgtk's "Saved Position".
17488
17489         gdk_window_resize also redone a bit.
17490
17491 1999-05-25  Tor Lillqvist  <tml@iki.fi>
17492
17493         * gtk/testgtkrc: Add (commented out) Windows-style theme
17494         include line.
17495
17496         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
17497
17498 1999-05-18  Tor Lillqvist  <tml@iki.fi>
17499
17500         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
17501         gdkx.h to a gdk subdirectory, so that applications can include
17502         these with <gdk/*.h> without trouble.
17503
17504         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
17505         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
17506         have their bitmap destroyed.
17507
17508         * gdk/win32/gdk.def: Add gdk_root_parent.
17509
17510 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
17511
17512         * configure.in
17513           gtk-config.in
17514           ltconfig
17515           ltmain.sh     
17516           gtk/Makefile.am: changes to compile nicely (with xlib) 
17517           on BeOS
17518
17519 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
17520
17521         * acinclude.m4
17522         * config.guess
17523         * config.sub
17524         * ltconfig
17525         * ltmain.sh: upgrade to libtool 1.3
17526
17527 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
17528
17529         * gtk/gtkclist.c:
17530         * gtk/gtkctree.c: merges from gtk-1-2
17531
17532 1999-04-25  Tor Lillqvist  <tml@iki.fi>
17533
17534         Support added for building using a GNU toolchain on Win32,
17535         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
17536
17537         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
17538         * config.h.win32: Changes for gcc.
17539         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
17540         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
17541         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
17542         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
17543         Protect shl stuff unavaiilable with mingw32 headers.
17544         * gdk/win32/gdkevents.c: Fix typo.
17545         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
17546         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
17547         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
17548         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
17549         the mingw32 headers.
17550         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
17551         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
17552         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
17553         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
17554         Test for NATIVE_WIN32, not _MSC_VER.
17555         * gtk/gtkmain.c: No use warning about developer version on Win32,
17556         there aren't any non-developer versions anyhow.
17557         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
17558         * gtk/makefile.msc: Use pthread from another directory. Minor other
17559         changes. 
17560
17561 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
17562
17563         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
17564           default filter from the list
17565
17566 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
17567
17568         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
17569          when gtk_widget_grab_default() is called for a widget that
17570          is not within a GtkWindow.
17571
17572 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
17573
17574         * docs/gtk_tut.sgml, examples/clist.c: use a
17575           scrolled window in the clist example. Minor
17576           tutorial fixes.
17577
17578 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
17579
17580         * docs/gtk_tut.sgml: Style check from David King
17581           <dking@youvegotmail.net>
17582
17583 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
17584
17585         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
17586         compile with unknown value of GDK_WINDOWING
17587
17588 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
17589
17590         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
17591         after the rule is fired.
17592         (install-exec-local): Install gdkconfig.h only if the contents are
17593         different from the currently installed gdkconfig.h.
17594
17595 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
17596
17597         * gdk/Makefile.am (configexecincludedir): Rename from 
17598         configincludedir so that gdkconfig.h will be installed 
17599         as part of `make install-exec'. 
17600
17601 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
17602
17603         * acinclude.m4
17604         * config.guess
17605         * config.sub
17606         * ltconfig
17607         * ltmain.sh: upgrade to libtool 1.2f
17608
17609         * autogen.sh: libtool is not required to autogen gtk+
17610
17611         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
17612         needed)
17613
17614 1999-03-18  Tor Lillqvist  <tml@iki.fi>
17615
17616         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
17617         declaring gdk variables exported/imported from the DLL. New image
17618         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
17619         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
17620         GDK_DRAG_PROTO_OLE2.
17621
17622         * gdk/gdk.h: Merge in Win32 version: Two new functions,
17623         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
17624         declared only for the Win32 version, but could be in the X11
17625         version as well. (Needed for a Xlib-less gdk_imlib.)
17626         gdk_color_hash should have only one parameter. Declare
17627         gdk_threads_mutex with GDKVAR.
17628         
17629         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
17630         just one parameter.
17631
17632         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
17633         per pixel, not bits.
17634
17635         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
17636         Fetch bpp (which means bits-per-pixel here) from another place on
17637         Win32. Accept also depth==32 (which we might get on Win32) with
17638         bpp==32.
17639
17640         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
17641         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
17642         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
17643         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
17644         in the backend-dependent directory, not in the common gdk
17645         directory.
17646
17647         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
17648         headers.
17649
17650 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
17651
17652         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
17653         want to use the Gtk+ devel version (which is true, and yes - even i am
17654         currently working with the 1.2.x branch). so everyone reading this, you
17655         probably want to issue
17656         cvs checkout -r glib-1-2 glib
17657         and
17658         cvs checkout -r gtk-1-2 gtk+
17659         as your next two comands.
17660
17661 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
17662
17663         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
17664         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
17665
17666         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
17667         file. strongly deprecated the GTK_HAVE_* macros, we provide
17668         GTK_CHECK_VERSION() for people that need to check for certain
17669         Gtk+ versions.
17670
17671         * gtk/gtkcompat.h: removed this from CVS.
17672         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
17673         idea right from the start, it just didn't seem like that back then.
17674
17675 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
17676
17677         * merges from gtk-1-2:
17678
17679 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
17680
17681         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
17682         item factory class has been created.
17683         (gtk_item_factory_parse_rc): likewise.
17684
17685         * gtk/gtkmenu.c:
17686         keep proper references for old_active_menu_item.
17687         (gtk_menu_reparent): unset the usize of the new parent,
17688         so the menu can sanely be size requested and we don't get nasty screen
17689         artefacts upon next reparentation.
17690         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
17691         enter notify. only synthesize enter notifies if the pointer really is
17692         inside the event window.
17693         (gtk_menu_popdown): use gtk_menu_shell_deselect().
17694         (gtk_menu_popup): move the background setting stuff into
17695         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
17696
17697         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
17698         gtk_menu_shell_select_item() to select the new item.
17699         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
17700         do the right thing for deselection as well.
17701
17702 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
17703
17704         * gtk/gtkwidget.[hc]:
17705         (gtk_widget_accelerators_locked): return whether a widget's accelerators
17706         are locked.
17707
17708         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
17709         existing accelerators if the widget's accelerators are locked.
17710
17711 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
17712
17713         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
17714
17715         * gtk/gtkmenu.c: truely forward key press and key release events to
17716         the menu widget from the toplevel or tearoff window. we can't simply
17717         connect to that, we need to stop further processing of the events as
17718         well.
17719
17720 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
17721
17722         * gtk/gtkmenu.c:
17723         (gtk_menu_key_press): pass event->keyval, event->state to
17724         gtk_accelerator_valid, instead of event->keyval twice.
17725         refuse to install single letter accelerators for menus that use
17726         single letter shortcuts.
17727
17728         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
17729         gtk_menu_ensure_uline_accel_group().
17730
17731         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
17732         which will always return an uline accel group, made
17733         gtk_menu_get_uline_accel_group() return NULL if the group isn't
17734         yet created.
17735
17736 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
17737
17738         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
17739
17740         * gtk/gtkclist.c (gtk_clist_column_title_passive):
17741         Leave button sensitive, trap  button_press, button_release,
17742         motion_notify, enter_notify and leave_notify events instead.
17743         (gtk_clist_column_title_active): disconnect event handler.
17744         (gtk_clist_drag_data_get): fixed memory leak. Reported by
17745         Guillaume Laurent <glaurent@worldnet.fr>
17746
17747 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
17748
17749         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
17750         width/height mixups.
17751
17752         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
17753         if needed.
17754
17755 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
17756
17757         * gtk/testgtk.c (create_item_factory): unref the item factory after
17758         window's destruction.
17759
17760         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
17761         count on the menu shell around the menu item's activation, since the
17762         signal emission may cause menu shell destruction.
17763
17764         * gtk/gtkitemfactory.c:
17765         the previous code leaked one accel group per menu. we use
17766         gtk_menu_get_uline_accel_group() now to fix that, and with that
17767         also create the underline accelerator group of the menus only if
17768         required (i.e. an underline accelerator has been specified).
17769         (gtk_item_factory_construct):
17770         (gtk_item_factory_create_item): removed code that would create an
17771         extra accel group for the menu (and leak references).
17772         (gtk_item_factory_create_item): adapted the underline accelerator
17773         installation code to properly feature gtk_menu_get_uline_accel_group().
17774
17775         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
17776         menu->accel_group, this may return NULL if the accelerator group
17777         hasn't been set yet.
17778         added gtk_menu_get_uline_accel_group() to retrive the underline
17779         accelerator group of the menu, this will be created on demand
17780         and proper care is taken about its reference count.
17781
17782         * gtk/gtkitemfactory.h:
17783         * gtk/gtkitemfactory.c:
17784         dumped the approach of keeping a widgets by action list on the
17785         factory since the factory<->widget destroy negotiation didn't work
17786         and would be hard to get going at all. instead we keep a list of
17787         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
17788         persistant throughout a program's life time).
17789         also, i removed the static const gchar *key_* variables, and made
17790         them inline strings (they weren't actually used anyways).
17791         (gtk_item_factory_add_item): update ifactory->items.
17792         (gtk_item_factory_destroy): destroy ifactory->items (and remove
17793         the item factory pointer from the remaining ifactory widgets).
17794         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
17795         list to find the widget.
17796         (gtk_item_factory_get_item): new function that works around
17797         gtk_item_factory_get_widget() limitations, this function will only
17798         return menu items, even for <Branch> entries.
17799
17800 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
17801
17802         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
17803         font hash table, if we have a GdkFontPrivate entry for this font
17804         already, simply increment its reference count, provided by Olaf Dietsche
17805         <olaf.dietsche+list.gtk@netcologne.de>.
17806
17807         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
17808         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
17809
17810 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
17811
17812         * gtk/gtkcontainer.c:
17813         (gtk_container_add_with_args):
17814         (gtk_container_addv):
17815         (gtk_container_add): before adding a child to a conatiner, make sure
17816         it is (default) constructed, this is neccessary because under certain
17817         circumstances the child will get relized and mapped immediatedly, in
17818         which case it has to be constructed already.
17819
17820 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
17821
17822         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
17823         values > 1 as TRUE also.
17824
17825 1999-03-16  Tor Lillqvist  <tml@iki.fi>
17826
17827         * README.win32: New file.
17828                 
17829         * configure.in: Check for lstat.
17830
17831         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
17832         completeness.
17833
17834         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
17835
17836         * gtk/gtk.def: Removed CRs.
17837
17838         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
17839         ..\gdk\win32).
17840
17841         * gdk/win32/makefile.msc: Correct upwards relative paths.
17842         
17843 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
17844
17845         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
17846           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
17847           it was connecting a void function to expose_event and the int
17848           returning function to the draw signal
17849
17850 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
17851
17852         * configure.in:
17853         Use correct path to libgmodule.la when ref'ing uninstalled copy
17854         of glib.  (Already in stable branch, Bug #417)
17855
17856 1999-03-15  Tor Lillqvist  <tml@iki.fi>
17857
17858         Win32 merge and general portability stuff:
17859                 
17860         * acconfig.h,configure.in: Check for <sys/time.h>.
17861
17862         * gdk/win32: New directory (actually, been there for a while).
17863         
17864         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
17865         NATIVE_WIN32, and use these. Always case fold on Win32. No
17866         backslashed escapes on native Win32.
17867
17868         * gtk/{gtk.def,makefile.msc}: New files.
17869
17870         * gtk/Makefile.am: Add above new files.
17871         
17872         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
17873         instead of <strings.h>.
17874
17875         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
17876         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
17877         <unistd.h> appropriately.
17878
17879         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
17880         Use ABS() (from <glib.h>) instead of abs().
17881         
17882         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
17883         of gtk (and thus glib) headers, so that WIN32 will be
17884         defined. With MS C, include <direct.h> for mkdir prototype.
17885
17886         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
17887         some casts, needed by MS C.
17888
17889         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
17890         implemented).
17891
17892         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
17893         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
17894         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
17895
17896         * gtk/gtkmain.h: Mark variables for export/import on Win32.
17897                 
17898         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
17899         the event is not a hint, or its window is not the slider. Needed
17900         on Win32, at least.
17901
17902         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
17903         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
17904         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
17905         a subdirectory of the Windows directory as gtk system
17906         configuration directory.
17907
17908         * gtk/gtkselection.c: No chunks on Win32.
17909
17910         * gtk/gtksocket.c: Not implemented on Win32.
17911
17912         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
17913
17914         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
17915
17916         * gtk/maketypes.awk: Declare variables with a macro that expands to
17917         necessary export/import magic in the case of Win32.
17918                 
17919         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
17920
17921 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
17922
17923         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
17924         since those were meant only for gdki18n.h.  
17925         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
17926         for widechar tests.
17927         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
17928
17929 1999-03-13  Tor Lillqvist  <tml@iki.fi>
17930
17931         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
17932         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
17933
17934         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
17935         installed) to CFLAGS.
17936
17937         * gdk/Makefile.am: Add rules for gdkconfig.h.
17938
17939         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
17940         APIs.
17941
17942         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
17943         gdkx.h anyway when compiling for X11.
17944         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
17945         general): Merge in Win32 version.
17946         
17947         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
17948         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
17949         expansion (if we don't have HAVE_PWD_H), allow for drive
17950         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
17951         included code from Craig Setera's port to Win32 (the one that uses
17952         X11, and the cygwin dll), even if it probably will be abandoned.
17953
17954         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
17955         the user entered one herself.  This way one can complete *.h and
17956         don't get matches on any .help files, for instance.
17957         
17958 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
17959
17960         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
17961         font hash table, if we have a GdkFontPrivate entry for this font
17962         already, simply increment its reference count, provided by Olaf Dietsche
17963         <olaf.dietsche+list.gtk@netcologne.de>.
17964
17965         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
17966         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
17967
17968 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
17969
17970         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
17971         the number of calls to gdk_draw_point() (and thus to X) by
17972         clipping the points by hand.
17973
17974         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
17975         the clip parameter.
17976         (gtk_handle_box_paint): Only paint the handle if the expose area
17977         intersects it.
17978
17979 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
17980
17981         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
17982
17983 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
17984
17985         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
17986         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
17987
17988 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
17989
17990         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
17991          textmode (O_TEXT) for OS/2 version.
17992
17993 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
17994
17995         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
17996         GtkSpinButton, "input" and "output", to make the output more flexible.
17997         The user has to provide a mapping between adjustment->value and the
17998         output string (and vice versa, if the spin button is editable). 
17999         See testgtk for examples.
18000
18001 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
18002
18003         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
18004         new one.
18005         
18006         * configure.in: set gtk+ version to 1.3.0.